“通用翻译机”——一种能即时翻译语音的设备——长期以来一直是科幻小说中的标配。在现实世界中,这被称为同声机器翻译 (SimulMT) 。 与标准翻译 (模型等待完整句子说完再生成文本) 不同,SimulMT 必须在输入源的同时生成翻译。
随着 GPT 和 Falcon 等大型语言模型 (LLM) 的爆发,人们纷纷尝试将其强大的语言能力应用于这一任务。然而,LLM 天生是为处理完整序列而设计的,并非针对流式数据。
历史上,使 LLM 适应同声传译主要依赖于“提示优化”——包括数据增强或重构提示等复杂的技巧,以诱导模型表现正确。俄勒冈州立大学研究人员最近发表的一篇论文 《同步掩码而非提示优化》 (Simultaneous Masking, Not Prompting Optimization) 认为,这些方法效率低下且存在缺陷。相反,他们提出了一种名为 SimulMask 的新范式。
在这篇文章中,我们将详细剖析为什么当前的方法在实时翻译中举步维艰,以及 SimulMask 如何提供一个更清晰、更快且更准确的解决方案。
挑战: LLM 与实时翻译
要理解 SimulMask 的创新之处,我们需要先了解 LLM 的工作方式与 SimulMT 的需求之间的冲突。
“Wait-k” 的问题
同声传译依赖于一种决策策略。最常见的基线是 wait-k 策略 。 简单来说,模型在开始书写翻译之前,会等待读取源语言的 \(k\) 个单词。然后,它在读取和书写之间交替进行。
如果你在翻译一个完整的句子 (离线翻译) ,你可以看到未来的上下文。但在 SimulMT 中,你不能。你必须根据部分输入做出决定。
提示优化的缺陷
在这篇论文之前,研究人员试图使用两种主要策略 (统称为提示优化 )来强迫 LLM 表现出“wait-k”行为:
- 数据增强 (前缀微调) : 这涉及将训练句子切分成许多部分片段来模拟流式过程。例如,为“The”、“The cat”、“The cat sat”等创建训练对。
- 提示重构: 这涉及创建复杂的、对话式的提示,在文本中显式地交替源词和目标词。
作者指出了这些方法中的三个关键失败点:
- 微调/推理不匹配: 模型训练的方式与其使用方式不匹配。在使用数据增强时,模型将部分句子视为完整输入。然而,在实时推理过程中,模型具有“键值 (KV) 缓存”——即它已经处理过的内容的记忆。提示方法通常会破坏此缓存或使其无法使用,因为上下文一直在变化。
- 位置混淆: 随着源流的增长,单词的相对位置发生变化。如果模型依赖缓存的记忆,存储在该记忆中的位置信息就会过时,从而导致幻觉。
- 计算低效: 由于缓存问题,这些方法通常迫使模型在每一步都重新计算整个序列。这破坏了 SimulMT 的低延迟优势。
解决方案: SimulMask
研究人员提出,与其改变数据 (提示) ,我们应该改变模型在微调期间的注意力方式。
推理镜像注意力
SimulMask 背后的核心理念是推理镜像注意力 (Inference Mirrored Attention) 。 目标是确保在训练期间,模型被限制为只能看到它在实时推理期间能看到的内容——不多也不少。
如果一个模型是在完整句子上训练的,但在预测第一个翻译单词时被掩码遮挡以至于只能“看到”前三个单词,它就会自然地学会处理不确定性。

如上图 图 1 所示:
- (a) 推理 (Inference): 在实时使用期间,查询 \(p_2\) (提示的一部分) 只能访问先前的标记 \(p_1\) 和 \(s_1\)。
- (b) 使用 SimulMask 微调 (Fine-tuning with SimulMask): 即使在训练期间完整的源序列 (\(s_1\) 到 \(s_4\)) 是可用的,模型也被强制 (通过虚线) 仅关注该特定时刻可用的标记 (\(p_1\) 和 \(s_1\)) 。
这消除了训练和测试之间的不匹配。模型学会了根据其在现实世界中将遇到的确切部分上下文进行翻译。
机制: 构建掩码
这是如何在技术上实现的?通过操作 Transformer 的自注意力机制。
Transformer 中的标准注意力机制允许标记“查看”其他标记以收集上下文。这由以下公式控制:

这里,\(M\) 是注意力掩码。在标准 LLM 中,\(M\) 是一个因果掩码 (Causal Mask) , 它创建一个三角形模式,防止模型查看未来的标记 (你不能通过看第 6 个词来预测第 5 个词) 。

SimulMask 更进一步。它修改了掩码,以便同时也根据 wait-k 策略屏蔽掉特定的源标记。

图 2 直观地展示了这个掩码:
- 蓝色方块代表允许的注意力。
- 白色方块代表被掩盖 (阻断) 的注意力。
- 注意左侧的“阶梯”效应。随着模型在目标序列 (\(t_1, t_2...\)) 中移动,它逐渐被允许看到更多的源序列 (\(s_1, s_2...\)) 。
这迫使 LLM 直接在其权重中学习 SimulMT 策略,而不是依靠复杂的提示来引导它。
解决位置问题: 改进版 ALiBi
掩码带来了一个主要的技术障碍: 位置嵌入 。
LLM 需要知道单词的顺序。许多现代 LLM (如 Falcon) 使用 ALiBi (带线性偏置的注意力) 。 ALiBi 通过根据两个标记之间的距离向注意力分数添加惩罚来编码位置。

问题在于 SimulMask 移除了一大块注意力。如果你只是简单地屏蔽掉标记,ALiBi 会在序列中看到一个“缺口”,从而在源标记实际上有多远的问题上混淆模型。
为了解决这个问题,作者引入了改进版 ALiBi (Modified ALiBi) 。

在 图 3 中:
- (a) 原始 ALiBi: 注意掩码 (空白空间) 如何在相对距离分数中产生中断。
- (b) 改进版 ALiBi: 研究人员动态调整了偏置值。如果一个标记被屏蔽,则“距离”计数器暂停。这确保了模型将可见标记视为连续的,即使句子的部分内容被隐藏,也能保留正确的位置关系。
实验结果
研究人员使用 Falcon-1.3B LLM 在 IWSLT 2017 数据集上测试了 SimulMask,涵盖 5 种不同的语言对 (英语到法语、荷兰语、意大利语、罗马尼亚语和德语) 。
翻译质量与延迟
SimulMT 成功的主要指标是质量 (由 BLEU 分数衡量,越高越好) 与延迟 (由 LAAL 衡量,越低越好) 之间的权衡。

图 4 展示了这些结果。以下是解读这些图表的方法:
- X 轴是延迟 (Lag)。
- Y 轴是质量 (Quality/BLEU)。
- 理想的模型应该位于左上角 (高质量,低延迟) 。
带方块的红线 (SM-norec-mod) 代表采用改进版 ALiBi 的 SimulMask。在几乎所有情况下,它都高于竞争方法 (橙色/绿色的前缀微调,黑色的对话提示) 。这表明对于任何给定的延迟量,SimulMask 都能产生更好的翻译。
计算效率
这才是 SimulMask 真正大放异彩的地方。由于 SimulMask 允许正确的键值 (KV) 缓存,模型不需要为它生成的每个新单词重新计算整个历史记录。

表 1 显示了训练效率。前缀微调使数据集大小激增,一个 epoch 需要近 10,000 秒 。 SimulMask 仅需 1,014 秒——训练时间几乎快了 10 倍。
那么推理 (运行模型) 呢?

图 5 可视化了以 GFLOPs (十亿次浮点运算) 为单位的计算成本。
- 顶部 2 个条形: 现有方法 (causal-rec, prefix-rec) 需要巨大的计算量,因为它们强制重新计算缓存。
- 底部条形: 相比之下,SimulMask (
SM-norec-mod) 微不足道。它的效率极高,因为它只是从内存中检索以前的状态。
重新计算的代价
为什么差异如此巨大? 图 6 分解了成本。

红色区域显示了“浪费”——重新处理模型已经翻译过的单词的计算成本。在提示优化方法中,这种浪费随句子长度线性增长。SimulMask 完全消除了这个红色区域,只产生蓝色区域 (初始) 的成本。
结论
论文《同步掩码而非提示优化》标志着将大型语言模型应用于实时翻译迈出了重要一步。
通过摆脱“提示工程”,转而在微调期间修改底层注意力机制,研究人员实现了三个主要胜利:
- 高准确性: 匹配或击败最先进的翻译质量。
- 低延迟: 保持同声传译所需的速度。
- 极高效率: 大幅降低了训练和运行模型所需的算力。
这种方法有效地将标准 LLM 转变为专门的同声传译器,而不破坏其基础架构。当我们展望打破语言障碍实现实时交流的未来时,像 SimulMask 这样的技术很可能成为其背后的引擎。
](https://deep-paper.org/en/paper/2405.10443/images/cover.png)