一、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模型,需要从开源平台下载两套内容:
ChatGLM3的运行代码
ChatGLM3的模型数据
二、运行环境
系统运行需要GPU,推荐20G以上显存。虽然好像支持CPU运行,但试验过,速度奇慢无比。可以选择英伟达3090显卡,驱动安装会相对容易一些。如果你有一些专业能力,可以实施服务器显卡,比如我用的英伟达 Tesla M40,也有24G显存,价格便宜很多,但是没有显示输出,所以需要双显卡,或者集成显卡。
操作系统ubuntu22
显卡:tesla M40(24G显存)
软件:python 3.10
我没用conda,直接在系统重装的python和virtualenv
安装显卡驱动和CUDA就不细说了。
三、部署运行代码
首先需要下载本仓库:
git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3然后使用 pip 安装依赖:
pip install -r requirements.txt
为了保证
torch的版本正确,请严格按照 官方文档 的说明安装。
四、从本地加载模型
以上代码会由 transformers 自动下载模型实现和参数。完整的模型实现在 Hugging Face Hub 。从Hugging Face下载模型需要科学上网,模型数据大约24G,下载时间会很长,还可能会失败。如果,科学上网,可能是按流量计费的,下载一个24G的模型,真的好肉疼。我的技巧:在HuggingFace上选择文件,将链接复制到迅雷,由迅雷将模型下载到本地,然后从本地加载。虽然很麻烦,但是省钱。
从 Hugging Face Hub 下载模型需要先安装Git LFS ,然后运行
git clone https://huggingface.co/THUDM/chatglm3-6b如果从你从 HuggingFace 下载比较慢,也可以从国内的 ModelScope 中下载。
支持模型:
五、运行Demo
先修改代码:ChatGLM3/basic_demo/web_demo_streamlit.py
MODEL_PATH = os.environ.get('MODEL_PATH', '/data/models/chatglm3-6b')将'MODEL_PATH'设置为自己存放模型的路径。
然后运行:
streamlit run web_demo_streamlit.py
然后就可以浏览器打开这个地址,然后就可以和ChatGML3聊天了。

评论区