小林第一次走进同传箱时,手心全是汗。台上的演讲者语速飞快,她屏住呼吸,等对方讲完一整句才开口翻译——可等她译完第一句,演讲者已经说完了三句。耳机里只剩下尴尬的空白,观众的眉头越皱越紧。旁边的老译员摘下耳机,说了一句让她记到今天的话:“同传不是翻译,是追着声音跑的接力赛。你不能等终点,要边跑边接棒。” 这句话,说的正是增量解码的全部秘密。我们熟悉的机器翻译,通常是“听完一整句再翻译”,像学生做听写:先录音再回放。而实时翻译与同声传译恰恰相反——源语言像流水一样源源不断,模型必须“边听边译、边译边改”,在信息不完整的情况下尽早开口,同时保证译文不至于离谱。这就是增量解码:不等完整句子,源词到达一批,译文就推进一批,必要时再回头修正。 要实现“追着声音跑”的翻译,要解决四个问题:什么时候开口(分句策略)、怎么边译不卡壳(流式解码算法)、怎么少返工(质量与延迟的权衡)、以及怎么在工程上把延迟压到人耳无感的 350 毫秒以内(性能优化)。本文就借老译员与小林的同传箱故事,把这条技术链路从头讲到尾。
搞懂增量解码与低延迟优化,你就能把翻译模型从“离线批处理”升级为“边说边译”的实时系统——这是同传、直播字幕、智能耳机等实时交互产品的核心底座,也是多模态 AI 工程师面试高频考点。
可视化演示
动态演示增量解码与低延迟翻译的核心机制,通过开始/执行/监控/完成四种模式展示关键概念与交互流程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
增量解码与低延迟翻译:增量解码 增量解码概述与核心原理 KV-Cache在流式解码中的 核心机制可视化 增量解码与低延迟翻译整体架构与关键组件
增量解码原理
小林追问老译员:“你就不怕还没听完就译错吗?”老译员笑了:“怕啊,但同传的规则不是等百分百的信息才开口,而是拿到八成信息就开口,边听边补。”他打了个比方:你在酒吧听朋友讲八卦,他刚说“我昨天看见……”你就已经猜到了后半句——人脑天然会做“增量预测”,机器翻译要学的正是这个。
传统机器翻译是“离线解码”:把完整句子一次性喂给模型,模型端到端生成完整译文,像笔译员拿到整页稿纸再动笔。可实时场景里,源语言是源源不断的语音流,没有人给你“完整句子”。增量解码把“完整输入”这个前提拆掉:来一个词,就让模型重新预测一轮——这就是让自回归解码在部分输入上“跑起来”。
增量解码仍然基于自回归解码:模型逐个预测译文词,每预测一个,就把新词拼到译文前缀后面,再预测下一个。三个配套机制缺一不可——部分解码,允许输入未完整就开始输出;前缀缓存,把已算过的历史状态存起来,新 token 只做增量计算;输出流式化,每生成一个词立即推送,而不是攒成一整句再发。用公式表达,增量解码每一步都在算同一个条件概率:
老译员的“边听边猜”,本质上就是在做这个条件概率预测:用已经听到的话和已经说出的话,推下一个词。猜得对不对另说,重要的是开口的时机。而 a_t 这个“源端进度”,就是决定时机的那把钥匙——它怎么取,正是后面 wait-k 和动态分句要回答的问题。
- 目标词 y_t当前要预测的第 t 个译文词,比如“你”还是“您”,这一步的结果会拼到译文末尾。
- 历史译文前缀 y_{<t}已经译出的前 t-1 个词,模型每预测一个新词,都要参考这个越来越长的前缀。
- 已到达源词 x_{\le a_t}源端已到达的前 a_t 个词。a_t 会随 t 变化,这是增量解码与离线解码的最大差别——离线时 a_t 恒等于完整句长。
- 条件概率整体整个式子表达“已知前缀译文和部分源词,下一词是谁的概率分布”,模型取概率最大的词作为本轮输出。
延迟来源分析
小林发现观众开始低头看手机,老译员说:“超过两秒不开口,听众就以为卡了。”同传的行业经验是:译文必须追上演讲者,最多落后两三秒。这“两三秒”就是同传的延迟预算。机器翻译的实时系统里,同样有一笔延迟预算要精打细算。
工程师们习惯把端到端延迟拆成四段来审计:等输入的“分句等待”、模型算的“计算时间”、为了输出平滑而做的“聚合缓冲”、以及数据往返的“网络传输”。每一段都在吃延迟预算,谁超支,观众(用户)的体验就崩。
这四段可以写成一条加法公式。做低延迟优化,本质就是逐项压缩这四段开销:
老译员说,他的等待时间主要来自“判断在哪里断句”;机器也一样——L_wait 是策略决定的,L_compute 是算力决定的。理解了延迟的构成,优化才有靶子:分句策略管 L_wait,模型量化与缓存管 L_compute,流式传输管 L_buffering 和 L_network。延迟不是某一块的锅,而是四段合起来的结果。
- 总延迟 L_total从源语言发出到译文送达用户耳朵/眼睛的总时间,实时翻译的目标就是压小它。
- 分句等待 L_wait为了凑够一句而等待源词到达的时间,由分句策略决定,是增量解码特有的一笔账。
- 模型计算 L_compute编码与解码的前向计算耗时,受模型大小、序列长度和缓存命中率影响。
- 输出聚合 L_buffering为平滑输出而暂存译文的缓冲时间,缓冲越大越流畅,但延迟越高。
- 网络传输 L_network数据在端侧、服务端之间往返的耗时,云端部署时这笔开销不可忽略。
分句策略优化
老译员有个笔记本,他告诉小林:“断句是门手艺。断在完整意思处,听众舒服;断在词中间,听众抓狂。”小林问:“那你怎么知道哪里算完整?”老译员敲敲太阳穴:“听到'了、吧、吗'这些语气词,或者一段意思明显收住的时候,就切。”机器没有语感,机器只有概率。
分句策略要做两件事:一是标点边界预测——口语流里没有句号逗号,但模型可以预测“这个位置大概率是停顿/结尾”;二是语义完整度估计——判断当前这段语块的意思是不是已经告一段落。两者都不是硬规则,而是概率打分。
于是分句就变成一个打分题:每个候选位置都算一个分,得分超过阈值就切一刀。公式如下:
老译员的“手感”就是这条公式的自然语言版。语速快的时候他两三秒一切,语速慢的时候等一个小句子完整才开口——这正是动态窗口调整在真人身上的体现。分句定好了,模型才能在正确的时机起跑,而不是盲目地抢跑或傻等。
- 候选切分点 σ_i源流中第 i 个可能断句的位置,理论上每个词后面都可以切,但只有高分位置值得切。
- 标点概率 P_punc模型预测该位置是标点边界(句号/逗号/停顿)的概率,相当于老译员听到的“语气收束感”。
- 语义完整度 P_sem该位置之前这段语块表达的意思是否完整,比如“他昨天去了”就比“他昨天去”更像一个完整意群。
- 权重 α 与 β两个信号的相对重要性,需要按语种和场景调参。正式演讲中语义权重高,口语聊天中标点停顿感权重高。
- 切分判断得分超过阈值 θ 才切,配合语速做动态窗口调整——语速快时降低阈值早开口,语速慢时提高阈值多等一会。
流式解码算法
小林问:“断好句就能开口了,那怎么保证译得不卡壳?”老译员说:“先开口,错了再圆回来。我们管这叫改口,机器管这叫重翻。”同传箱里最忌讳冷场,一个高明的译员宁可先说八成把握的内容,也不愿意让听众干等。
最经典、也最朴素的流式解码策略是 wait-k。设 k=2:前两个源词到达时先攒着当“起跑缓冲”,第 3 个源词一到,立即生成第 1 个译文词;此后源词每多来一个,译文就多推进一个;等源流结束,再把最后 k 个译文词补完。k 就像一个“耐心旋钮”:k 越小越急,k 越大越稳。
写成公式,wait-k 每一步解码只使用源端前 t+k 个词:
Wait-k 生成的只是“部分假设”,它完全可能在后续源词到达后被推翻。工程系统因此加入“部分假设修正”:保留最近若干译文词,一旦发现更好的假设,就回退重译这段,再继续向前——这就是重翻策略。老译员改口时说“准确地说,应该是……”,机器重翻时做的也是同一件事:承认错误,快速修正,然后接着跑。
- 等待窗口 t+k源端下标拿到 t+k,意味着第 t 个译文词要等源端多来 k 个词才开工,k 就是 wait-k 的“耐心值”。
- 预测结果 y_hat_t带上小帽子的 y 表示这是模型自己生成的“假设词”,不是参考译文里的标准答案。
- 取最大值 argmax从词表所有候选里挑概率最大的那个词,这是贪心解码的典型操作。
- 条件输入条件里包括已生成的译文前缀 y_hat_<t 和已到达的源词 x_≤t+k,两者共同决定下一个词。
工程实现要点
老译员有一个离不开的工具箱:保温杯润喉、笔记本记数字、铅笔标重点。模型的“工具箱”也有三件套:KV 缓存、位置编码、批处理。没有这三样,增量解码只停留在纸面上,跑不进真实产品。
增量解码绝不能每次从零开始重算整句——那样计算量会随句子变长而爆炸。KV 缓存把已经算过的历史 Key/Value 状态保存下来,新 token 到达时只需在已有状态上做增量计算,复杂度从 O(S²) 降为 O(S)。但增量有一个隐蔽的坑:序列不断变长,位置编码必须与全局位置严格对齐,否则注意力分布会错乱,译文质量悄悄崩坏。
缓存不是免费的,它要占显存。单请求 KV 缓存的显存占用可以这样估算:
有了缓存和位置编码的正确处理,模型就像老译员“边记边译”:笔记本里存着前面所有内容,新听到的话直接往上接。而批处理优化则让多个请求共享一次 GPU 推理,好比同传团队轮班同时服务多场会议——单路延迟不变,但吞吐成倍上涨。工程优化的本质,就是让每一分算力都花在刀刃上。
- 层数 LTransformer 的编码器/解码器层数,每一层都要单独存一份 K/V 缓存。
- 维度之和 d_k + d_v每层每个 token 要缓存 Query 对应的 Key 和 Value,两者维度相加就是单 token 单层的缓存宽度。
- 序列长度 S已经处理过的源词数量。增量解码里 S 只增不减,缓存随之线性增长。
- 每值字节数 ×4float32 精度下每个数值占 4 字节,量化到 float16 可再省一半。
性能评估指标
会议结束后,主办方递给老译员一张反馈表:听众满意度 4.8 分。小林问:“这分怎么打出来的?”老译员说:“每个行业都有自己的打分表。”翻译系统的打分表也有两栏:一栏写“译得准不准”,一栏写“译得迟不迟”。前者叫 BLEU,后者叫 AL 和 AP。
BLEU 比较译文与参考译文的 n-gram 重合度,回答质量;AL(平均滞后)和 AP(平均等待比例)回答时序——译文到底比源流慢了多少。低延迟翻译绝对不能只看 BLEU,一个“每句都准但要等 5 秒”的系统,在实时场景里等于废品。
AP 衡量的是“等待的密度”,计算公式如下:
AL 衡量的则是“平均每个译文词迟到了几个源词”,更贴近人类对“跟不跟得上”的感知:
质量与延迟是一对跷跷板:k 增大,模型看到的信息更多,BLEU 上升,但 AL 也跟着涨。工程上的标准做法是设定延迟预算——在“AL ≤ 2 个词”的硬约束下,挑 BLEU 最高的那组参数。老译员说得透彻:“听众打分最高的译员,往往不是每句最准的,而是从不让他们等太久的。”
- 长度比 r源长除以目标长,把目标词的位置换算到“源端对应的理想位置”,消除长短句偏差。
- 单步滞后用实际到达进度 d_t 减去理想进度 t/r,得到当前这一步译文的“迟到量”。
- 求平均对所有译文位置取平均,得到系统整体的平均滞后。等长句子用 wait-k 时,AL 约等于 k。
实时场景应用
老译员的最终战场是真实会场,增量解码的最终战场则是真实产品。如今,跨国会议同传、赛事直播字幕、智能耳机翻译,背后都跑着“边听边译”的增量链路。技术从论文走向落地,靠的是把前面所有环节拧成一条完整的流水线。
语音翻译是一条接力赛:第一步,ASR 把声音变成文字或语义边界;第二步,增量翻译把文字按 wait-k 策略逐步变成译文;第三步,TTS 或渲染模块把译文变成声音或字幕。每一棒都在消耗时间,任何一棒掉链子,观众都能立刻感觉到。
把四棒的时间加起来,就是端到端延迟:
会议结束后,小林终于问出那个憋了一天的问题:“同传最重要的能力是什么?”老译员摘下耳机:“不是译得完美,是跟得住。”增量解码的全部技术——分句、wait-k、缓存、延迟指标——都是在回答同一个问题:如何跟得住。跟得住,直播字幕就追得上画面,智能耳机就接得住异国的对话,跨国会议就感受不到语言的墙。
- 识别时间 D_asrASR 从收集音频到产出文本的时间,流式 ASR 可以边说话边出字,与增量解码天然契合。
- 解码时间 D_decode增量翻译生成译文的时间,靠 KV 缓存和批处理压到最低。
- 合成时间 D_synthTTS 把译文念出来,或渲染引擎把字幕画到屏幕上所需的时间。
- 缓冲时间 D_buffer为了保证播放不抖动而预留的缓冲区,这是延迟预算里最容易被忽略的一笔。
AI 应用场景
跨国视频会议同传
阶段:多模态推理与实时部署
解决的问题:传统跨国会议靠人工同传,成本高、难覆盖小语种,还受译员排班限制;离线机器翻译则要等整段说完才出译文,完全跟不上发言节奏。AI 用流式 ASR + 增量解码 + TTS 构建同传链路,边说边出译文,把“事后翻译”变成“同步翻译”。
具体案例:某出海企业的季度全球全员会,英语主讲、中/日/西三语听众。系统采用 wait-k=2 的增量解码,端到端延迟控制在 350ms 内,重翻率低于 3%,与会者反馈“基本感觉不到译文滞后”。
国际赛事直播实时字幕
阶段:推理服务化
解决的问题:传统直播字幕要等解说员说完一整句才生成,观众看到精彩回放却等不到解说内容。增量解码让字幕逐词滚动,与画面语义同步,把“看字幕”变成“读同传”。
具体案例:某体育平台转播网球大师赛,英文解说实时转中文字幕。分句模块按语义完整度打分切分,AL 平均 1.6 个源词,观众在球员得分瞬间即可看到解说字幕同步弹出。
智能耳机同传模式
阶段:端侧推理
解决的问题:端侧算力有限,跑不动全量离线模型,也无法忍受高网络延迟。通过轻量分句 + 缓存复用 + 部分假设输出,把延迟压进人耳无感区间,让旅行者实现“边走边译”。
具体案例:某智能耳机的中英互译模式,对话场景下 A 方说完一句,B 方耳机在约 2 秒内收到译文。系统在端侧做 ASR 边界检测,云端增量解码,重翻仅在语义严重冲突时触发。
Python 演示
# -*- coding: utf-8 -*-"""wait-k 增量解码模拟器: 演示边到边翻译并测量平均滞后 AL""" class WaitKDecoder: """按 wait-k 策略工作的增量翻译器, 用简易双语词典模拟大模型""" vocab = { "hello": "你好", "good": "好", "morning": "早晨", "how": "如何", "are": "是", "you": "你", "today": "今天", "enjoy": "享受", "the": "这", "journey": "旅程", } def __init__(self, wait_k=2): # 用 _list 后缀避免属性与 translate 方法互相干扰 self.src_list = [] self.tgt_list = [] self.wait_k = wait_k def feed(self, word): """送入一个源词, 返回本轮可产出的译文词(可能为 None)""" self.src_list.append(word) gen_idx = len(self.src_list) - 1 - self.wait_k if gen_idx >= 0: return self.translate(self.src_list[gen_idx]) return None def drain(self): """源流结束, 补译最后 k 个词""" out = [] while len(self.tgt_list) < len(self.src_list): idx = len(self.tgt_list) out.append(self.translate(self.src_list[idx])) return out def translate(self, word): """查词典得到译文并记录已翻译的源词""" result = self.vocab.get(word, "[?" + word + "]") self.tgt_list.append(word) return result def average_lagging(decoder, src_len): """计算平均滞后 AL: 每个目标词产出时源端已到词数 减 理想 1:1 推进位置""" total = 0 for i in range(src_len): arrived = min(i + 1 + decoder.wait_k, src_len) total += arrived - (i + 1) return total / src_len def main(): sentence = ["hello", "good", "morning", "how", "are", "you", "today"] for k in (0, 2, 5): dec = WaitKDecoder(wait_k=k) print("== wait_k=%d ==" % k) for w in sentence: produced = dec.feed(w) if produced: print(" 收到 %-8s -> %s" % (w, produced)) for produced in dec.drain(): print(" 收尾 -> %s" % produced) al = average_lagging(dec, len(sentence)) print(" 平均滞后 AL = %.2f\n" % al) if __name__ == "__main__": main()
gen_idx = len(self.src_list) - 1 - self.wait_k计算当前源词能触发哪个译文词的生成,这是 wait-k 的核心下标换算。if gen_idx >= 0: return self.translate(...)负数表示还没攒够 k 个词,先沉默攒缓冲。def drain(self)源流结束后补译最后 k 个词,对应 wait-k 的“收尾”阶段。arrived = min(i + 1 + decoder.wait_k, src_len)计算第 i 个译文词产出时源端已到达的词数,末尾会被句长截断。for k in (0, 2, 5)对比三种耐心值:k=0 最激进,k=5 最保守,AL 随之递增。
常见误区
误区流式翻译为了快,肯定要牺牲很多准确性,不如等整句话说完再翻译来得靠谱。
正解增量解码配合重翻与修正机制,可以把质量损失控制在很小范围内。更重要的是,口语流里“完整句子”本身就不存在——演讲者会口误、改口、拖长音,“等完整句子”等于让观众干等一个永远不会出现的句号。wait-k 通过调整 k,可以精确地交易延迟与质量,而不是单纯牺牲质量。
为何常见:人们习惯把“离线整句翻译”当作质量上限,却忽略了实时口语流的天然不完整性,把“不完整输入”误当成“必然错误”。
误区低延迟是目标,所以 wait-k 的 k 应该设成 0,源词一到就立刻翻译,最大化实时性。
正解k=0 时模型只看到 1 个源词就要译第 1 个译文词,信息严重不足,错误率飙升,随后触发大量重翻——改口比迟到更破坏体验。实际系统 k 通常取 2~4,结合语速和语义密度调节,在“早开口”和“少返工”之间找平衡点。
为何常见:把延迟当作唯一优化目标,忽略了重翻产生的“返工成本”,而返工本身也是延迟的一种。
误区分句很简单,看到句号、逗号就切开,一句话一段,按标点边界处理不就行了。
正解口语流里没有稳定标点,ASR 输出还可能漏字错字;真正的分句边界由“标点概率 + 语义完整度”加权打分决定,还要根据语速动态调整阈值。标点只是弱信号之一,语义完整度才是硬指标。
为何常见:书面语的阅读习惯让人把标点当作天然边界,而实时语音并不满足这个前提,ASR 文本中连标点都可能是模型猜出来的。
误区缓存是纯工程优化,理论上加了缓存和重算完整前缀的结果应该一模一样。
正解增量场景下,位置编码必须与全局位置严格对齐。如果缓存了旧位置状态、却给新 token 分配重复或错误的位置号,注意力分布会发生漂移,译文质量随之下降。位置编码处理是正确性问题,不只是性能问题,实现时必须像对待模型权重一样谨慎。
为何常见:把“结果一致”当作缓存的默认属性,忽略了位置信息这个隐式依赖——在离线整句解码里位置从没问题,换到增量场景就悄悄暴露了。
误区模型 BLEU 分数高,拿去做实时翻译肯定也好,反正都是同一个模型。
正解BLEU 只衡量离线整句翻译质量,不包含任何时序信息。一个 BLEU 很高但每句要等 5 秒才输出的系统,在实时场景毫无价值。实时评估必须同时看 AL/AP 和端到端延迟,甚至做人工听测——听众的“跟得上”比纸面分数更重要。
为何常见:学术界长期用 BLEU 作为唯一报告指标,形成了“BLEU 高 = 模型好”的惯性,但落地的实时系统需要的是“质量 + 时序”的双维考核。
面试题
Q1. 增量解码与离线解码最本质的区别是什么?
- A.增量解码使用更大的模型
- B.增量解码不需要等待完整源句← 正确答案
- C.增量解码一定翻译得更准确
- D.增量解码不需要任何训练数据
答案:B。传统离线解码必须等完整源句输入才开始翻译,而增量解码在部分源词到达时就开始自回归生成,这是“边到边”与“听完再说”的分水岭。更大的模型、更准确的翻译、更少的训练数据都与增量解码的本质无必然关系,因此 A、C、D 均不正确。
Q2. wait-k 策略中 k 的含义是什么?
- A.等待 k 个源词后再开始翻译← 正确答案
- B.译文最多允许 k 个字词
- C.模型迭代训练 k 轮后部署
- D.每 k 个源词输出一个译文词
答案:A。wait-k 表示生成第 t 个译文词时,模型已经看到了源端第 t+k 个词,k 是“起跑缓冲”窗口。它不限制译文长度、不指训练轮次、也不是输出频率。k 越大信息越充足但延迟越高,k 越小越跟嘴但越容易译错。
Q3. 下列哪一项不属于增量翻译的延迟来源?
- A.输入分句等待带来的空闲
- B.模型前向计算消耗的时间
- C.训练数据清洗消耗的时间← 正确答案
- D.输出聚合缓冲增加的延迟
答案:C。增量翻译的端到端延迟由四段构成:输入分句等待、模型计算、输出聚合缓冲、网络传输。训练数据清洗发生在离线阶段,属于模型开发流程,不进入在线推理链路,因此它不是增量翻译的延迟来源。
Q4. 分句策略中“语义完整度”的作用是什么?
- A.判断当前语块意思是否完整← 正确答案
- B.计算译文的词频统计信息
- C.替代位置编码的全部功能
- D.决定模型参数量的大小
答案:A。语义完整度衡量当前语块是否表达了完整意思,是分句决策的关键信号,与标点概率一起加权求和得到切分得分。词频统计、位置编码、模型参数量都与分句无关。语义完整切分能让译文在意思收束处断句,避免在词中间硬切。
Q5. 以下哪些是流式解码的常见策略?
- A.等待 k 个源词再开始← 正确答案
- B.部分假设生成与修正← 正确答案
- C.延迟重翻局部译文← 正确答案
- D.把整句输入重复十次
答案:ABC。wait-k 是最经典的流式解码策略;部分假设生成与修正是流式解码的核心思想,先生成再根据新信息修正;延迟重翻是实现修正的工程手段。反复输入整句是离线解码的暴力做法,既增加计算量又引入无意义的延迟,不属于流式策略。
Q6. 增量解码工程实现中 KV 缓存的主要作用是什么?
- A.减少历史 token 的重复计算← 正确答案
- B.提升训练数据集的多样性
- C.替代注意力机制的全部功能
- D.降低源语言识别的错误率
答案:A。KV 缓存保存已计算的历史 Key/Value 状态,新 token 到达时只需在此基础上做增量计算,将复杂度从 O(S²) 降为 O(S)。它不改变训练数据、不替代注意力、也不影响识别错误率,只是为了在流式场景下避免重复前向计算。
Q7. 关于位置编码在增量解码中的处理,下列说法正确的是?
- A.新 token 沿用全局绝对位置← 正确答案
- B.每个 chunk 都从位置零开始
- C.位置编码可以完全省略不用
- D.位置编码只作用于训练阶段
答案:A。增量解码中序列不断变长,每个 token 的位置号必须相对全局起点绝对递增,注意力分布才能正确对齐真实语序。分块内从零计数是常见错误,会破坏相对距离信息;位置编码不能省略,推理阶段同样参与计算。
Q8. 关于 AP 指标,下列说法正确的是?
- A.AP 越小说明翻译等待越少← 正确答案
- B.AP 越大说明翻译越快
- C.AP 与模型参数量成正比
- D.AP 只衡量译文长度比
答案:A。AP(Average Proportion)把所有译文词生成时源端已到达的词数求和,除以源长与目标长的乘积。比值越小,说明译文越早在源流早期就产出,等待越少。它与模型参数无关,也不只衡量长度比,AP 是 0 到 1 之间的等待密度指标。
Q9. 在延迟预算内提升低延迟翻译质量,可以采用哪些手段?
- A.增大等待词数并配合重翻← 正确答案
- B.用语义完整度做动态分句← 正确答案
- C.复用 KV 缓存降低计算时延← 正确答案
- D.取消所有输出缓冲区域
答案:ABC。增大 wait-k 让模型看到更多源词,配合重翻修正错误,可以在延迟预算内提质量;语义完整度动态分句能减少无效等待;KV 缓存复用直接压缩计算时延。完全取消输出缓冲会导致字幕抖动、播放卡顿,属于过度优化。
Q10. 实时翻译中衡量“译得有多迟”的延迟指标是?
- A.BLEU 分数
- B.AL 平均滞后← 正确答案
- C.模型参数量
- D.词表大小
答案:B。AL(Average Lagging)衡量译文平均滞后了多少个源词,是实时翻译最常用的时序指标。BLEU 是翻译质量指标,参数量和词表大小属于模型配置,它们都不直接度量“翻译迟不迟”。