当前位置:网站首页>ICML 2022 | 探索语言模型的最佳架构和训练方法
ICML 2022 | 探索语言模型的最佳架构和训练方法
2022-07-07 01:44:00 【PaperWeekly】
作者 | 朱耀明
单位 | 字节跳动人工智能实验室
研究方向 | 机器翻译
本文介绍两篇发表于 ICML 2022 的论文,研究者都主要来自于 Google。两篇论文都是很实践性的分析论文。和常见的论文在模型做创新不一样,两篇论文都是针对现有 NLP 语言模型的架构和训练方法、探索其在不同场景下的优劣并总结出经验规律。
在这里笔者优先整理一下两篇论文的主要实验结论:
1. 第一篇论文发现了虽然 encoder-decoder 占据了机器翻译的绝对主流,但在模型参数量较大时,合理地设计语言模型 LM 可以使其与传统的 encoder-decoder 架构做机器翻译任务的性能不相上下;且 LM 在 zero-shot 场景下、在小语种机器翻译上性能更好、在大语种机器翻译上也具有 off-target 更少的优点。
2. 第二篇论文发现在不做 finetuning 的情况下,Causal decoder LM 架构+full language modeling 训练在 zero-shot 任务上表现最好;而在有多任务 prompt finetuning 时,则是 encoder-decoder 架构+masked language modeling 训练有最好的 zero-shot 性能。
论文一
第一篇主要探索语言模型在机器翻译任务上传统语言模型(language model)能有多好的表现,是否可以与主流的 encoder-decoder 匹敌。
论文标题:
Examining Scaling and Transfer of Language Model Architectures for Machine Translation
论文链接:
https://arxiv.org/abs/2202.00528
收录会议:
ICML 2022
作者机构:
爱丁堡大学、Google
1.1 引言
作者认为目前 encoder-decoder 架构在机器翻译界占据了绝对的主流,然而大家对更纯粹的语言模型(Language Model)在机器翻译上的研究不多,也很少分析它的性能与优劣。作者探索了多种用于机器翻译的语言模型配置,并做了一个系统性的性能分析。
1.2 方法简介
作者用于机器翻译的 LM 见下图,X 和 Y 分别表示源语言输入和目标语言输入,两者做拼接输入 LM。为了防止翻译时信息泄露,作者将 LM 的原始的注意力掩码调整为 prefix-LM 掩码或 casual-LM 掩码,其中黑色部分为掩码 mask(左上角)。右下角为和主流 encoder-decoder 的掩码对比。
▲ 作者用于翻译的LM。主要做法是源语言+目标语言做拼接,并在Attention上做mask掩码防止信息泄露。
除了两种掩码机制外,作者在还比较了 TopOnly 和 layer-wise [1] 两种表征,其中前者是最常见的只使用神经网络顶层表征来作为输出层的输入,而后者则会对每一层的表征做协调学习 [1]。
作者还比较了 TrgOnly 形式的 LM,这种 LM 的损失函数只建模目标端语种的生成,而不建模源端语言生成。
1.3 实验探索
作者的基线模型使用了类似 Transformer-base 的架构,在 WMT14 英法、英德,WMT19 英中,以及自有英德数据集上做了主实验。作者也探索了加大参数量对 LM 在机器翻译上的影响。
▲ 这里列出本文最重要的实验图:在两个数据集上,各种LM变体以及encoder-decoder的BLEU分数-参数量曲线图。
下面列出作者的主要结论:
1. 在模型参数量较小时,架构对性能的影响最大。此时,具有 inductive biases 的模型翻译质量最好。作者所言的 inductive biases 主要有四类:1)类似 prefix-LM 掩码这种源语言端信息完全可见的;2)使用 TopOnly 做输出层表征而不是用 layer-wise;3)优先使用 Deep LM 而不是 Wide LM;4)Loss 指建模目标端语言生成,而不建模源端语言生成。
2. 不同的模型显示出不同的参数量特性,但这种差距在都使用大规模参数时缩小了。
3. 句子序列长度对LM参数量特征的影响较小。
4. Encoder-decoder 架构在计算效率上(以 FLOPs 衡量)优于所有的 LM 架构(这也侧面说明了为啥前者是机器翻译界的绝对主流)。
作者还在 zero-shot 场景测试了 LM 在机器翻译上的性能,作者发现:
1. PrefixLM 掩码在 zero-shot 场景有较好的表现。CausalLM 掩码不适合 zero-shot 场景。
2. 在低资源语种上,LM 的机器翻译语种迁移性能优于 encoder-decoder 架构。
3. 在大语种翻译的表现上,LM 和 decoder-encoder 架构各有千秋。总体来讲,LM 有更好的 zero-shot 表现,翻译时 off-target(即翻错语种)情况更少。
论文二
第二篇则探索大规模预训练 LM 在 Zero-shot 场景的性能,并讨论用什么架构、什么预训练目标最有效。
论文标题:
What Language Model Architecture and Pretraining Objective Work Best for Zero-Shot Generalization?
论文链接:
https://arxiv.org/abs/2204.05832
代码链接:
https://github.com/bigscience-workshop/architecture-objective
收录会议:
ICML 2022
作者机构:
Google Brain, HuggingFace, LightOn, Allen NLP, LPENS
2.1 研究目的
作者对比了三种架构 (causal decoder-only, non-causal decoder-only, encoder-decoder)、两种预训练目标 (autoregressive、masked language modeling) 训练出来的语言模型在 zero-shot 在 zero-shot NLP 任务上的性能。作者还按照有无 multitask prompted finetuning 步骤把测试也分为了两种场景。
2.2 方法简介
这篇论文的研究方法非常简单,就是把 causal decoder LM, non-causal decoder LM, encoder-decoder 三种基本架构和 full language modeling(即最普通的 LM 训练),masked language modeling(即带 mask 机制的 LM 训练)两种训练方法做排列组合测试性能。
同时,在评测阶段,除了直接测试 zero-shot 性能外,作者还额外测试了加入 multitask prompted finetuning 后,各个模型+训练方式在新任务上的性能。多任务 tune 可以参考这篇论文 (T0) [2]。
▲ 作者三种基本架构的注意力机制图 (attention map)。简言之,causal decoder LM只允许source sentence中每个token对前面token做attention,后两者是双向attention的。
2.3 实验探索
作者的评测任务也是参考了 T0 论文 [2] 和 EleutherAI LM Evaluation Harness [3]。(笔者注:这两个 benchmark 一共给类似 T5 和 GPT-3 这样的大语言模型提供了数百种评测任务)。
评测任务非常多,这里仅说一下作者的结论:
1. 在不做 finetuning 的情况下,Causal decoder LM 架构+full language modeling 训练可以让模型具有最好的 zero-shot 泛化性能。这个结论也和目前 GPT-3 这类模型在 zero-shot NLG 上的惊艳表现一致。
2. 在有 multitask finetuning 的情况下,encoder-decoder 架构+masked language modeling 训练则是具有最好的 zero-shot 泛化性能。作者还发现在单个任务 finetune 表现好的架构往往在 multitask 场景下泛化行也好。
3. 仅使用 decoder 的 LM 在做 adaptation 或者 task transfer 时,比 encoder-decoder 需要的开销更小、即更容易任务迁移。
笔者简评
两篇论文都是实践性质的 emprical study。综合来讲,笔者认为前一篇的启发更大一点,作者说明了模型够大时,仅有 decorder 结构的 LM 也能很好地完成机器翻译任务。此外在 zero-shot 的机器翻译上,LM 表现非常出彩——考虑已经有大量工作证明了 LM 本身就有极高的泛化性,也许 LM 有成为极低资源语种或者小众语种翻译(譬如文言文翻译)主流模型的潜力。总之,LM 在机器翻译领域的上限还待诸君挖掘。
而后一篇则是 Google 大力出奇迹的典型,行文基调更偏向于“即插即用”,可以作为相关的研究者或者工程师按需挑选模型的指导手册。其实也有点好奇 Google 为什么选择在 ICML’22 上发表这篇论文,笔者愚见这篇论文似乎更契合 TACL 或 JAIR 一类的期刊。
参考文献
[1] https://proceedings.neurips.cc/paper/2018/hash/4fb8a7a22a82c80f2c26fe6c1e0dcbb3-Abstract.html
[2] https://arxiv.org/abs/2110.08207
[3] https://github.com/EleutherAI/lm-evaluation-harness
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·
边栏推荐
- [InstallShield] Introduction
- Apple CMS V10 template /mxone Pro adaptive film and television website template
- 你不知道的互联网公司招聘黑话大全
- 解决pod install报错:ffi is an incompatible architecture
- 一段程序让你明白什么静态内部类,局部内部类,匿名内部类
- Array proof during st table preprocessing
- Dc-7 target
- cf:C. Column Swapping【排序 + 模擬】
- 如何在Touch Designer 2022版中设置解决Leap Motion不识别的问题?
- Understand the deserialization principle of fastjson for generics
猜你喜欢
Cf:c. column swapping [sort + simulate]
SubGHz, LoRaWAN, NB-IoT, 物联网
Laravel uses Tencent cloud cos5 full tutorial
How to keep accounts of expenses in life
3428. Put apples
693. 行程排序
Sequential storage of stacks
职场经历反馈给初入职场的程序员
「解析」FocalLoss 解决数据不平衡问题
From "running distractor" to data platform, Master Lu started the road of evolution
随机推荐
JVM命令之- jmap:导出内存映像文件&内存使用情况
693. 行程排序
Cloud acceleration helps you effectively solve attack problems!
基于ADAU1452的DSP及DAC音频失真分析
[InstallShield] Introduction
If you don't know these four caching modes, dare you say you understand caching?
CMD permanently delete specified folders and files
jmeter 函数助手 — — 随机值、随机字符串、 固定值随机提取
Career experience feedback to novice programmers
C语言整理(待更新)
JMeter's own functions are not enough? Why don't you develop one yourself
C note 13
Crudini 配置文件编辑工具
JVM命令之 jstack:打印JVM中线程快照
2022Android面试必备知识点,一文全面总结
云加速,帮助您有效解决攻击问题!
Change the original style of UI components
Three updates to build applications for different types of devices | 2022 i/o key review
Find duplicate email addresses
Swagger3 configuration