1.ChatGLM3更新了什么

(1)模型列表

智谱AI刚刚发布了ChatGLM3,其中ChatGLM3-6B的能力提升如下:

  • 更强大的基础模型: 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上表现更好。
  • 更完整的功能支持:重新设计了Prompt模版格式,支持Function CallCode InterpreterAgent

除了ChatGLM3-6B,还发布了:

  • ChatGLM3-6B-Base:它是ChatGLM3-6B的预训练模型,在10B以下的表现同比更好。
  • ChatGLM3-6B-32K:适用于长文本对话场景。

ChatGLM3发布的模型列表如下:

ModelSeq Length
ChatGLM3-6B8k
ChatGLM3-6B-Base8k
ChatGLM3-6B-32K32k

(2)测评结果

  • 典型数据集测试:在8个中英文典型数据集上,ChatGLM3-6B-Base的性能表现如下:
    • 测试方法:BBH 采用3-shot测试,GSM8K(需要推理)采用0-shot CoT测试、MATH(需要推理)采用0-shot CoT测试,MBPP 采用0-shot生成后运行测例计算 Pass@1 ,其它选择题类型数据集均采用0-shot测试。
ModelGSM8KMATHBBHMMLUC-EvalCMMLUMBPPAGIEval
ChatGLM2-6B-Base32.46.533.747.951.750.0--
Best Baseline52.113.145.060.163.562.247.545.8
ChatGLM3-6B-Base72.325.766.161.469.067.552.453.7
  • 长文本测试:进行人工评估测试,ChatGLM3-6B-32K的性能表现如下。
    • 测试结论:与ChatGLM2相比,效果提升超50%(对论文阅读、文档摘要和财报分析等提升显著)。
    • 测试方法:在LongBench评测集上进行。
Model平均SummarySingle-Doc QAMulti-Doc QACodeFew-shotSynthetic
ChatGLM2-6B-32K41.524.837.634.752.851.347.7
ChatGLM3-6B-32K50.226.645.846.156.261.265

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

image-20231030003623799

  • 激活虚拟环境conda activate ./envs/HCZ_ChatGLM3

image-20231030003931661

4.上传模型及模型容器

  • chatglm3-6b下载地址:https://huggingface.co/THUDM/chatglm3-6b
  • chatglm3-6b容器下载地址:https://github.com/THUDM/ChatGLM3/archive/refs/heads/main.zip
  • 下载完成后,上传到服务器,如下图:

image-20231030071806371

5.安装依赖包

  • 进入容器目录cd /opt/model/THUDM_chatglm3-6b-container
  • 安装依赖包pip install -r requirements.txt

image-20231030071933817

6.构建Restful接口

  • 借鉴ChatGLM2的api.py,具体代码如下:

image-20231030074839307

7.运行ChatGLM3服务

  • 进入容器目录cd /opt/model/THUDM_chatglm3-6b-container
  • 运行服务python api.py

image-20231030075223648

8.测试

  • 向ChatGLM3提问

image-20231030083402685

  • 服务器端运行日志如下

image-20231030083320605

9.小结

  • 本文阐述了ChatGLM3的官宣能力,并演示了如何搭建自己的ChatGLM3。
  • ChatGLM3的新能力有待进一步集成到产品中进行验证。