专业书籍精读 · Generative AI System Design Interview · 第 3 章

Google 翻译:难的不是语言,是数据分布和一把量不准的尺子

Generative AI System Design Interview · Ch 3 · Ali Aminian, Hao Sheng & Alex Xu · 2024

EN →

这一章讲什么?

你在手机上拍一块外文路牌,几百毫秒后屏幕上出现一句通顺的中文。这一章讲的就是背后那台机器怎么造:它要同时伺候一百多种语言,其中大多数语言它几乎没见过几句像样的例句。

打个比方

老办法像一个查短语手册的人:把句子剪成小块,一块一块查手册、再拼回去。拼出来的你能看懂,但一读就知道不是人写的——没有哪一块知道整句在说什么。

新办法像一个真译员:先把整句听完,脑子里形成一个意思,然后一个词一个词地说出译文。而且他说每一个词的时候,眼睛会回到原文上再扫一遍,看看这个词该对着原文的哪个位置——这一下,长句子就不会说着说着走丢了。

旧世界为什么难

世界上有七千种语言,可网上的双语对照材料几乎全挤在十几种大语言上——英法之间要多少有多少,有些语言连一万句像样的对照句都凑不齐。更麻烦的是数量:两种语言之间要一个译员,一百种语言两两之间就是近一万个方向——不可能每个方向都单独养一个。

它是怎么做到的

第一,让一个人学会所有语言。 不给每一对语言各造一台机器,而是造一台,在句子开头贴一个小标签写明「翻成中文」。好处是语言之间会互相帮忙:它从西班牙语里学到的语法感觉,能借给几乎没学过的邻近语言用。甚至会出现一种怪事——有些方向它从没被教过,却也能翻,因为它分别学过这头和那头。

第二,给缺料的语言自己造练习题。 某种语言只有单语文章、没有对照译文,就先用现有的机器把它翻成英语,得到一份质量一般的「假对照」,再拿这份假题反过来练翻译。题目是假的,但确实能练出真本事。

第三,先决定谁多练。 如果照着网上语料的真实比例安排练习,那台机器九成时间都在练英语和法语,小语种永远轮不上。所以要人为地把小语种的练习配额调高——代价是大语种会略微退步。这是这一章最核心的那个取舍:盘子就这么大,多分给谁,就得少分给谁。

还有一个麻烦:尺子不准

怎么知道它翻得好不好?常用的办法是拿译文和一份「标准答案」比对,看重合了多少个词。可同一句话本来就有很多种正确译法——换个说法,词对不上、分数就掉,人读着却一样好。所以这个分数只能看大方向,真要判断好坏,最后还得请人来读。

一句话记住

翻译系统的工程难点不在「怎么把一种语言变成另一种」,而在怎么在极度不均的资源分配下照顾到所有人,以及怎么在没有唯一正确答案的任务上,衡量自己到底有没有变好。

想进到具体机制、记号和示意图? → 切到精读版