ChatGLM3介绍
源码连接:
ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:
- 更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,* ChatGLM3-6B-Base 具有在 10B 以下的基础模型中最强的性能*。
- 更完整的功能支持: ChatGLM3-6B 采用了全新设计的 Prompt 格式 ,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。
- 更全面的开源序列: 除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM3-6B-Base 、长文本对话模型 ChatGLM3-6B-32K 和进一步强化了对于长文本理解能力的 ChatGLM3-6B-128K。以上所有权重对学术研究完全开放 ,在填写 问卷 进行登记后亦允许免费商业使用。
ChatGLM3-6B对话模型部署
推荐服务器环境
软件
- pytorch2.1.2
- tensorflow2.14.0
- python310
硬件
- 内存32G以上
- GPU 1*NVIDIA V100
- 显存16G以上(最低)
案例使用Notebook限免GPU环境
拉取github项目源码
#下载项目源码 建议在终端执行
#git clone https://github.com/THUDM/ChatGLM3.git
#若因为网络问题无法连接,建议使用gitee或者下载后上传
下载模型到本地
官网有多个下载地址,考虑网络原因使用modelscope
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
安装依赖
#安装python依赖 建议在终端执行
pip install -r /mnt/workspace/ChatGLM3/requirements.txt#如果报错 执行下面内容 隔离环境 如果无错误跳过环境隔离部分
此处python依赖包版本有问题,可能是安装的包与原环境中的包存在版本冲突。后续运行时会出现报错:“ImportError: cannot import name 'MultiModalData' from 'vllm.sequence' (/usr/local/lib/python3.10/dist-packages/vllm/sequence.py)”
逐一解决比较麻烦,此处是测试直接进行环境隔离(也可以使用conda等方式)
# 环境隔离 终端执行
pip install virtualenv
virtualenv myenv
source myenv/bin/activate再执行pip install -r /mnt/workspace/ChatGLM3/requirements.txt
修改模型路径
使用下载的本地模型路径
将THUDM/chatglm3-6b改为之前下载到本地的模型路径
启动对话程序测试
# 网页端启动
treamlit run /mnt/workspace/ChatGLM3/basic_demo/web_demo_streamlit.py# 其他启动方式也在basic_demo中,可自行选择
总结
以上完成了ChatGLM3-6B本地模型的部署和简单测试。