「标题」:GLM: General Language Model Pretraining with Autoregressive Blank Infilling
「时间」:2022
「被引用次数」:86(截止目前)
1 遇到问题
在目前的预训练架构模型中:
自编码模型,例如 BERT
自回归模型,例如 GPT
编码器-解码器模型,例如 T5
以上的预训练大模型,没有一个预训练框架能够在自然语言理解(NLU)、无条件生成和条件生成等三个主要类别的所有任务上表现最佳。
「问题来了」,
GLM(General Language Model )模型?
模型是如何设计? Autoregressive Blank Infilling 什么意思 ?
预训练方法是什么?以及微调?
2 前期提要
1)NLP任务
自然语言处理(NLP)技术通常可以分为两大类,分别是自然语言理解(NLU)和自然语言生成(NLG)。
NLU主要指常见的文本分类、序列标注、信息抽取等任务,
NLG则包括有条件生成和无条件生成,例如机器翻译、对话系统、自动摘要等。
1)NLU
NLU 常见任务有:文本分类、分词、句法分析、信息抽取等
2)有条件生成任务
有条件生成任务有:seq-seq,如翻译任务、对话系统、QA问题
3)无条件生成任务
无条件生成任务(用预训练模型直接生成内容)
2)LLMs框架和
LLMs网络模型架构结构是基于Transformer,可以分为三类:
1)仅编码器
例如:BERT、ALBERT、DeBERTa模型
自编码模型(autoencoding )是通过某个降噪目标(如掩码语言模型)训练的语言编码器。
BERT的训练目标是对文本进行随机掩码,然后预测被掩码的词,BERT的注意力是双向的,可以同时感知上文和下文,因此在自然语言理解任务上表现很好,但是不适合生成任务。
BERT模型擅长自然语言理解任务(NLU),常被用来生成句子的上下文表示。
2)编码器-解码器
例如 :T5、BART模型
网络结构包含一个编码器和一个解码器(encoder-decoder ),即一个完整的Transformer结构。
T5则是接受一段文本,从左到右的生成另一段文本,T5的编码器中的注意力是双向,解码器中的注意力是单向的,因此可同时应用于自然语言理解任务和生成任务。但T5为了达到和RoBERTa和DeBERTa相似的性能,往往需要更多的参数量。
T5模型常用于有条件的生成任务 (conditional generation)。
3)仅解码器
例如:GPT系列(1~4)、LLaMA系列(1~2)
自回归模型(autoregressive )是一个从左到右的语言模型。
GPT的训练目标是从左到右的文本生成,GPT的注意力是单向的,所以无法利用到下文的信息。
GPT常用于无条件生成任务(unconditional generation)。
4)小结
3)数据集
3 解决方案
GLM将NLU任务转换为完形填空问题,可以通过自回归生成的方式来进行回答。
1)网络结构
GLM 模型结构是单个Transformer(即 encoder-decoder ), 看(b)并对架构进行了一些修改:
更换了Layer Normalization和residual connection的顺序,这对于大规模语言模型避免数值错误至关重要(如Megatron-LM中)
用单层线性层来预测输出的token
激活函数用ReLU替换为GELU
不同尺寸的网络结构
期待下一期,我们讲解。
针对人群:
不知道如何「入门算法 「,对于」初学者」这里有完整的学习路径图(历史中「经典」模型文献和论文复现),完成后将成为合格「初级算法工程师」。
不知道「行业解决方案」,对于「算法工程师」这里有具体的行业中落地方案和呈现出商业价值,阅读后提供新的解决方法想法和成为「算法专家」。
蓦然回首,自己从算法(数学)专业学习以及工作已十年有余。
同时希望大家成为算法经历者、分享者和创造者。
入群
领取专属 10元无门槛券
私享最新 技术干货