没有参考译文时如何评判翻译:GEMBA-MQM 之后
生产环境里没有参考译文。有的是原文、译文,以及一个判断:这份译文够不够格交付。所有建立在"与人工译文比对"之上的指标——BLEU、chrF、以及参考式的 COMET——恰恰在你需要一个数字的那一刻不可用。
答案是无参考质量评估,而它现在已经好到可以据以行动。本文讲 2025–2026 年发生了什么变化、哪些在付费 API 上可复现、哪些需要你自建基础设施,以及我们自己踩到的那次失效:一套质量评估连续数月返回着看似合理的数字,实际什么都没做。
GEMBA-MQM 停在哪里
GEMBA-MQM 让语言模型扮演 MQM 标注员:找出这份译文中的错误,按类别和严重度分类,分数则由加权错误计数自然得出。它之所以有效,是因为模型在做标注员做的事,而不是在估计一个相似度。
它真正的优点是输出可审查。没有错误清单的数字只是意见;GEMBA-MQM 给你的是"此处片段存在重大准确性错误",评审可以同意或反对。对文件翻译而言,这比小数点后一位的相关性更重要——反正下一步都是评审。
2025–2026 年新增了什么
GEMBA V2(WMT25) 保留提示词,转而攻击方差。单次大模型判断是有噪声的——跑两次会得到两个分。V2 把判断采样约十次,用基于排序的加权平均而非普通均值来聚合,这样一个离谱样本就拖不动结果。相关性更好,代价约为十倍。
MetricX-25 是训练出来的指标而非提示出来的,在基准上分数更高。代价在运维:它是一个由你托管的模型,连同 GPU、部署和版本管理。
如果你跑在付费 API 上、又不想运维模型,实际的分界是:
| 可在 API 上复现 | 需要自建基础设施 | |
|---|---|---|
| GEMBA-MQM | 是 | — |
| GEMBA V2 采样 | 是,代价约 10× | — |
| MetricX-25 | — | 是 |
| 规则式启发 | 是,约等于免费 | — |
我们自己的结论:V2 的采样值得有选择地用在便宜层已经标记出来的片段上,而不是作为默认——理由是算术上的:对一个本来没人会改的片段做十次判断,就是十次白花的调用。
真正划算的双层方案
我们在跑、也推荐的模式:
第一层:规则式,覆盖全部。 长度比、未翻译原文检测、数字与词表术语是否出现、文字体系是否一致。成本为零,毫秒级完成,抓的正是正式文件上最要命的缺陷——丢掉一个数字不是文体问题。
第二层:大模型判断,只跑第一层标记出来的。 对便宜层评分低于阈值的片段做 GEMBA-MQM。
算术就是全部论据。如果第一层放行 90% 的片段,你只为 10% 的量付大模型判断的钱。这个阈值对不对,是关于你自己内容的经验问题,而它是整套方案里最要紧的一个参数。
让质量评估"看起来在工作"的那种失效
现在是值回票价的部分。
我们的 GEMBA-MQM 层用 max(4096, n * 150) 的词元预算调用模型——也就是说,任何小于 27 个片段的批次都恰好是 4096,而大多数批次都是。供应商换成了推理模型。推理模型在思考上花的是与回答同一份预算,于是响应回来时带着 finish_reason=length、completion=4096、reasoning=4096,而且完全没有内容。
空响应进入一个回退分支,返回固定的 75 分,标记为 estimator="fallback"。
于是质量评估返回 75。每一次。持续数月。没有报错,没有告警,而这个数字合理到没人去看——75 分正是人们期待一套质量评估系统给出的那种分数。
一旦我们去问,数据库就把事情说清楚了:1581 个片段由 rule_based 评分,70 个由 gemba-mqm,6 个由 fallback。大模型层几乎完全停摆,而这些计数的形状是唯一的证据。
修复之后——一个告诉模型不要思考的开关——在一份真实不动产登记摘要的 14 个机器翻译片段上:
| 修复前 | 修复后 | |
|---|---|---|
| 供应商响应 | 空,finish_reason=length | 带错误明细的 JSON |
| 实际评估器 | fallback | gemba-mqm |
| 分数 | 全部固定 75 | 十三个 100,一个 96 |
| 找到的 MQM 错误 | 0 | 1 个真实的——信贷期限措辞上的 style/awkward |
| 耗时 | — | 14 个片段 6.1 秒 |
两条教训,第二条是普遍的。
返回合理值的回退,比会抛错的回退更糟。 如果你的评估层跑不起来,你需要知道。一个意思是"我们没测过"的数字,形状上不能和"我们测过而且没问题"的数字一模一样。
给每个分数标注产出它的评估器。 就这一个字段,把一次隐形故障变成了五分钟的诊断。
同一次测量对便宜层说了什么
一个附带发现,很有用。规则层给那同样 14 个片段打了 75 到 85 分,并且一个都没有放行到大模型层。
而大模型随后给其中十三个打了 100。
所以这个前置过滤器是保守,而不是错误:它低估好译文,但不会放过坏译文。没有缺陷品在交付。但仍有两个后果:用户在优质工作上看到了悲观的分数;而昂贵层始终插不上话——上面那次故障正是因此一直藏着。
校准前置过滤器不是抽象地谈准确率,而是关于两种不对称代价:一次假的"差"浪费一次大模型调用并压低展示分数;一次假的"好"交付一个缺陷。把这两者摆在面前去定阈值,并测量有多大比例被升级。如果什么都没被升级,你的第二层就是装饰。
如果你刚开始,该测什么
- 升级率。 有多大比例的片段到达昂贵层?如果是 0% 或 100%,阈值就没在起作用。
- 评估器分布。 每一层各产出了多少分数,含回退。这正是本可以在第一天就抓到我们那次故障的健康检查。
- 在被标记集合上的一致性。 大模型层判为差的片段里,有多少人工也认同?这是唯一能说明这一层对得起成本的数字。
- 数字单独看。 数字完整性不是质量分。用确定性方法检查并单独报告——一份译文可以得 100 分,同时丢掉一个海关编码。
要点
- GEMBA-MQM 真正的优势是可审查性,而非相关性:带类别与片段的错误清单,是评审能据以行动的东西。
- GEMBA V2 以约 10× 的代价换取方差下降。 用在被标记的片段上,而不是作为默认层。
- MetricX-25 分数更高,但需要你自建基础设施——如果你只用 API,这是一个真实的取舍。
- 返回合理分数的回退会掩盖故障。 我们的连续数月返回固定 75;最终把它暴露出来的是分数上的评估器标记。
- 什么都不升级的前置过滤器,会让昂贵层沦为装饰。 测量升级率,并对着不对称代价去定阈值。
FAQ
什么是无参考质量评估?
仅用原文和译文来评判翻译,不依赖人工参考译文作比对。它是生产环境里唯一可用的测量方式,因为按定义那里不存在参考译文。
2026 年 GEMBA-MQM 还是正确选择吗?
对跑在付费 API 上的团队,是——它不需要托管任何东西即可复现,且输出是可审查的错误清单而非一个孤零零的分数。MetricX-25 在基准上更好,但要求你运维一个模型,那是另一种性质的承诺。
GEMBA V2 改变了什么?
它保留提示词,通过把判断采样约十次并用基于排序的加权平均聚合来降低方差。成本随采样次数增长,所以最好有选择地用在便宜层已经标记出的片段上。
质量评估为什么会对所有内容返回同一个分数?
因为大模型调用返回了空,而回退分支把空缺填上了。在我们这里,推理模型把整份词元预算花在了思考上,回退返回了一个看起来很真实的固定 75。修复只是一个开关;教训是回退必须与真实测量可区分。
质量评估应该覆盖数字准确性吗?
不应该——用确定性方法检查数字并单独报告。一个片段可以在质量上得 100 分,同时丢掉一个海关编码,因为少一位数不是流畅度问题,而任何质量指标都不是为发现它而设计的。
结语
无参考评估已经好到让有意思的问题从方法学转向了运维:哪一层跑在哪些片段上、一个分数被标注了什么、以及你眼前这个数字究竟有没有被测量过。
方法学文献会继续改进相关性。按我们的经验,更大的收获在别处——发现昂贵层已经悄悄停摆,以及发现便宜层从来就没让任何东西到达它。
如果你想要一套可以逐片段查看质量评估的文件翻译,试试 KTTC。
