Loading...

文章背景图

ChatGLM-6B:智谱清华 62 亿参数中英双语开源对话模型|本地部署全指南

2026-11-02
0
- 字
- 分钟
|

ChatGLM-6B · 智谱清华中英双语开源对话模型 · 本地部署与使用全指南

项目仓库: https://github.com/THUDM/ChatGLM-6B

开源协议:MODEL_LICENSE(学术研究完全开放,登记后可免费商用) · 架构:GLM(General Language Model) · 参数:62 亿 · 推理框架:Hugging Face Transformers · 默认 API 端口:8000 · 仓库分支:main


1 项目简介

ChatGLM-6B 是一个开源、支持中英双语的对话语言模型,基于 General Language Model(GLM)架构,具有 62 亿参数。结合模型量化技术,用户可在消费级显卡上本地部署:INT4 量化级别下最低只需 6GB 显存即可推理。官方同时提供基于 P-Tuning v2 的高效参数微调方法。

模型权重对学术研究完全开放,填写问卷登记后亦允许免费商业使用。官方同时提示:请勿将模型及基于其的衍生物用于任何可能危害国家社会的用途,以及未经过安全评估和备案的服务。

1.1 核心信息一览

项目项 内容
项目名称 ChatGLM-6B
仓库地址 github.com/THUDM/ChatGLM-6B
项目定位 中英双语开源对话模型(62 亿参数)
架构 GLM(General Language Model)
开源协议 MODEL_LICENSE(学术开放,登记后免费商用)
推理库 Hugging Face Transformers(推荐 4.27.1,≥4.23.1)
模型权重 Hugging Face Hub THUDM/chatglm-6b
默认 API 端口 8000(api.py)
升级版本 ChatGLM2-6B / GLM-4 系列

1.2 适用场景

  • 想在消费级显卡(6GB 显存)上本地跑一个中英双语对话模型。
  • 需要在自己应用里用 Transformers 加载权重做对话推理。
  • 研究基于 P-Tuning v2 的高效参数微调。

1.3 能力边界(官方口径)

  • 模型实现仍在变动中;固定版本可在 from_pretrained 加 revision="v1.1.0"。
  • 官方明确:未基于 ChatGLM-6B 开发任何网页/安卓/iOS/Windows 应用,使用须遵守安全与备案要求。
  • 更强大的能力见后续的 ChatGLM2-6B 与 GLM-4 系列。

2 功能特性

  • 中英双语对话:基于 GLM 架构,面向中文对话优化。
  • 量化部署:FP16 / INT8 / INT4 量化,最低 6GB 显存可推理。
  • 微调支持:基于 P-Tuning v2 的高效参数微调(INT4 下最低 7GB 显存)。
  • 三种 Demo:网页版(Gradio)、命令行、API(FastAPI)。
  • 本地加载:支持 Git LFS 下载权重后从本地路径加载。

3 官方界面预览

本仓库 README 以文字与代码为主,网页版 Demo 界面运行 web_demo.py 后本地打开为准。

4 官方跳转链接汇总

类别 链接 说明
仓库主页 https://github.com/THUDM/ChatGLM-6B 源码与脚本
模型权重 HuggingFace THUDM/chatglm-6b 模型参数
智谱开放平台 open.bigmodel.cn 更大规模 GLM 商业模型
升级版本 ChatGLM2-6B 升级版本
微调指南 ptuning/README.md P-Tuning v2

5 前置要求与服务器配置

5.1 硬件需求(官方表)

量化等级 最低 GPU 显存(推理) 最低 GPU 显存(微调)
FP16(无量化) 13 GB 14 GB
INT8 8 GB 9 GB
INT4 6 GB 7 GB

5.2 软件前提

  • Python + PyTorch:与 CUDA 匹配。
  • Transformers:推荐 4.27.1,理论上不低于 4.23.1。
  • Git LFS:本地下载模型权重时需要。
  • CPU 量化运行:需安装 gcc 与 openmp(多数 Linux 默认已装;Windows 用 TDM-GCC 勾选 openmp)。

6 方式一:代码调用(官方最小示例)

# 1. 克隆仓库
git clone https://github.com/THUDM/ChatGLM-6B.git
cd ChatGLM-6B

# 2. 安装依赖
pip install -r requirements.txt
>>> from transformers import AutoTokenizer, AutoModel
>>> tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
>>> model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
>>> model = model.eval()
>>> response, history = model.chat(tokenizer, "你好", history=[])

7 方式二:本地加载模型权重

# 安装 Git LFS 后克隆权重
git clone https://huggingface.co/THUDM/chatglm-6b

# 网络较差时跳过 LFS 自动拉取,再手动拉取
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm-6b

8 三种运行入口

# 网页版 Demo(先装 gradio)
pip install gradio
python web_demo.py

# 命令行 Demo
python cli_demo.py

# API 部署(先装 fastapi uvicorn)
pip install fastapi uvicorn
python api.py
# 默认部署在本地 8000 端口,通过 POST 调用

9 配置项说明

配置 位置 说明
trust_remote_code=True from_pretrained 加载仓库自定义模型实现
.half().cuda() 模型加载 FP16 半精度 + GPU
revision="v1.1.0" from_pretrained 固定模型实现版本以保证兼容
API 端口 api.py 默认 8000
量化 加载参数 FP16 / INT8 / INT4

10 常见故障排查

  • 显存不足:改用 INT4 量化(最低 6GB)。
  • 模型下载慢/失败:用 Git LFS 先克隆到本地再从本地路径加载。
  • transformers 版本不兼容:推荐 4.27.1,不低于 4.23.1。
  • CPU 量化运行报错:确认已装 gcc 与 openmp。
  • 模型实现变动:在 from_pretrained 中加 revision="v1.1.0" 锁定版本。

11 风险与合规说明

  • 许可证:学术研究完全开放,商用需登记问卷;衍生物不得用于危害用途与未备案服务。
  • 安全与备案:官方明确提醒用于未经过安全评估和备案的服务属于违规。
  • 升级版本:新项目建议直接评估 ChatGLM2-6B / GLM-4 系列。
  • 非官方声明:本文基于官方仓库 README 整理,参数以仓库 main 分支最新为准。
评论交流

文章目录