大语言模型-GLM-General Language Model Pretraining

一、背景信息:

GLM是2020-2021年由智谱AI研究并发布的预训练语言模型。

GLM是一种基于自回归空白填充的通用预训练语言模型。

GLM 通过添加二维位置编码允许任意顺序预测空白区域,改进了空白填充预训练,在NLU任务上超越了 BERT 和 T5。

GLM的网络架构使用的是多层Transformer Decoder改的结构。

二、整体结构:

  • Pre-Norm,前归一化:将Layer Normalization步骤放置在各模块之前进行。
  • DeepNorm, 归一化函数的调整:GLM的Layer Normalization使用了DeepNorm方式。
  • RoPE, 位置编码的调整: GLM不再位置向量合成输入向量,而是在每次Attention时进行RoPE的位置向量编码。
  • GLU, FFN层激活函数调整:FFN使用具有GeLU激活的GLU作为激活函数。

三、GLM训练

GLM是一种基于自回归空白填充的通用预训练语言模型。

(1)自回归空白填充

自回归空白填充目标
  1. 给定输入 X = [x1, x2, x3, x3, x5, x6]
  2. 将选择掩码的片段 [x3], [x5, x6] 进行MASK,得到 Part A,表示损坏后的文本( 见图中的(a) )
  3. 将选择掩码的片段抽取出,并且随机排序 / shuffle,得到 Part B,表示被掩盖、需要填充的文本( 见图中的(b) )
  4. 将 PartA 与 PartB 拼接成一个sequence,Part A部分采用双向注意力,PartB部分采样自回归预测。( 见图中的© )

从λ = 3的泊松分布中随机抽取MASK的片段长度。反复采样新的跨度片段长度,直到至少15%的原始令牌被屏蔽。根据经验,我们发现15%的比例对于下游NLU任务的良好表现至关重要

attention mask的设计
  • Part A作为初始输入,其tokens之间应该互相可见,但是不能见到被MASK的(下文即Part B中的tokens)
  • PartB中的tokens肯定是要能看见Part A的tokens的(文本生成需要能看到上文)
  • PartB中应该能见到历史生成的token,但不可见尚未生成的token。
  • 这里其实是组合了双向的attention(Part A)和causal attention(Part B)。

(2)多任务预训练

对词汇级别的短文本区域进行Mask,适合于 NLU 任务; 要达到NLU任务目标的同时具备一定的长文本生成能力,设定了下面两个任务训练目标,来同时优化文本任务与空白填充任务。

• 文档级别。随机抽样一个片段,其长度从原始长度的50%到100%的均匀分布中抽样。该目标旨在进行长文本生成。

• 句子级别。限制掩蔽片段必须是完整的句子。随机抽样多个片段(句子)以覆盖15%的词汇。此目标旨在进行seq2seq任务,其预测通常为完整的句子或段落。

这两个新目标与原始目标相同。唯一的区别在于遮掩片段的数量和长度。

Reference

1、GLM: General Language Model Pretraining with Autoregressive Blank Infilling

相关推荐
Shawn_Shawn3 小时前
mcp学习笔记(一)-mcp核心概念梳理
人工智能·llm·mcp
技术路上的探险家5 小时前
8 卡 V100 服务器:基于 vLLM 的 Qwen 大模型高效部署实战
运维·服务器·语言模型
33三 三like5 小时前
《基于知识图谱和智能推荐的养老志愿服务系统》开发日志
人工智能·知识图谱
芝士爱知识a5 小时前
【工具推荐】2026公考App横向评测:粉笔、华图与智蛙面试App功能对比
人工智能·软件推荐·ai教育·结构化面试·公考app·智蛙面试app·公考上岸
腾讯云开发者6 小时前
港科大熊辉|AI时代的职场新坐标——为什么你应该去“数据稀疏“的地方?
人工智能
工程师老罗7 小时前
YoloV1数据集格式转换,VOC XML→YOLOv1张量
xml·人工智能·yolo
Coder_Boy_7 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
啊森要自信7 小时前
CANN ops-cv:面向计算机视觉的 AI 硬件端高效算子库核心架构与开发逻辑
人工智能·计算机视觉·架构·cann
2401_836235867 小时前
中安未来SDK15:以AI之眼,解锁企业档案的数字化基因
人工智能·科技·深度学习·ocr·生活