Vicuna小羊驼也是大语言模型
Vicuna是什么,以及如何获取与转换权重。
什么是Vicuna
在文章GPT的一生中,我们将大语言模型的一生分为四个阶段:预训练、有监督微调、奖励建模与强化学习。LLaMA为第一阶段预训练模型,而Vicuna为LLaMA经过第二阶段有监督微调后的模型。Vicuna是由UC Berkeley大学主导开发的,精调过程中使用了大量用户分享的ShareGPT对话数据。Vicuna原本是指小羊驼,其体型大约是上一篇文章所讲大羊驼的一半左右。
Vicuna最引人瞩目的无疑是它宣称自己有“ChatGPT 90%的能力”。
... An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality. - by LMSYS
要知道Vicuna最大规模才13B,而GPT-4已然千亿,差了一个数量级。官方提供了代码,权重以及在线demo,地址如下:
- 代码:https://github.com/lm-sys/FastChat
- 权重:https://github.com/lm-sys/FastChat#vicuna-weights
- DEMO:https://chat.lmsys.org/
如何获取权重
Vicuna是基于LLaMA权重实现的,但是受限于LLaMA的授权许可,它以补丁的形式发布了自己的权重,地址如下:
最终的Vicuna权重需要使用官方提供的脚本将LLaMA权重与Vicuna补丁整合在一起。具体步骤如下:
- 获取原始LLaMA权重,并转换为HuggingFace格式。这一步可以参考上一篇文章。
- 获取Vicuna权重补丁。
- 使用官方提供的脚本,将两者合并。
第三步是比较容易出错的地方,这里展开一下。