超大规模智能模型相关工作总结:编程实现框架、算法模型、微调技术和应用
©PaperWeekly 原创 · 作者 | 金金
单位 | 阿里巴巴研究实习生
研究方向 | 推荐系统
简介
GLM:更通用的预训练模型
现有各种类型的预训练架构,主要存在如下的三种:
自回归模型如 GPT,从左往右学习的模型,在长文本的生成以及少样本学习能力很强(参数量大);缺点就是单向的注意力机制不能完全捕捉 token 的内在联系。 自编码模型如 BERT,双向的 transformer 作为编码器+去噪目标,在语言理解相关的文本表示效果很好。缺点是不能直接用于文本生成。
编码解码模型如 T5,编码器使用双向注意力,解码器使用单向注意力,并且有交叉注意力连接两者,在有条件生成任务中表现良好(文本摘要,回答生成)。
然而,没有一个预训练框架对所有任务都执行得最好,这给模型开发和选择带来了不便。本文 [1] 提出了一个新的预训练框架 GLM(通用语言模型)来解决这个问题。
整体来说与 BERT 相似,但是包含两个修改--重新安排了归一化和残差的顺序,在 largeBERT 模型中有效;替换前馈网络为线性网络。另外,GLM 采用了自回归空白填充,具体来说它清空输入中的多个跨度,为了捕捉跨度之间的内在联系,随机交换跨度的顺序。这里与 spanBERT 的区别是跨度的个数是不知道的;跨度的预测是自回归的。
而 mask 注意力矩阵如上图所示,从矩阵可以很明显看到,在 Part A 部分,采用的是自编码注意力,而在 Part B 部分,采用的是自回归注意力。GLM 的注意力就是这样将 2 部分矩阵进行拼接,形成了即有单向,又有双向的注意力的模型。
在下游任务微调上,将 NLU 中的分类任务定义为空白填充的生成任务。先将某些标签映射为某个词,然后将映射后的词进行 Blank 预测。这种方法不同于之前的预训练方法,预训练与微调的目标的不一致。如此一来,分类和生成都可以变成生成的任务,从而打破了 bert 不知道 mask 数量和位置的问题,并且假设 mask 之间是相关的,这样可以捕捉更多的依赖关系。
具体来说,和已有模型比较如下:
BERT:Bert 属于自编码模型。目标任务是预测 mask,而且 mask 之间是相互独立的,因此,Bert 不能捕捉到 mask 之间的相关性;Bert 只能处理单 token 的 mask,不能处理多个连续的 mask token,即只能预测单个 token。 XLNet:XLNet 属于自回归的模型。需要知道预测 token 的长度;使用双流注意力机制解决了信息泄漏的问题,改变了 transfomer 的结构,增加了耗时;XLNet 决定一个 token 是否被独立预测。 T5:T5 也是处理的 Blank 填充的任务目标,但是 GLM 使用了单个的 transformer 编码器学习单向和双向的注意力。T5 在编码和解码阶段使用不同的位置编码,使用哨兵标记来识别不同的 mask 跨度,哨兵标记造成了模型能力的浪费和预训练微调的不一致性。而 GLM 通过共享参数使参数比编码解码模型更有效。 UniLM:UniLM 是通过在自编码框架下改变在双向,单向,互相之间的 attention mask 来统一预训练目标;但还是不能完全捕捉当前 token 对于前面 token的依赖。微调 GLM,为了保持和预训练的一致性,其采用 mask 的方式做生成任务会比自回归更加低效。比如长度上就多了几个 token。
P-tuning算法:释放语言模型潜能
新兴的 GPT-3 在小样本和零样本学习方面取得了巨大成功。它的成功表明,巨大的单向语言模型与适当的手动提示一起可能有助于自然语言理解。然而,手工制作一个最佳的提示很困难,这通常需要不切实际的大验证集。在许多情况下会过拟合测试集。
此外,很容易创建导致性能大幅下降的对抗性提示。鉴于这些问题,很多的工作集中在自动搜索离散提示上并证明了它们的有效性。然而,由于神经网络本质上是连续的,离散提示可能不是最优的方案。
CogView:文本生成图像的新框架
通用领域中的文本到图像生成长期以来一直是一个未解决的问题,它需要生成模型和跨模态的理解。本文 [3] 提出使用带有 VQ-VAE tokenizer 的 40 亿参数 Transformer:CogView 来解决此问题。对比已有的模型,CogView 有如下特点:
根据 MS COCO 上的 FID 指标来看,CogView 大大优于 DALL-E 和以前的基于 GAN 的方法,并且是第一个开源大型文本到图像转换器。 除了零样本生成之外,本文还进一步研究了对预训练 CogView 进行微调的潜力。CogView 可以适应不同的下游任务,例如风格学习(特定领域的文本到图像)、超分辨率(图像到图像)、图像字幕(图像到文本),甚至文本-图像重新排序。 由于本文简单有效的 PB-relaxation 和 Sandwich-LN,CogView 是第一个几乎用 FP16 训练的大型文本到图像转换器。这些技术可以消除转发中的溢出,稳定训练,并且可以推广到其他 transformers 的训练。
FastMoE:首个支持PyTorch框架的MoE系统
而后进一步将 MoE 应用到了基于 Transformer 的神经机器翻译的任务上。GShard 将 Transformer 中的 Feedforward Network 层替换成了 MoE 层,并且将 MoE 层和数据并行巧妙地结合起来。在数据并行训练时,模型在训练集群中已经被复制了若干份。GShard 通过将每路数据并行的 FFN 看成 MoE 中的一个专家来实现 MoE 层,这样的设计通过在多路数据并行中引入 All-to-All 通信来实现 MoE 的功能。
然而,训练万亿规模的 MoE 需要算法和系统协同设计一个经过良好调整的高性能分布式训练系统。遗憾的是,现有的唯一满足要求的平台强烈依赖于谷歌的硬件(TPU)和软件(Mesh Tensorflow)堆栈,并没有向公众开放,尤其是 GPU 和 PyTorch 社区。
总结
可以看到,超大规模智能模型相关工作目前已经呈现百花齐放的局面,在编程实现框架、算法模型、微调技术以及具体的应用等方面都有了很大的进展,目前智源所发布的悟道模型,也说明了我们国家在这方面的重视和投入。
参考文献
[1] All NLP Tasks Are Generation Tasks: A General Pre-training Framework
[2] GPT Understands, Too
[3] CogView: Mastering Text-to-Image Generation via Transformers
[4] FASTMOE: A FAST MIXTURE-OF-EXPERT TRAINING SYSTEM
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
· 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
· 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
· PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道: