机器翻译的无监督学习仅来自生成语言模型!
三个要点
✔️ 从只在单一语言上训练过的语言模型中导出机器翻译功能
✔️ 通过回译产生翻译实例
✔️ 通过放大翻译实例合成数据集
AutoFormer: Searching Transformers for Visual Recognition
written by Jesse Michael Han, Igor Babuschkin, Harrison Edwards, Arvind Neelakantan, Tao Xu, Stanislas Polu, Alex Ray, Pranav Shyam, Aditya Ramesh, Alec Radford, Ilya Sutskever
(Submitted on 11 Oct 2021)
Comments: Published on arxiv.
Subjects: Computation and Language (cs.CL); Artificial Intelligence (cs.AI)
code:![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的 。
简介
无监督的神经机器翻译包括,例如,引导一个弱的翻译模型,然后通过回译放大其翻译能力。在这项工作中,我们进一步简化了现有的无监督的神经机器翻译研究,只使用生成性语言模型。我们表明,只用预先训练好的语言模型,就可以得出最先进的无监督神经机器翻译。
背译
背译被介绍为一种数据增强方法,它通过从目标到源的翻译模型中抽取合成源到目标的数据,在目标方使用单语数据。
在这项研究中,我们将机器翻译看作是一项语言建模任务,我们从一个单一的语言模型中联合训练和取样,用于源-目标和目标-源的翻译。
给定一个L1和L2语言的咬文嚼字<seq1, seq2>,我们将翻译任务表述如下
[L1] <seq1> [[TranslATE]] [L2] <seq2]。
测试时,语言模型的输入为[L1] <seq> [[TRANSLATE]] [L2],候选翻译<sampledSeq>从输出中解析。反向翻译是通过反转seq,和sampledSeq,以及微调bitext〈sampledSeq,seq〉来实现的。请注意,同一语言模型被用于双向翻译。
在前向和后向翻译中使用单一的语言模型,并在每次迭代时在两个方向上共同训练它。有不同的方法来训练一个使用反向翻译的模型。
算法1是使用生成性语言模型pθ的反翻译的实现。
pθ是一个格式化的
([L1] <seq1> [[TranslATE]] [L2]) 从
([L1] <seq1>[[TranslATE]] [L2] <seq2>) 到
假设你已经学会了完成它。
为了完成这种回译,你需要准备这样一个语言模型。在这里,我们使用GPT-3系列的语言模型,在互联网的大型数据集上进行训练。 众所周知,大规模的生成性语言模型具有很强的语境中元学习能力。其中两种特殊情况是:(1)遵循指示和(2)少量的提示。
大规模的语言模型得益于任务中详细的自然语言描述,通过提供上下文中的例子,可以在各种任务(问题回答、推理、翻译)中取得强大的性能。预先训练好的模型的几张照片的翻译能力需要调整为零张照片的格式进行回译,这是一个两步的过程。 首先,从GPT-3中抽出少量的零拍翻译。
给定一个srcLang和tgtLang咬文嚼字<srcSeq, tgtSeq>和一个停止序列<sep>,使用以下格式进行零点提示
<sep> 鉴于<srcLang>中的以下段落:<sep> <srcSeq> <sep>一个好的<tgtLang>翻译是。<sep> <tgtSeq> <sep>。
测试时,取样直到检测到停止序列<seq>,并将<sep>始终设置为/n----n。这种零散的转换被用作少数的提示,通过从一个较小的模型中抽取较大的合成数据集来放大翻译。
然后,通过用比特文本进行微调,我们可以为这项任务建立一个语言模型。
引导法的实施方法如下
1 在大型语料库上对语言模型pθ(⋅)进行生成性预训练
2 对于少量的提示,我们从另一个语言模型q(⋅)中抽取零次的NS合成目标侧转换和NS目标侧转换。
使用源端语料库MS(或目标端语料库MT)从pθ(⋅)中抽取一个CS合成的目标端翻译(或CT合成的源端翻译),并从NS(或NT)中随机抽取k个拍摄实例。
3 (提示,翻译样本) 重新格式化数据并为这些数据微调语言模型pθ(⋅)。
4 反转所有数据,并继续用回译对语言模型pθ(⋅)进行微调(样本翻译,提示)。
为什么要进行扩增和提取?
少量的提示是灵活的,可以用来利用生成模型的能力来完成各种任务,但它的好处对于拥有大量数据的大型模型最为明显。
目前仍不清楚如何以一种既能保留几张照片的能力又能适应零照片格式的方式对语言模型进行迭代微调。几张照片的放大允许无监督地生成引导数据。虽然蒸馏法可以进行迭代反演,但通过鼓励使用较小的模型pθ(),少次采样有可能避免GPT-3本身的少次采样开销。
实验
实验将集中在著名的WMT14英语-法语基准上。
算法1只使用一半的英文文本和一半的法文文本来获得源MS和目标MT。它避免了源和目标的隐性句子级对齐。在反翻译的每个迭代中,我们在任何一个方向上都对100万个翻译进行采样。 除非另有规定,在自举之后,反译重复40次,最后的模型用于衡量BLEU。
为了实现引导,我们有额外的2048个训练实例,从GPT-3中抽取1024个(英语-法语)(或1024个(法语-英语))零拍的翻译,作为少拍的提示。 少拍在扩增过程中,分别采样400万个初始目标侧和源侧的翻译。微调两个正向纪元(蒸馏)和两个反向纪元(初始反向翻译)。
在引导过程中,它从一个单一的模型中取样,训练它来模仿它,然后对它自己的几个镜头的提示生成进行反转换。在这些实验中,Few-shot演示本身是由GPT-3在零点生成的。然后再进行上述的迭代反演程序。这种方法适用于GPT-3系列的125M、350M、760M和1.3B参数模型。
先前的研究表明,英语的预习模型在翻译成英语时比从英语翻译成其他语言时表现得更好。
有趣的是,在只有两个历时的背译和少量的少许提示数据之后,准确率发生了逆转,所有的模型都取得了明显高于(英-法)BLEU的成绩。这表明,这些模型并不缺乏法语知识,而只是出现了偏差,利用回译可以浮现出英语的潜在翻译知识。与此相关的是,来自回译回合的高质量样本导致了高质量的合成咬文,用于训练下一个回译。
最佳模型(用自放大的GPT-3和随后的40轮回译提炼出的1.3B参数模型)的BLEU分数与以前在WMT14英法基准上的无监督神经机器翻译研究进行了比较。
摘要
请注意,反翻译和强化学习一样,只是一种用计算交换数据的方式。这项研究可以被看作是最近的数据驱动的架构工程的一部分。
在这里,特定任务的诱导偏差不是硬编码到模型中,而是被纳入到训练数据中并从训练数据中学习。用语言建模的方式来表述翻译任务表明,编码器-解码器结构所强加的输入-输出的偏差可以用快速的格式来模拟。虽然这项工作只关注机器翻译,但该方法也可以应用于正向和反向方向的序列间任务。
(1) 协作学习只能通过带有自回归解码器的变压器来实现。
(2) 该系统能够处理大规模的生成性预学习和少量的提示。
反向翻译只是反向自我训练,与翻译任务没有根本的联系。 我们建议今后对翻译以外的变压器结构的一般应用进行研究。
与本文相关的类别