首先需要下载git,其中包括git终端和bush脚本环境。
然后搭建conda 虚拟环境,安装对应的Pytorh和CUDA版本,打开git-cmd,输入git clone --filter=blob:none --quiet https://github.com/huggingface/transformers.git ... exit code: 128
获取FastChat,注意Python版本要>=3.8,由于FastChat基于LLaMA做的二次调参训练,所以我们需要先拿到LLaMA模型文件,百度开源百度PaddlePaddle(只找到个7B的模型) https://aistudio.baidu.com/aistudio/datasetdetail/203425/0
下载后,关于解压或是保存文件的路径中 ,请记得不要有中文、特殊符号等
接下来,我们还需要转换一下LLaMA的文件,以便于构建FastChat对应的模型Vicuna(我资源不够,用的7B模型)下载 huggingface/transformers 的源码,访问其GitHub地址
点击绿色的Code按钮,选择Download ZIP,完成代码下载
解压,进入到项目下 $ cd transformers-main
利用 huggingface/transformers 中的代码,完成对于LLaMA的转换,示例$ python src/transformers/models/llama/convert_llama_weights_to_hf.py --input_dir D:/code/model/LLaMA --model_size 7B --output_dir D:/code/model/transformer_model_7b
参数:–input_dir指定的是刚才你下载好的LLaMA文件地址,这个路径下有个tokenizer.model文件,请仔细核对一下
参数:–model_size指定用哪个参数数量级的模型,7B代表的是70亿个参数的那个模型(如果你用的种子链接下载的话,还有13B/30B/65B的模型)
参数:–output_dir是转换后输出的路径,等下要用
生成FastChat对应的模型Vicuna
接下来我们需要生成Vicuna模型,将原始的LLaMA weights合并Vicuna weights
$ python -m fastchat.model.apply_delta --base D:/code/model/transformer_model_7b --target D:/code/model/vicuna-7b --delta lmsys/vicuna-7b-delta-v1.1
delta权重也可以自己重新下载
git clone https://huggingface.co/lmsys/vicuna-7b-delta-v1.1
执行命令 $ python -m fastchat.serve.cli --model-path D:\code\model\vicuna-7b
如果需要Python中调用,(使用OpenAI接口)需要分别开启三个虚拟环境
python -m fastchat.serve.controller
python -m fastchat.serve.model_worker --model-name 'vicuna-7b-v1.1' --model-path E:/Git/vicuna-7b
python -m fastchat.serve.openai_api_server --host localhost --port 8000