技术深度解析
GLM的核心创新在于自回归填空(ABF)训练目标。与独立预测被遮蔽标记(如BERT)或从左到右生成文本(如GPT)不同,GLM从输入中随机采样文本片段,用[MASK]标记替换它们,然后以自回归方式按正确顺序生成被遮蔽的内容。这是通过双流注意力机制实现的:一个内容流看到所有标记(包括被遮蔽的),一个查询流只看到未被遮蔽的标记和被遮蔽标记的位置。模型被训练为在给定未遮蔽上下文的情况下最大化被遮蔽片段的似然。
架构细节:
- 编码器-解码器混合: 输入像BERT一样进行双向编码,但输出像GPT一样进行自回归生成。这不是传统的编码器-解码器(如T5),而是一个具有修改后注意力模式的单一Transformer。
- 片段破坏: GLM使用泊松分布采样片段长度,平均为3个标记。这鼓励模型同时学习局部和长距离依赖。
- 位置编码: 相对位置编码被用于有效处理可变长度片段。
- 参数共享: 相同的Transformer权重用于编码和解码,使模型参数高效。
训练细节(原始GLM论文):
- 335M参数基础模型在80GB文本上训练(英文维基百科、BookCorpus等)。
- 1.3B参数大模型在160GB文本上训练。
- 批量大小:1024,学习率:1e-4,训练200k步。
- 硬件:基础模型使用8块NVIDIA V100 GPU,大模型使用64块V100 GPU。
性能基准测试(原始GLM论文):
| 任务 | 指标 | GLM (335M) | BERT (340M) | GPT-2 (345M) | T5 (220M) |
|---|---|---|---|---|
| SuperGLUE | 平均分 | 79.8 | 80.2 | 72.8 | 80.1 |
| SQuAD 2.0 | F1 | 88.1 | 88.5 | 82.3 | 88.7 |
| CoLA | Matthews相关系数 | 62.3 | 60.5 | 45.7 | 61.8 |
| SST-2 | 准确率 | 94.8 | 94.9 | 93.2 | 95.1 |
数据要点: 尽管GLM是一个以生成为重点的模型,它在理解任务(SuperGLUE、SQuAD)上达到了竞争性表现。它大幅超越GPT-2,并且与BERT和T5的差距在1-2个百分点以内,证明了统一目标的有效性。
推理效率权衡: 由于GLM以自回归方式生成被遮蔽片段,在纯理解任务(如分类)上推理速度比BERT慢。即使对于简单的标签预测,模型也必须生成标记。这是后来ChatGLM变体通过引入专门生成模式部分解决的关键限制。
GitHub仓库: 原始`thudm/glm`仓库(3561颗星)包含PyTorch实现、预训练权重以及用于SuperGLUE、SQuAD和生成任务的微调脚本。它文档齐全,是研究统一语言建模的研究人员的优秀资源。
关键参与者与案例研究
THUDM(清华大学数据挖掘组): 由唐杰教授领导,该团队一直处于中国NLP研究的前沿。GLM是他们2021年发布的第一个主要语言模型。该团队的策略是发布可由社区微调的开源模型,构建强大的开发者生态系统。
ChatGLM系列: 作为GLM的直接后代,ChatGLM-6B(2023年发布)在中国成为病毒式成功的模型,在Hugging Face上获得超过1000万次下载。它使用相同的ABF目标,但进行了显著优化:
- 多查询注意力 以减少内存占用。
- FlashAttention 集成以实现更快的训练。
- 量化支持(INT4/INT8)以在消费级GPU上运行。
- 中英双语训练 在1.4万亿标记上。
与竞争性中文模型的比较:
| 模型 | 参数 | 训练数据 | 开源 | 关键架构 | MMLU(中文) | C-Eval |
|---|---|---|---|---|---|
| ChatGLM-6B | 6B | 1.4T标记 | 是 | GLM (ABF) | 51.2 | 63.5 |
| Baichuan-7B | 7B | 1.2T标记 | 是 | 仅解码器 | 52.8 | 64.2 |
| Qwen-7B | 7B | 2.4T标记 | 是 | 仅解码器 | 54.1 | 65.8 |
| LLaMA-2-7B | 7B | 2.0T标记 | 是 | 仅解码器 | 45.3 (中文) | 56.7 |
数据要点: ChatGLM-6B尽管是此比较中最小的模型,但与更大的中文模型相比毫不逊色。其ABF架构使其在需要理解和生成的任务(如对话、摘要)中具有优势,而仅解码器模型在纯知识基准测试上略胜一筹。
案例研究:中国企业的采用
- 智谱AI(由THUDM成员共同创立)将ChatGLM商业化,推出GLM-130B,一个130B参数的模型,被银行、电信公司和政府机构用于文档分析、客户服务和内容审核。
- 学术研究: 已有超过200篇论文引用了GLM的架构,许多论文提出了变体(例如,GL