简介
Vicuna是开源领域最强最著名的大语言模型,是UC伯克利大学的研究人员联合其它几家研究机构共同推出的一系列基于LLaMA微调的大语言模型。它是一个开源聊天机器人,具备增强的数据集和易于使用的可扩展基础设施支持,因为极其良好的表现以及官方提供的匿名评测而广受欢迎。
Vicuna基于LLaMA基础模型进行微调,数据为从ShareGPT.com收集的大约 7 万个用户共享对话。ShareGPT是一个ChatGPT数据共享网站,用户会上传自己觉得有趣的 ChatGPT 回答。
基于LLaMA-1微调的,由于LLaMA-1的限制,Vicuna不可用在商业上;Vicuna1.5系列则是基于LLaMA2微调的,支持免费商用,最高支持16K上下文。
Vicuna 1.5系列包含4个模型,与第一代相同参数的Vicuna 7B(1.5)、Vicuna 13B(1.5)以及在此基础上拓展的支持最高16K上下文输入的Vicuna 7B 16K和Vicuna 13B 16K两个模型。
Vicuna 13b可以直接支持中文。
部署
- 阿里云创建实例
- 初始化环境
apt-get update
apt-get install git-lfs
git init
git lfs install
- 项目下载
git clone https://github.com/lm-sys/FastChat
cd FastChat
pip install –e .
- 模型下载
git clone https://www.modelscope.cn/AI-ModelScope/vicuna-7b.git
- 命令行界面执行
python cli.py --model-path /mnt/workspace/vicuna-7b/
1) 错误:ImportError: Cannot import name ‘LlamaTokenizer’from ‘transformers’
修复:pip install --upgrade transformers
详情如下:
2) 错误:ImportError:LlamaTokenizer requires the SentencePiece library but it was not found in your environment.
修复:pip install SentencePiece
详情如下:
3) 执行命令结果如下:
python cli.py --model-path /mnt/workspace/vicuna-7b/
- Webui执行
如果想要以web UI方式提供服务,则需要配置3个部分:
web servers,用户的交互界面;
model workers,托管模型;
controller,用以协调web server和model worker。
执行过程如下所示:
1) 启动控制器:
python controller.py --host 0.0.0.0
2) 启动model worker:
python model_worker.py --model-path /mnt/workspace/vicuna-7b/ --model-name vicuna-7b --host 0.0.0.0
3) 测试消息:
python test_message.py --model-name vicuna-7b
4) 启动gradio web server:
python gradio_web_server.py --port xxx(如:8506)
5) 浏览器展示: