Bootstrap

悟道·天鹰(Aquila)大语言模型部署

​出于科研原因,最近需要部署一些大语言模型。这次部署的是北京智源人工智能研究院发布的悟道·天鹰(Aquila)大语言模型。

据官方说该模型在技术上继承了 GPT-3、LLaMA 等的架构设计优点,替换了一批更高效的底层算子实现、重新设计实现了中英双语的 tokenizer,升级了 BMTrain 并行训练方法等等。咱也不懂,但是该模型完全开源真的挺香的,那闲话少叙,直接开始部署吧!

一、部署环境

首先是部署环境,我采用的是高校的服务器,配置信息是:

​模型:AquilaChat-7B
​GPU:A800(80GB)
内存:500G
Python版本:3.11.3
CUDA版本:12.0
PyTorch版本:2.0.0

二、下载开源代码和模型

方法一:

这里模型可以直接在命令行里pip下载FlagAI(FlagAI就是悟道的算法工具包)。

pip install flagai

如果下载太慢或者无法下载,那就上清华镜像下载,懂的都懂。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flagai

 如果下载完成,应该会在本地(如果你是在本地部署的话),或者服务器上有一个FlagAI文件夹出现。

 这个时候检查一下,FlagAl/examples/Aquila/Aquila-chat路径下这些文件是不是都在,在的话,恭喜你部署成功!

 

方法二:

如果上述这些文件不在的话也不要担心,咱们还有plan B!

首先命令行克隆FlagAI github仓库(前提是你要事先安装了git工具):

git clone https://github.com/FlagAI-Open/FlagAI.git

 如果你不会克隆也没关系,直接去GitHub下载压缩包解压也可以的,但是要注意,解压路径不要有中文哦!

 

 然后在命令行中进入安装脚本的路径,从源码安装FlagAI:

cd FlagAI 
python setup.py install

等待安装即可。

三、运行模型

首先在命令行中进入到对话模型的路径下:

cd FlagAI/examples/Aquila/Aquila-chat

然后运行脚本文件即可:

python generate_chat.py

上述是单轮对话,如果是多轮对话则运行:

python generate_chat_multiround.py

如果想进行低资源推理(适合配置较低的用户),则运行:

python generate_chat_bminf.py

其实到这里已经可以进行人机对话了,大家按照步骤到这一步应该已经拥有了自己的ChatGPT了。但是我还是做了些个性化的改动。因为我是在服务器上部署的,而且还要做一些测试,所以推理脚本我在jupyter notebook里面重新写了,具体做法是:

第一步:进入FlagAI/examples/Aquila/Aquila-chat路径下:

cd FlagAI/examples/Aquila/Aquila-chat

 第二步:去FlagAI/examples/Aquila/Aquila-chat路径下找到generate_chat.py文件并打开,把代码copy到jupyter notebook中。

第三步:修改第二步代码中的texts后面的文字,改成你要问的问题,可以问很多问题,但是要注意格式为:

texts = ["请问中国的首都为什么是北京","请介绍蔡徐坤",]

四 测试结果

完成上述后,直接运行所有代码块,得到结果:

 可以看到,回答还算不错。

最后,欢迎大家关注微信公众号:图灵智能实验室。不定期更新人工智能前沿算法与应用!

;