一些大语言模型可以下载对应的模型参数后,进行推理和微调。

配置环境

%%capture captured_output
# 实验环境已经预装了mindspore==2.2.14,如需更换mindspore版本,可更改下面mindspore的版本号
!pip uninstall mindspore -y
!pip install -i https://pypi.mirrors.ustc.edu.cn/simple mindspore==2.2.14

!export HF_ENDPOINT=https://hf-mirror.com
!pip install mindnlp
!pip install mdtex2html
!pip install gradio

首先安装mindspore,mindnlp,mdtex2html,gradio库。

配置huggingface的环境变量。由于huggingface.co被墙访问不了,所以设置镜像hf-mirror.com。这样运行代码后,会从镜像下载模型。

from mindnlp.transformers import AutoModelForSeq2SeqLM, AutoTokenizer
import gradio as gr
import mdtex2html

model = AutoModelForSeq2SeqLM.from_pretrained('ZhipuAI/ChatGLM-6B', mirror="modelscope").half()
model.set_train(False)
tokenizer = AutoTokenizer.from_pretrained('ZhipuAI/ChatGLM-6B', mirror="modelscope")

一般这种大语言模型和图像生成模型都有封装好的pipeline和API。

这里直接从modelscope下载ChatGLM-6B模型,采用half的半精度,这种简版的模型权重更小,需要的运行占用内存更少,适合推理。设置推理模型。加载对应的分词器。

估计十几二十几分钟下载好模型的参数。

prompt = '你好'
history = []
response, _ = model.chat(tokenizer, prompt, history=history, max_length=20)
response

然后就可以输入问题进行交互了。history模式里面放置之前的对话,每一个是问答元组。

当然这样有最大长度限制,多的部分后面会被截断。

这就是简易部署大语言模型的方式。一般需要提前下载模型参数。主要考虑下载的速度,存储空间是否足够,显存大小。我是在mindspore上面尝试的。当然如果是使用大语言模型的话,最方便的还是使用在线的大语言模型,比如chatgpt4,通义千问,文心一言,kimi,豆包这些吧。

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐