1.ChatGLM3更新了什么
(1)模型列表
智谱AI刚刚发布了ChatGLM3,其中ChatGLM3-6B的能力提升如下:
- 更强大的基础模型: 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上表现更好。
- 更完整的功能支持:重新设计了Prompt模版格式,支持
Function Call
、Code Interpreter
、Agent
。
除了ChatGLM3-6B,还发布了:
- ChatGLM3-6B-Base:它是ChatGLM3-6B的预训练模型,在10B以下的表现同比更好。
- ChatGLM3-6B-32K:适用于长文本对话场景。
ChatGLM3发布的模型列表如下:
Model | Seq Length |
---|---|
ChatGLM3-6B | 8k |
ChatGLM3-6B-Base | 8k |
ChatGLM3-6B-32K | 32k |
(2)测评结果
- 典型数据集测试:在8个中英文典型数据集上,ChatGLM3-6B-Base的性能表现如下:
- 测试方法:BBH 采用3-shot测试,GSM8K(需要推理)采用0-shot CoT测试、MATH(需要推理)采用0-shot CoT测试,MBPP 采用0-shot生成后运行测例计算 Pass@1 ,其它选择题类型数据集均采用0-shot测试。
Model | GSM8K | MATH | BBH | MMLU | C-Eval | CMMLU | MBPP | AGIEval |
---|---|---|---|---|---|---|---|---|
ChatGLM2-6B-Base | 32.4 | 6.5 | 33.7 | 47.9 | 51.7 | 50.0 | - | - |
Best Baseline | 52.1 | 13.1 | 45.0 | 60.1 | 63.5 | 62.2 | 47.5 | 45.8 |
ChatGLM3-6B-Base | 72.3 | 25.7 | 66.1 | 61.4 | 69.0 | 67.5 | 52.4 | 53.7 |
- 长文本测试:进行人工评估测试,ChatGLM3-6B-32K的性能表现如下。
- 测试结论:与ChatGLM2相比,效果提升超50%(对论文阅读、文档摘要和财报分析等提升显著)。
- 测试方法:在LongBench评测集上进行。
Model | 平均 | Summary | Single-Doc QA | Multi-Doc QA | Code | Few-shot | Synthetic |
---|---|---|---|---|---|---|---|
ChatGLM2-6B-32K | 41.5 | 24.8 | 37.6 | 34.7 | 52.8 | 51.3 | 47.7 |
ChatGLM3-6B-32K | 50.2 | 26.6 | 45.8 | 46.1 | 56.2 | 61.2 | 65 |
2.准备硬件资源及基础软件
笔者准备的硬件资源及基础软件如下:
- GPU:V100,32G显存,避免OOM问题。
- CUDA:Cuda11.6
- OS:Ubuntu22.04
- Conda:Miniconda3
- Python:Python3.10
- Pytorch:Pytorch3.8
3.创建虚拟环境
- 创建虚拟环境:
conda create -p ./envs/HCZ_ChatGLM2 python=3.10
- 激活虚拟环境:
conda activate ./envs/HCZ_ChatGLM3
4.上传模型及模型容器
- chatglm3-6b下载地址:https://huggingface.co/THUDM/chatglm3-6b
- chatglm3-6b容器下载地址:https://github.com/THUDM/ChatGLM3/archive/refs/heads/main.zip
- 下载完成后,上传到服务器,如下图:
5.安装依赖包
- 进入容器目录:
cd /opt/model/THUDM_chatglm3-6b-container
- 安装依赖包:
pip install -r requirements.txt
6.构建Restful接口
- 借鉴ChatGLM2的
api.py
,具体代码如下:
7.运行ChatGLM3服务
- 进入容器目录:
cd /opt/model/THUDM_chatglm3-6b-container
- 运行服务:
python api.py
8.测试
- 向ChatGLM3提问
- 服务器端运行日志如下:
9.小结
- 本文阐述了ChatGLM3的官宣能力,并演示了如何搭建自己的ChatGLM3。
- ChatGLM3的新能力有待进一步集成到产品中进行验证。