如果你曾经修过神经机器翻译 (NMT) 的课程,你可能学过该领域的“黄金法则”: 数据为王。要构建一个能够进行英德互译的系统,传统上你需要数百万对高质量、对齐的句子。如果你想要一个多语言模型,你需要覆盖每一个你打算支持的翻译方向的海量数据集。

但在大语言模型 (LLM,如 Llama-2) 时代,这一信条的根基已被动摇。这些模型在预训练期间已经阅读了数 TB 的文本。它们在遇到特定的翻译数据集之前,很可能已经见过了德语、中文和俄语。

这就引出了一个迷人的问题: 如果模型已经懂这些语言,我们真的还需要数百万个样本来教它如何翻译吗?

在一篇题为 “Fine-Tuning Large Language Models to Translate: Will a Touch of Noisy Data in Misaligned Languages Suffice?” (微调大语言模型进行翻译: 在未对齐语言中使用少量噪点数据是否足够?) 的精彩论文中,来自萨尔大学、爱丁堡大学和东方理工高等研究院的研究人员对此进行了深入探究。他们挑战了数据效率的极限,探究 LLM 是否可以仅用极少量的样本,甚至是充满噪点且“未对齐”的数据,就能学会翻译。

他们的发现支持了一个充满争议的理论,即 表面对齐假说 (Superficial Alignment Hypothesis) : 该理论认为模型的核心能力是在预训练期间习得的,而微调仅仅是一个教导模型 如何 与用户交互的表面过程。

在这篇文章中,我们将拆解他们的方法论,分析他们令人惊讶的结果,并探讨这对多语言 AI 的未来意味着什么。

基础: 有监督微调 (SFT)

在深入实验之前,让我们先确立被测试的机制。研究人员关注的是 有监督微调 (Supervised Fine-Tuning, SFT)

在 LLM 的语境下,SFT 是指获取一个基础模型 (如 Llama-2-7b) 并在特定的“指令-输入-输出”三元组数据集上对其进行进一步训练的过程。对于翻译任务,输入是被包裹在提示词中的源句子 (例如: “Translate the following to German:”) ,输出则是目标翻译。

在数学上,目标是优化模型参数 \(\theta\),以便在给定源 \(S\) 和指令 \(\mathcal{I}\) 的情况下最大化目标翻译 \(T\) 的概率。

展示 SFT 对数似然优化的公式。

如上图公式所示,模型最小化目标 token 的负对数似然。这是标准做法。这篇论文的新颖之处不在于 如何 训练,而在于 用什么 训练——具体来说,是用极少的数据量能达到什么效果。

实验 1: “少即是多”的数据量方法

传统翻译信条的第一根支柱是体量。最先进的 NMT 系统通常在数百万句对上进行训练。研究人员决定看看这个底线能降到多低。

他们使用了 Llama-2 7B 模型,并在 WMT (机器翻译研讨会) 数据集上对其进行了微调。他们将数据二次采样为 2 的幂次大小,范围从微不足道的 16 个样本 一直到 4,096 个样本

他们将微调后 (SFT) 的模型与两个基线进行了比较:

  1. 指令微调 LLM (IT-LLM) : 像 Vicuna 或 Llama-2-Chat 这样已经针对通用任务进行了微调的模型。
  2. 上下文学习 (ICL) : 在不更新权重的情况下,在提示词中给基础模型提供少量示例 (1-shot 或 3-shot) 。

32 个样本带来的惊喜

结果非常明显。

图表对比了在小数据规模下训练的 SFT 模型与基线的性能。

观察上方的 Figure 1 , 请注意蓝色三角形 (SFT-MT) 。

  • 飞跃: 仅用 32 个训练样本 , SFT 模型的性能 (通过 COMET 和 BLEU 分数衡量) 就显著跃升,持平或超过了像 Llama-2-Chat (粉色菱形) 这样的通用模型。
  • 边际收益递减: 虽然增加更多数据确实能提高性能,但曲线很快变平。从 32 个样本增加到 1,024 个样本带来的收益是明显的,但从 1,024 个增加到包含 75,000 个样本的完整数据集仅产生了微小的改进。

这告诉了我们什么? 这有力地表明,这 32 个样本并不是在“教”模型德语或中文语法。模型已经懂这些了。这 32 个样本只是定义了任务。它们作为一个信号告诉模型: “停止像一个文本补全引擎那样行事,开始像一个翻译器那样工作。” 这是表面对齐假说的有力证据。

实验 2: “以一应百”的方向性方法

翻译信条的第二根支柱是多样性。如果你想要一个能将中文翻译成英文 (\(zh \to en\)) 以及将德语翻译成英文 (\(de \to en\)) 的模型,通常你需要在这两个方向上都进行训练。

研究人员对此提出了挑战,他们仅在 单一翻译方向 (例如,仅德语到英语) 上微调 Llama-2,然后在 11 个不同的方向 上进行测试。

跨语言迁移

下方的热力图可视化了在特定方向 (y 轴) 上训练的模型在各种测试方向 (x 轴) 上的表现。分数是相对于在 所有 方向上训练的模型进行归一化处理的。

热力图展示了跨语言迁移的归一化 COMET 分数。

Figure 2 揭示了一个迷人的 跨语言迁移 (Cross-Lingual Transfer) 模式:

  1. 以英语为目标 (\(X \to en\)) :de->enzh->en 这几行。如果你训练模型将德语翻译成英语,它在将 任何 已知语言翻译成英语方面都会变得非常出色。模型学会了“外语 \(\to\) 英语输出”的格式,并将其普遍应用。
  2. 以英语为中心的陷阱 (\(en \to X\)) : 当英语作为源语言时,情况就变得棘手了。如果你在 en->de (英语到德语) 上训练,模型在其他 en->X 任务上表现尚可,但不如反向情况那么好。
  3. 任务误解: 研究人员发现,如果你在 en->de 上训练,然后要求模型将英语翻译成中文,模型有时会感到困惑,输出德语而不是中文,或者只是简单地复制英语源文。

结论是, 多语言能力是通过对齐解锁的 。 你不需要向模型展示每一对语言组合。在单一方向上进行训练可以让模型与翻译的 概念 对齐,然后它可以将其应用于预训练期间学到的其他语言。然而,避免在训练数据中将英语作为目标端,有助于防止模型过度偏向于生成英语。

实验 3: 未见过的疆域

对于 Llama-2 在预训练期间没有见过的语言呢?研究人员将语言分类为“见过 (Seen) ” (在训练语料库中有明确存在,如德语) 和“未见过 (Unseen) ” (存在感极低,如冰岛语或豪萨语) 。

他们专门在这些未见过的语言 (\(en \leftrightarrow is\) 和 \(en \leftrightarrow ha\)) 上微调模型,并将其与在德语上训练的对照模型进行比较。

柱状图展示了在未见过语言与见过语言上的表现。

Figure 4 说明了两个关键点:

  1. 未见过语言的适度收益: 与在德语 (en-de) 上训练的模型相比,在豪萨语 (en-ha) 上微调确实提高了豪萨语的表现。然而,翻译质量通常仍然很差。SFT 无法神奇地教会模型一门它从未见过的语言。
  2. 没有灾难性遗忘: 关键在于,在豪萨语上进行微调 并没有 损害模型翻译“见过”的语言 (如捷克语或俄语) 的能力。即使是在离群数据上进行调整,模型仍保留了其预训练知识。

这强化了 SFT 是一种格式化机制的观点。即使使用一种晦涩的语言向模型展示“翻译格式”,模型也能成功解锁其在主流语言上的潜在能力。

实验 4: “脏”数据的危险

在现实世界中,我们很少拥有每种语言的完美人工翻译数据。我们经常依赖 合成数据 (Synthetic Data) ——具体来说是回译 (使用另一台机器生成训练数据) 。

研究人员通过创建两类噪点数据来模拟这种情况:

  1. 句子级噪点 (Sentence Noise) : 使用现有的 MT 模型翻译句子 (质量尚可,但是合成的) 。
  2. 词级噪点 (Word Noise) : 使用词典逐词直译 (质量糟糕,语法破碎) 。

然后,他们测试了两种场景: 将这些噪点放在 源端 (Source) 与放在 目标端 (Target)

“直译器”失效模式

Figure 5 中的结果具有警示意义。

图表比较了噪点数据对 BLEU 分数的影响。

当噪点数据被放在 目标端 (即我们教导模型输出破碎的句子) 时,性能大幅下降。这对于 词级噪点 尤为明显。

如果你看下方 Table 2 的最后一行,你可以看到灾难发生的现场。当在英语 \(\to\) 德语的词级噪点数据上训练时,模型创建了一个“直译”翻译,模仿了训练数据中破碎的语法。

表格展示了在噪点数据上训练时模型的失败案例。

“知识悖论”

这可能是论文中最反直觉的发现: 模型对未见过语言中的噪点比对见过语言中的噪点更具鲁棒性。

当研究人员在德语 (一种“见过”的语言) 中引入噪点时,模型的性能急剧下降。模型很懂德语,所以它注意到了噪点数据中特定的、怪异的模式,并对其 过拟合,学会了生成糟糕的德语。

然而,当他们在豪萨语 (一种“未见过”的语言) 中引入噪点时,模型却出奇地具有弹性。因为模型不“懂”豪萨语,它无法学习噪点中复杂的 (且错误的) 模式。相反,它只是学习了高层级的任务: “获取输入 A 并产生输出 B。”它忽略了噪点,因为它不够了解该语言,所以不会被其腐蚀。

结论: 对齐 vs. 学习

这项研究为 NLP 的学生和从业者提供了一个范式转变。

  1. 数据效率: 你不需要海量数据集来构建一个基于 LLM 的功能性翻译器。32 个高质量的样本就可以击败通用的指令微调模型。
  2. SFT 的角色: 在这种语境下,有监督微调不是关于 教授 语言。它是关于 对齐 模型。你只是在解锁那些在海量预训练阶段就已经学到的翻译概率分布。
  3. 策略性数据选择:
  • 一个方向可以解锁多个方向。
  • 避免仅以英语作为目标进行训练,否则模型可能会忘记如何生成其他语言。
  • 小心目标端的合成数据。 如果模型很懂这门语言,它会学会你的错误。

需要数百万句对才能启动翻译系统的日子可能正在消逝。随着 LLM 变得越来越强大,工程师的工作正在从“收集所有数据”转变为“筛选正确的少量提示”,以此来指引这个庞然大物。

对于那些对这些实验背后的深层算术感兴趣的人,这篇论文提供了对表面对齐假说的广泛验证,表明对于许多 LLM 任务来说,只要是正确的“少”,“少”真的可能就是“多”。