如何部署Meta开源大模型Llama2
一、申请下载权限
通过Meta AI官网(https://llama.meta.com/llama-downloads/)申请下载权限,注意Country/Region选择这里,可能会影响审查速度吧,我选的United States审查挺快的,几秒钟。
之后邮箱里面会收到邮件,通过这个URL才能下载
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6ff74fffc77d4f42b5fa92e0779ec0b5.png
二、下载模型
1.git clone 仓库URL 本地想保存的地址
git clone https://github.com/facebookresearch/llama
2.运行llama文件夹中的download.sh文件
Win: bash download.sh
Mac: ./download.sh
之后填写刚才邮件里面的URL,选择需要下载的对应模型版本号即可。注意:如果填写完之后出现了403错误的话可以首先尝试重新申请一下URL试试。
如果选择的是7b参数的chat版本,会生成llama-2-7b-chat文件夹里面包含如下三个文件,
可以通过仓库提供的example来测试,命令如下:注意:'ckpt_dir’要和你下载的模型对应,一个测试非chat版本,一个测试chat版本
torchrun --nproc_per_node 1 example_text_completion.py
–ckpt_dir llama-2-7b/
–tokenizer_path tokenizer.model
–max_seq_len 128 --max_batch_size 4
torchrun --nproc_per_node 1 example_chat_completion.py
–ckpt_dir llama-2-7b-chat/
–tokenizer_path tokenizer.model
–max_seq_len 512 --max_batch_size
三、如何转换为Huggingface模型的权重文件
我们在实际预训练、使用模型的时候很有可能通过Huggingface的transformers库来调用(例如,llama-2-7b-chat-hf,后面带-hf就表示Huggingface版本),但是原始的权重文件是无法使用的,我们可以直接在官网下载(https://huggingface.co/meta-llama/Llama-2-7b-chat-hf),但是模型的权重文件特别大而且需要翻墙下载,不太方便,这里我们介绍一种将原始权重文件转换为Huggingface格式的方式,以llama-2-7b-chat为例:
- 将llama文件夹下的tokenizer.model文件复制到llama-2-7b-chat文件夹中
修改llama-2-7b-chat文件夹名为7B
下载权重转换脚本(https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/convert_llama_weights_to_hf.py),最后执行权重转换命令:
python path_to_your_convert_llama_weights_to_hf.py
–input_dir path_to_your_llama
–model_size 7B
–output_dir path_to_your_hf_model_output
其中 path_to_your_convert_llama_weights_to_hf.py为权重转换文件的路径,path_to_your_llama 是整个llama项目的路径,model_size需要根据对应的参数大小进行修改,path_to_your_hf_model_output为参数文件的输出路径。