跳转到内容

ChatGLM2-6B — 第二代开源双语对话模型

发布日期: 2023-06-25
来源: GitHub THUDM/ChatGLM2-6B
工程范式: 第二代小模型快速迭代——在保持 6B 规模的同时大幅提升性能。

ChatGLM2-6B 是 ChatGLM-6B 的第二代,保留了 6B 参数量和消费级部署优势,但在架构和性能上做了大幅改进。核心设计理念是 “在固定参数量上最大化性能”:不增加模型规模,而是通过架构优化(Multi-Query Attention、FlashAttention)和训练改进来提升能力。

关键信号:这是一个”小步快跑”的工程策略——每一代都在相同成本约束下追求最大收益。

  • 用 MQA 替代标准多头注意力,大幅减少 KV 缓存大小
  • 推理速度提升 42%
  • 引入 FlashAttention 实现 32K 上下文(从第一代 2K 提升 16 倍)
  • 在不显著增加显存的情况下支持长序列
  • 继续在高质量双语数据上预训练
  • 改进对齐训练流程
基准ChatGLM-6BChatGLM2-6B提升幅度
MMLU基线基线 +23%+23%
GSM8K基线基线 +571%+571%
BBH基线基线 +60%+60%
HumanEval基线显著提升-
  • 上下文从 2K 扩展到 32K
  • 推理速度提升 42%(MQA 贡献)

CodeGeeX2-6B(ChatGLM2 的代码版本)

Section titled “CodeGeeX2-6B(ChatGLM2 的代码版本)”

基于 ChatGLM2-6B 额外训练 600B 代码 tokens 得到 CodeGeeX2-6B:

  • HumanEval-X Pass@1 改进:
    • Python +57%,C++ +71%,Java +54%,JavaScript +83%,Go +56%
维度ChatGLM-6BChatGLM2-6BLLaMA 2 7B
参数6.2B6.2B7B
上下文2K32K4K
AttentionMHAMQA + FlashAttentionGQA
推理加速-+42%有加速
消费级 GPU
  1. MQA 是 6B 级别模型推理成本的”杠杆”——参数量不变,推理速度大幅提升。
  2. FlashAttention 是长上下文的”免费午餐”——ChatGLM2 证明在 6B 模型上也能支持 32K 上下文。
  3. CodeGeeX2 证明代码能力可以通过”基座 + 代码续训”高效获得——从通用模型到代码专家的成本远低于从头训练。
  4. “每代在相同成本下翻倍性能”的产品策略适合快速迭代的工程团队。