Vicuna
背景
UC伯克利联手CMU、斯坦福、UCSD和MBZUAI,推出了130亿参数的Vicuna,俗称小羊驼,能够实现ChatGPT 90%的性能。
Vicuna是通过使用从ShareGPT收集到的大约7万个用户共享的对话与公共API来微调一个LLaMA基础模型而创建的
Vicuna的权重只需单个GPU就能跑
项目地址 https://github.com/lm-sys/FastChat
130亿参数,90%匹敌ChatGPT
Vicuna是通过在ShareGPT收集的用户共享对话上对LLaMA进行微调训练而来,训练成本近300美元。
测试过程使用GPT-4作为评判标准,结果显示Vicuna-13B在超过90%的情况下实现了与ChatGPT和Bard相匹敌的能力
训练
Vicuna-13B的训练流程如下:
首先,研究人员从ChatGPT对话分享网站ShareGPT上,收集了大约70K对话。接下来,研究人员优化了Alpaca提供的训练脚本,使模型能够更好地处理多轮对话和长序列。之后利用PyTorch FSDP在8个A100 GPU上进行了一天的训练。
安装
git clone https://github.com/lm-sys/FastChat.git
cd FastChat
pip3 install --upgrade pip # enable PEP 660 support
pip3 install -e .
权重
根据LLaMA模型的许可,权重将以delta的形式发布。只需将其加到原来的LLaMA权重上,就可以获得最终的Vicuna权重。
- 按照huggingface上的说明,获得原始的LLaMA权重
-
通过脚本,自动从团队的Hugging Face账户上下载delta权重
python3 -m fastchat.model.apply_delta \ --base /path/to/llama-13b \ --target /output/path/to/vicuna-13b \ --delta lmsys/vicuna-13b-delta-v0
使用
-
单个GPU
Vicuna-13B需要大约28GB的GPU显存
python3 -m fastchat.serve.cli --model-name /path/to/vicuna/weights
-
仅CPU
如果想在CPU上运行,则需要大约60GB的内存
python3 -m fastchat.serve.cli --model-name /path/to/vicuna/weights --device cpu
-
Web UI
- 启动控制器
python3 -m fastchat.serve.controller
- 启动model worker
python3 -m fastchat.serve.model_worker –model-path /path/to/vicuna/weights
- 发送测试消息
python3 -m fastchat.serve.test_message –model-name vicuna-13b
- 启动gradio网络服务器
python3 -m fastchat.serve.gradio_web_server
现在,你就可以打开浏览器和模型聊天了。
- 启动控制器