AI大模型学习笔记之一
最近,ChatGPT的流行引起了广泛的关注,各种开源模型也层出不穷。在国内,也出现了许多优秀的开源模型。最近,我正在学习如何将这些开源模型本地化部署。
本次学习的主要目标是使用阿里云的qwen进行本地化部署。
Qwen-7B-Cha 是一个基于qwen模型的聊天机器人,可以在https://modelscope.cn/models/qwen/Qwen-7B-Chat/summary找到。
为了进行本地化部署,我使用了以下服务器环境:python3.8、tensorflow和torch 2.0.1。
首先,我通过以下命令安装了所需的依赖项:
pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple
接下来,我安装了阿里云提供的modelscope环境:
pip install modelscope
然后,我从modelscope上克隆了qwen-7b-chat模型的代码库:
git clone https://www.modelscope.cn/qwen/Qwen-7B-Chat.git
现在,我将介绍如何使用这些工具和模型进行本地化部署。首先,我们需要导入所需的模块:
from modelscope import AutoModelForCausalLM, AutoTokenizer
from modelscope import GenerationConfig
AutoTokenizer类可以从预训练模型的名称或路径中自动加载相应的分词器。我们可以使用以下代码加载预训练的分词器:
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen-7B-Chat")
接下来,我们使用AutoModelForCausalLM类来加载预训练的模型。该类可以根据指定的名称或路径加载模型,并支持选择设备映射(CPU或GPU)以及是否信任远程代码。以下是加载模型的示例代码:
model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen-7B-Chat",
device_map="auto",
trust_remote_code=True
)
最后,我们可以使用加载的模型进行聊天交互。以下是一个示例代码片段,演示如何使用模型进行对话:
response, history = model.chat(tokenizer, "你好", history=None)
print(response) # 打印生成的回复内容
参考地址:https://modelscope.cn/models/qwen/Qwen-7B-Chat/summary
https://modelscope.cn/docs/%E7%8E%AF%E5%A2%83%E5%AE%89%E8%A3%85