实现效果和模型相关介绍
**通义千问-7B(Qwen-7B)**是阿里云研发的通义千问大模型系列的70亿参数规模的模型。Qwen-7B是基于Transformer的大语言模型, 在超大规模的预训练数据上进行训练得到。预训练数据类型多样,覆盖广泛,包括大量网络文本、专业书籍、代码等。
本文旨在通过启智平台完成大模型的调用,由于本地环境受限无法运行成功,可以利用启智社区平台白嫖GPU
算力,实现效果代码,代码由github
官方文档获得:
参考链接:github官方文档
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation import GenerationConfig
# 可选的模型包括: "Qwen/Qwen-7B", "Qwen/Qwen-14B"
tokenizer = AutoTokenizer.from_pretrained("/code/qwen", trust_remote_code=True)
# 打开bf16精度,A100、H100、RTX3060、RTX3070等显卡建议启用以节省显存
# model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B", device_map="auto", trust_remote_code=True, bf16=True).eval()
# 打开fp16精度,V100、P100、T4等显卡建议启用以节省显存
# model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B", device_map="auto", trust_remote_code=True, fp16=True).eval()
# 使用CPU进行推理,需要约32GB内存
# model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B", device_map="cpu", trust_remote_code=True).eval()
# 默认使用自动模式,根据设备自动选择精度
model = AutoModelForCausalLM.from_pretrained("/code/qwen", device_map="auto", trust_remote_code=True).eval()
# 可指定不同的生成长度、top_p等相关超参
model.generation_config = GenerationConfig.from_pretrained("/code/qwen", trust_remote_code=True)
inputs = tokenizer('蒙古国的首都是乌兰巴托(Ulaanbaatar)\n冰岛的首都是雷克雅未克(Reykjavik)\n埃塞俄比亚的首都是', return_tensors='pt')
inputs = inputs.to(model.device)
pred = model.generate(**inputs)
print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))
# 蒙古国的首都是乌兰巴托(Ulaanbaatar)\n冰岛的首都是雷克雅未克(Reykjavik)\n埃塞俄比亚的首都是亚的斯亚贝巴(Addis Ababa)...
实现效果如下:
可以看出执行代码之后,输出会根据问题继续续写
在启智社区创建调试任务
登入启智社区AI创作平台
进入启智社区,社区网址如下:OpenI 启智 新一代人工智能开源开放平台,
找到ai创作平台,点击进入AI协作平台,首次登陆需要注册一下。
新建项目
在启智平台右上角找到创建项目
输入项目名称后完成创建
# 新建调试任务
打开新创建的项目,我这里项目名称为11111,点击云脑
在界面里面找到新建调试任务
基本设置如下,镜像我这里选择的是192.168.242.22:443/default-workspace/fccb038c23234b9e80105d4ccd152117/image:fedjudge
点击新建调试任务就能创建,一开始需要点击红色部分,等待状态变成running就可以进入界面了
实现代码
这是点击调试之后进入的界面,界面左侧此时只有一个文件master.zip,记住左边可以显示的文件目录在code下
进入终端输入如下命令
bash
cd code
wget -O qwen7b.zip 'https://s3.openi.org.cn/opendata/attachment/d/6/d6258166-a72b-46d3-8291-0ce2f94a8f86?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=1fa9e58b6899afd26dd3%2F20231025%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20231025T124132Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3D%22Qwen-7B.zip%22&X-Amz-Signature=bedeb772c26057ba98b4268b14ddba49622940ed6c6c381e3e80d719affe98bc'
unzip -d qwen7b qwen7b.zip
模型我这里选择的是qwen7b模型,其他大模型类似,模型网址https://openi.pcl.ac.cn/Learning-Develop-Union/LangChain-ChatGLM-Webui/datasets,模型界面如下:
安心等待片刻,等左边出现文件qwen7b和qwen7b.zip说明下载解压成功
新建一个测试文件,接着打开终端输入如下指令:
bash
cd code
touch text.py
将代码复制到文件中,注意文件的路径为刚刚创建的路径
然后输入代码python text.py
执行文件, 如果遇到报错,输入下面代码
pip install transformers_stream_generator
输入代码后在执行python text.py之后就能实现模型的调用了