侧边栏壁纸
博主头像
望月砂博客博主等级

水至清则无鱼,人至贱则无敌

  • 累计撰写 44 篇文章
  • 累计创建 51 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

本地安装运行ChatGLM3

望月砂
2024-01-26 / 0 评论 / 0 点赞 / 84 阅读 / 10868 字

一、ChatGLM3简介

ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。ChatGLM3-6B 是ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:

  1. 更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,* ChatGLM3-6B-Base 具有在 10B 以下的基础模型中最强的性能*。

  2. 更完整的功能支持: ChatGLM3-6B 采用了全新设计的 Prompt 格式 ,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。

  3. 更全面的开源序列: 除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM3-6B-Base 、长文本对话模型 ChatGLM3-6B-32K。以上所有权重对学术研究完全开放 ,在填写 问卷 进行登记后亦允许免费商业使用

本地运行ChatGLM3模型,需要从开源平台下载两套内容:

  1. ChatGLM3的运行代码

  2. 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聊天了。

0

评论区