1. 背景:
使用 MindSpore 学习神经网络,打卡第 20 天;主要内容也依据 mindspore 的学习记录。
2. ChatGLM-6B 介绍:
MindSpore 的使用 ChatGLM-6B 的对话流
ChatGLM-6B 百度介绍
ChatGLM-6B论文代码笔记 - https://blog.youkuaiyun.com/weixin_46133588/article/details/129975428
3. 具体实现:
mindspore 使用 ChatGLM-6B 实现文本对话问答;
3.1 python 库安装:
%%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
# 该案例在 mindnlp 0.3.1 版本完成适配,如果发现案例跑不通,可以指定mindnlp版本,执行`!pip install mindnlp==0.3.1`
!pip install mindnlp
!pip install mdtex2html
# 配置 HF mirror, 用于下载模型
!export HF_ENDPOINT=https://hf-mirror.com
3.2 下载权重:
- 权重下载:
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")
3.3 模型推理
prompt = '你好'
history = []
response, _ = model.chat(tokenizer, prompt, history=history, max_length=20)
response
4. 相关链接:
- GPT2 论文地址
- https://xihe.mindspore.cn/events/mindspore-training-camp