GLM作为ChatGLM的前期基础论文,值得精读。本文是对GLM论文的精读笔记,希望对大家有帮助。GLM主要思想概述,利用自回归填空的思想,基于transformer的编码器实现了同时在NLU和有无条件生成任务上较好的表现。
基本信息
原文:GLM: General Language Model Pretraining with Autoregressive Blank Infilling ,ACL2022,
论文地址:https://aclanthology.org/2022.acl-long.26.pdf
代码:GitHub - THUDM/GLM: GLM (General Language Model)
目录
背景
时下主流预训练框架分为3种
-
autoencoding自编码模型
-
通过去噪目标学习双向上下文编码器,例如掩码语言模型 (MLM) 。 擅长自然语言理解NLU任务,常用于生成句子的上下文表示,但是不能直接用于文本生成。如情感分类、抽取式问答
-
代表模型如Bert、RoBERTa、ALBERT
-
-
autoregressive自回归模型
-
学习从左到右的语言模型,常用于无条件生成任务(unconditional generation),如语言建模,具体形如给定一段context,让生成其下文
-
代表模型如:GPT、GPT-2、GPT-3
-
-
encoder-decoder模型
-
常用于条件生成任务(conditional generation),比如生成摘要、生成式问答、机器翻译
-
代表模型MASS、BART、PALM
-
自然语言任务三类
-
自然语言理解NLU,包括情感分类、抽取式问答、自然语言推理等
-
无条件生成,如语言建模
-
条件生成(seq2seq),如摘要、生成式问答、机器翻译
Bert、GPT、T5的区别对比
-
BERT的注意力是双向的,可以同时感知上文和下文,因此在自然语言理解任务上表现很好,但是不适合生成任务。训练目标上,BERT的训练目标是对文本进行随机掩码,然后预测被掩码的词。
-
GPT的注意力是单向的,所以无法利用到下文的信息。训练目标上,GPT的训练目标是从左到右的文本生成。
-
T5的编码器中的注意力是双向,解码器中的注意力是单向的,因此可同时应用于自然语言理解任务和生成任务。但T5为了达到和RoBERTa和DeBERTa相似的性能,往往需要更多的参数量。训练目标上,T5则是接受一段文本,从左到右的生成另一段文本。
GLM要做的事情就是用一个模型来同时完成这三种自然处理任务并且具备较好的表现。
GLM架构
主要思路:
利用自回归填空的思想,基于transformer的编码器实现了同时在NLU和有无条件生成任务上较好的表现。处理思路包括:对于输入文本中随机地空白/删除连续的标记跨度,并按照自回归预训练的思想来训练模型来依次重建这些跨度;不同于T5的空白填充,提出了两项改进,包括跨度打乱和2D位置编码(span shuffling and 2D positional encoding),具体为:不同的跨度的顺序是打乱的;2D位置编码包括了token在原始句子中的位置和token在跨度中的位置。

【注】此处虽然论文中有写"single Transformer" ,但经过多方确认用的是Transformer的编码器而不是整个Transformer,详细参考了作者在B站的视频中5min左右的讲解。(论文中3.4 Ablation Study的最后一段也有提及“(1) GLM consists of a single encoder”) .
模型具体处理
自回归空格填充任务

-
文本原始输入: x1, x2,x3,x4,x5,x6
-
随机筛选部分跨度的toke

GLM是一种通用语言模型,它结合了自回归和编码器的特性,通过自回归填空任务实现对NLU和生成任务的处理。模型通过随机打乱和2D位置编码改进了传统的空白填充,能同时处理三种自然语言任务。相比于T5,GLM使用单个编码器并随机化片段顺序,提高了捕获依赖关系的能力。
最低0.47元/天 解锁文章
2220

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



