- GLM paper:https://arxiv.org/pdf/2103.10360.pdf
- chatglm 130B:https://arxiv.org/pdf/2210.02414.pdf
前置知识补充
双流自注意力
Two-stream self-attention mechanism(双流自注意机制)是一种用于自然语言处理任务的注意力机制。它是基于自注意力机制(self-attention)的扩展,通过引入两个独立的注意力流来处理不同类型的信息。
-
在传统的自注意力机制中,输入序列中的每个位置都会计算一个注意力权重,用于对其他位置的信息进行加权聚合。而在双流自注意力机制中,会引入两个注意力流,分别用于处理不同类型的信息。
-
双流自注意力,一个注意力流用于处理位置信息(position-based),另一个注意力流用于处理内容信息(content-based)。位置信息可以帮助模型捕捉序列中的顺序和结构,而内容信息可以帮助模型理解不同位置的语义关联。
- 具体来说,双流自注意力机制会为每个注意力流维护一个独立的注意力矩阵,用于计算注意力权重。然后,通过将两个注意力流的输出进行加权融合,得到最终的注意力表示。
- 通过引入两个注意力流,双流自注意力机制可以更好地捕捉不同类型信息之间的关系,提高模型在语义理解和推理任务中的性能。它在机器翻译、文本分类、问答系统等任务中都有应用,并取得了一定的效果提升。
Transformer修改
-
层归一化是一种归一化技术,用于在网络的每一层对输入进行归一化处理。它可以帮助网络更好地处理梯度消失和梯度爆炸问题,提高模型的训练效果和泛化能力。
-
残差链接是一种跳跃连接技术,通过将输入直接添加到网络的输出中,使得网络可以学习残差信息。这有助于网络更好地传递梯度和学习深层特征,提高模型的训练效果和收敛速度。
在一般情况下,层归一化应该在残差链接之前应用。这是因为层归一化对输入进行归一化处理,而残差链接需要将输入直接添加到网络的输出中。如果将残差链接放在层归一化之前,会导致输入的归一化被破坏,从而影响模型的训练和性能。
- 激活函数的修改:GeLU,SwishGLU
MLM:MaskLM任务具有条件独立性假设,预测每个mask的时候是并行的,没有考虑mask之间的关系
Mask:一个单词一个mask,mask可以知道长度信息
Span:几个单词(或者更多个)一起mask掉,span不知道长度信息
把标签映射成词语,进行分类:
- 标成mask,放在最后一个位置,X和Y可以形成一个流畅的语句,接近于自然语言
模型概述
- Decoder Only(GPT):Decoder单向注意力,擅长生成任务,但没有捕获上下文信息,不擅长NLU任务;核心任务是Next Token Predict(自回归填充)
- Encoder Only(Bert):encoder双向注意力,擅长提取文本表征做NLU任务,但没有Decoder不擅长生成任务;核心任务是MLM
- Encoder-Decoder(T5):Encoder双向注意力,Decoder单向注意力,以上二者的中和,擅长NLU和条件生成任务;核心任务是输入文本,输出文本(mask和非mask互换预测)
- UniLM:


于是GLM打算博采众长,集成上面的三个核心任务,并做出改进:
- span shuffling
- 2D positional encoding
GLM模型基本原理
预训练任务1: Autoregressive Blank Infilling
Mask的token方面:

文章介绍了GLM-130B模型,它结合了双流自注意力机制,优化了Transformer结构,包含深度归一化、GeGLU等技术。模型在预训练任务中引入了新的Mask处理方法,如Spanshuffle和混合目标函数,以增强理解和生成能力。

655

被折叠的 条评论
为什么被折叠?



