前段时间,斯坦福发布了Alpaca,是由Meta的LLaMA 7B微调而来,仅用了52k数据,性能可以与GPT-3.5匹敌。
现在UC伯克利学者联手CMU、斯坦福等,再次推出一个全新模型70亿/130亿参数的Vicuna,俗称「小羊驼」(骆马)。小羊驼号称能达到GPT-4的90%性能,下面来体验一下。
项目地址:
The release repo for “Vicuna: An Open Chatbot Impressing GPT-4”
项目权重采用llama权重+delta权重打patch的方式生成。
获取llama权重
1.下载权重
pip install pyllama -U
python -m llama.download --model_size 7B
python -m llama.download --model_size 13B
该方式支持断点续传。下载没速度后,ctrl+c停掉重新打开。
下载后的文件列表如下(7B大小13G,13B大小25G):
- 权重格式转换
转换脚本如下,
https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/convert_llama_weights_to_hf.py
python convert_llama_weights_to_hf.py --input_dir ./ --model_size 7B --output_dir ./output/7B
python convert_llama_weights_to_hf.py --input_dir ./ --model_size 13B --output_dir ./output/13B
转换后的权重文件列表如下:
获取delta权重
git clone https://huggingface.co/lmsys/vicuna-7b-delta-v0
git clone https://huggingface.co/lmsys/vicuna-13b-delta-v0
如下图,标记带有LFS的,单独点击下箭头下载,并覆盖到vicuna-7b-delta-v0
、vicuna-13b-delta-v0
目录。
huggingface.co/lmsys/vicuna-7b-delta-v0
huggingface.co/lmsys/vicuna-13b-delta-v0
下载好后的权重列表如下:
生成羊驼模型
python3 -m fastchat.model.apply_delta --base ./pyllama_data/output/7B --target vicuna_data/vicuna-7b --delta lmsys/vicuna-7b-delta-v0/
python3 -m fastchat.model.apply_delta --base ./pyllama_data/output/13B --target vicuna_data/vicuna-13b --delta lmsys/vicuna-13b-delta-v0/
7B模型合成需要30G内存,7B模型合成需要60G内存,内存不够的请增加swap大小。
羊驼模型文件列表如下:
羊驼模型测试
python3 -m fastchat.serve.cli --model-name vicuna_data/vicuna-7b
python3 -m fastchat.serve.cli --model-name vicuna_data/vicuna-13b --load-8bit
13B需要28G显存,无法直接使用,可以使用–load-8bit
从图中可以看出羊驼模型对中文支持力度有限。