模型基础
Vicuna 模型的基石是 Meta 开源的 LLaMA 大羊驼。此系列模型还包括 Alpaca(羊驼)、Alpaca-Lora、Luotuo(骆驼)等轻量级 ChatGPT 模型,它们都以相同的 LLaMA 技术为支撑,并在开源社区中得到广泛的关注。
Vicuna 官网: https://github.com/lm-sys/FastChat
demo 地址: https://chat.Imsys.org/
1.Vicuna-13B:微调之妙
Vicuna-13B 模型通过微调 Q LLaMA 实现了卓越的对话生成性能。参数量为 13B,使其成为一款高性能而又相对轻量级的模型。该模型的独特之处在于,评测环节没有采用传统的“标准化考试”方法,而是让 GPT-4 作为考官,通过对比 Vicuna-13B 和其他基线 Q 模型的答案来进行评估。
快速聊天
|演示| Discord | X|
FastChat是一个开放的平台,用于培训、服务和评估基于大型语言模型的聊天机器人。
FastChat为Chatbot Arena(lmarena.ai)提供支持,为70多个LLM提供超过1000万个聊天请求。
Chatbot Arena已经从并排的LLM战斗中收集了超过150万张人类选票,以编制在线LLM Elo排行榜。
FastChat的核心功能包括:
最先进模型(如Vicuna、MT Bench)的培训和评估代码。
一个具有web UI和OpenAI兼容的RESTful API的分布式多模型服务系统。
新闻资讯
[2024/03] 我们发布了聊天机器人竞技场技术报告。
[2023/09]我们发布了LMSYS-Chat-1M,这是一个大规模的真实LLM对话数据集。阅读报告。
[2023/08]我们发布了基于Llama 2的Vicuna v1.5,其上下文长度为4K和16K。下载权重。
[2023/07]我们发布了聊天机器人竞技场对话,这是一个包含33k个人类偏好对话的数据集。在这里下载。
2.评测结果
Vicuna重量Vicuna基于Llama 2,应在Llama的示范许可下使用。
您可以使用下面的命令开始聊天。它将自动从Hugging Face存储库下载权重。下载的权重存储在用户主文件夹中的.cache文件夹中(例如~/.cache/huggingface/hub/<model_name>)。
在下面的“使用命令行界面进行推理”一节中查看更多命令选项以及如何处理内存不足。
注:16K版本需要>=4.31的变压器
令人惊喜的是,在超过 90% 的问题中,GPT-4 更倾向于选择 Vicuna-13B。这项研究还显示,相较于当前的 SOTA 开源模型,包括 LLaMA 和 Alpaca,Vicuna 在总体评分上达到了 ChatGPT 的 92仅限CPU
这仅在CPU上运行,不需要GPU。Vicuna-7B需要大约30GB的CPU内存,Vicuna-13B需要大约60GB的CPU存储器。
python3-m fastchat.serve.cli——模型路径lmsys/vicuna-7b-v1.5——设备cpu
使用英特尔AI加速器AVX512_BF16/AMX加速CPU推理。
CPU_ISA=amx python3-m fastchat.serve.cli--模型路径lmsys/vicuna-7b-v1.5--设备CPU
金属后端(配备苹果硅或AMD GPU的Mac电脑)
使用--device mps在Mac计算机上启用GPU加速(需要torch>=2.0)。使用--load-8bit打开8位压缩。
python3-m fastchat.serve.cli——模型路径lmsys/vicuna-7b-v1.5——设备mps——load-8bit
Vicuna-7B可以在32GB的M1 Macbook上运行,每秒1-2个字。
英特尔XPU(英特尔数据中心和Arc A系列GPU)
安装PyTorch的英特尔扩展。设置OneAPI环境变量:
来源/opt/intel/oneapi/setvars.sh
使用--device xpu启用xpu/GPU加速。
python3-m fastchat.serve.cli——模型路径lmsys/vicuna-7b-v1.5——设备xpu
Vicuna-7B可以在16GB的Intel Arc A770上运行。
Ascend NPU
安装Ascend PyTorch适配器。设置CANN环境变量:
源代码/usr/local/AAscend/reascent toolkit/set_env.sh
使用--device npu启用npu加速。
python3-m fastchat.serve.cli——模型路径lmsys/vicuna-7b-v1.5——设备npu
Vicuna-7B/13B可以在Ascend NPU上运行。
内存不足
如果内存不足,可以通过在上述命令中添加--load-8bit来启用8位压缩。这可以将内存使用量减少约一半,同时模型质量略有下降。它与CPU、GPU和Metal后端兼容。
具有8位压缩的Vicuna-13B可以在具有16 GB VRAM的单个GPU上运行,如Nvidia RTX 3090、RTX 4080、T4、V100(16GB)或AMD RX 6800 XT。
python3-m fastchat.serve.cli--模型路径lmsys/vicuna-7b-v1.5-load-8bit
除此之外,您还可以在上述命令中添加--cpu卸载,将不适合GPU的权重卸载到cpu内存中。这需要启用8位压缩并安装bitsandbytes包,这仅在linux操作系统上可用。%。
3.开源社区贡献
Vicuna 的官方网站 FastChat 提供了详细的模型信息和文档。同时,你可以在 demo 地址 上体验 Vicuna 的实际应用。这一次 ChatGPT 革新的成功,离不开开源社区的积极参与和贡献。(实验功能:您可以指定--style-rich,以便为某些非ASCII内容启用富文本输出和更好的文本流质量。这在某些终端上可能无法正常工作。)
支持的型号
FastChat支持多种型号,包括LLama 2、Vicuna、Alpaca、Baize、ChatGLM、Dolly、Falcon、FastChat-T5、GPT4ALL、Guanaco、MTP、OpenAssistant、OpenChat、RedPajama、StableLM、WizardLM、xDAN AI等。
请在此处查看支持型号的完整列表和添加新型号的说明。
单GPU
下面的命令需要大约14GB的GPU内存用于Vicuna-7B,28GB的GPU存储器用于Vicuna-13B。如果您没有足够的内存,请参阅下面的“内存不足”部分--模型路径可以是本地文件夹或Hugging Face存储库名称。
python3-mfastchat.serve.cli——模型路径lmsys/vicuna-7b-v1.5
多个GPU
您可以使用模型并行性从同一台机器上的多个GPU聚合GPU内存。
python3-m fastchat.serve.cli--模型路径lmsys/vicuna-7b-v1.5-num gpu 2
提示:有时huggingface/transfers中的“自动”设备映射策略不能完美平衡多个GPU之间的内存分配。您可以使用--max gpu内存来指定每个gpu用于存储模型权重的最大内存。这允许它为激活分配更多内存,因此您可以使用更长的上下文长度或更大的批处理大小。例如,
python3-m fastchat.serve.cli--模型路径lmsys/vicuna-7b-v1.5-num gpu 2--最大gpu内存8Gi
Vicuna 的出现标志着对话生成领域的一次重要进展,为未来的研究和应用提供了有力的支持。让我们期待在这一模型的基础上,对话生成技术迎来更多的创新和突破。