跳转至

Lecture23

LaTeX 源码

\makecscover

导论:两百种语言不是一个模型数字

这堂课讨论的不是“把 Transformer 再放大一点”,而是一个更难的系统问题:当可用数据、书写传统、语言标准、评测资源与真实需求都极不均衡时,怎样把机器翻译从少数高资源语言扩展到两百种语言,同时保住质量、安全性与可用性。NLLB(No Language Left Behind)把这个目标拆成一条完整链路:先访谈使用者,再建设评测集与种子数据,随后挖掘语料、训练多语模型、抑制过拟合,最后用自动指标、人工评测和 toxicity 检查共同验收。

\lecturefigure{slide-01-title.jpg}{No Language Left Behind:从语言覆盖走向人本机器翻译}{Stanford 课堂视频 00:00:54}

读图:标题里的三个关键词

\term{No Language Left Behind} 不是保证每种语言都已得到同等质量,而是研究方向;\term{Scaling} 不只指参数量,还包括语言数量、翻译方向、数据管线和评测能力;\term{Human-Centered} 则要求需求定义、数据标准、人工验收和安全边界都由真实使用者参与。整堂课的结构正是围绕这三层展开。

\teachervoice{Fan 开场说,她原本也可以讲 Llama 2,但 NLLB 与课程的生成式 AI 主题同样相关,而且这个问题对她有个人意义:英语是她的第三语言。这个动机提醒我们,多语系统不是抽象 benchmark,而是决定谁能被技术服务。}

本讲的系统命题

多语机器翻译的质量不是单一模型函数,而是一个耦合系统:

\[ Q = F(H,E,S,M,V), \]

其中 \(H\) 表示 human needs 与参与机制,\(E\) 表示 evaluation infrastructure,\(S\) 表示 source data 与 mining pipeline,\(M\) 表示 model/training,\(V\) 表示 validation 与 safety。任一环节缺失,增加参数或数据量都可能只扩大已有偏差。

阅读路线

本讲先解释为什么“支持多少语言”不能单独代表进步;随后沿课堂顺序讨论访谈、FLORES-200、NLLB-Seed、WikiMatrix/LASER3/Stopes、数据配方、MoE 与 curriculum learning;最后把自动指标、人类判断、toxicity 和课堂 Q&A 统一成一套可审计的评估框架。

本章小结

NLLB 的真正研究对象是“语言覆盖系统”,不是孤立模型。后文每一个数据集、架构和指标,都要放回需求、证据与安全的完整闭环中理解。

从语言覆盖率到真实可用性

要理解 NLLB 的起点,必须先区分三件经常被混为一谈的事:世界上存在多少书面语言,商业产品当时覆盖多少语言,以及其中多少语言真正达到可用、可靠、安全的翻译质量。课堂用一组极简 slide 把这三层逐步展开。

三千种书面语言与个人动机

第一张世界地图不是在追求一个精确不变的语言总数,而是在建立数量级:全球书面语言远多于主流数字产品覆盖的范围。它还暗示一个更深的问题——“有文字”并不等于“有大量数字文本”,更不等于存在可直接训练的高质量平行语料。

\lecturefigure{slide-02-written-languages.jpg}{全球存在三千种以上书面语言}{Stanford 课堂视频 00:01:24}

读图:语言存在、数字化与可训练是三层条件

地图上的语言首先需要稳定的语言或变体标识;其次需要可获取的数字文本;再次才可能拥有句子级对齐的双语语料。低资源语言可能在第一层非常活跃,却在后两层几乎不可见。因此,训练数据少不是使用者少、语言价值低或语言本身简单的同义词。

不要把“书面语言数量”当成固定真值

语言与方言边界、书写系统和标准化方式都包含社会选择。课堂数字用于说明覆盖鸿沟,不应用来给每种语言强行指定唯一代码或否定本地社区对名称、脚本和变体的判断。

\teachervoice{老师强调,多语技术并非从未存在;机器翻译本身就是生成式 AI 最成功、最普及的商业应用之一。问题不是“有没有翻译”,而是这种能力为何仍集中在少数语言。}

产品覆盖是时间快照,不是质量证明

接下来课堂把世界语言数量与当时 Google Translate、Microsoft Translator 的覆盖量放在同一张图上。这个对比的第一用途是呈现数量差距,第二用途则是提醒:产品页上的语言计数只说明接口支持,并没有告诉我们长文本、专业领域、低资源方向或安全场景中的误差分布。

\lecturefigure{slide-03-product-coverage.jpg}{课堂时间点的商业翻译产品语言覆盖}{Stanford 课堂视频 00:02:03}

读图:先比较数量级,再追问质量定义

图中产品覆盖约为百种量级,而书面语言是千种量级。第一眼应看到数量差;第二眼要追问每个“支持”是否包含双向翻译、是否经过母语者验收、是否对低资源方向同样有效。语言数是 coverage 指标,不是 quality、safety 或 equity 指标。

\teachervoice{Fan 在报出产品语言数时主动说,这些统计“可能已经有点过时”。因此讲义保留 2023 年课堂时间边界,而不把 slide 数字写成 2026 年的当前产品规格。}

目标不是翻倍,而是安全地翻倍

本节把前面的数量差距转成工程目标。NLLB 的项目问题被压缩成一句话:如果从约百种语言出发,怎样把覆盖翻倍?但 slide 随后补上的括号才是约束核心——不能只增加语言标签,还要尽量得到高质量、安全、真实可用的翻译。

\lecturefigure{slide-04-double-coverage-safely.jpg}{把语言覆盖翻倍,同时保持高质量与安全}{Stanford 课堂视频 00:02:51}

覆盖目标的正确写法

设语言集合为 \(\mathcal{L}\),系统可声称覆盖的方向集合为 \(\mathcal{D}\subseteq\mathcal{L}\times\mathcal{L}\)。真正目标不是只最大化 \(|\mathcal{L}|\)\(|\mathcal{D}|\),而是在每个方向满足最低质量、安全和可用性约束:

\[ \max |\mathcal{D}|\quad \text{s.t.}\quad q_d\ge \tau_q,\ s_d\ge \tau_s,\ u_d\ge \tau_u\quad \forall d\in\mathcal{D}. \]

其中 \(q_d\) 表示翻译质量,\(s_d\) 表示安全表现,\(u_d\) 表示使用者可用性;\(\tau\) 是项目定义的最低门槛。课堂没有给出统一阈值,公式用于说明多目标约束,而不是补造治理规则。

语言覆盖不能按标签计数

同一种语言可能包含不同脚本、地区变体与领域;同一对语言还分 into-English、out-of-English 和 non-English directions。若只把语言名称加到下拉菜单,系统可能在最需要帮助的方向上仍然不可用。

高资源描述的是数据,不是人口

课堂回顾历史进展时指出,机器翻译长期围绕高资源语言发展,Europarl 等机构平行语料成为早期基础。所谓 high-resource 主要描述可获得的训练与评测数据,而不是语言使用人口。一个使用者众多的语言,仍可能因为数字文本、标准化或平行语料不足而处于低资源状态。

\lecturefigure{slide-05-current-progress.jpg}{机器翻译从高资源语言逐步转向低资源语言}{Stanford 课堂视频 00:04:00}

读图:资源轴与人口轴彼此独立

左侧历史路径依赖机构化双语文本,右侧新进展依赖多语建模、弱监督和语料挖掘。读图时应把“数据资源量”与“人口规模”分开:资源多通常让建模容易,却不说明社会需求更大;资源少则会同时削弱训练、调参与评测。

术语消化:资源与数据

术语 解决的问题 本讲中的含义
High-resource language 描述数据充足度 有较多单语、双语与评测资源,不等于人口最多
Low-resource language 描述数据稀缺度 训练、标准化和人工评测资源不足
Monolingual data 学习单一语言分布 网页、文档等只含一种语言的文本
Bitext / parallel data 学习跨语言映射 语义对齐的源句与目标句对
Translation direction 明确输入输出方向 \(A→ B\)\(B→ A\) 是两个任务

本章小结

NLLB 的起点不是“世界有三千种语言,所以训练三千种”,而是把覆盖、质量、安全和可用性共同写入目标。高低资源描述数据条件;产品语言数只是时间快照,不能替代方向级评估。

先问人,再定义任务

如果研究对象与社区生活、教育和语言延续直接相关,模型团队不能仅凭 benchmark 想象需求。NLLB 先用访谈确认问题,再让母语者参与翻译与评测;这是课堂里最容易被模型细节遮蔽、却最重要的方法论转折。

怎样知道自己解决的是真问题

本节从覆盖目标回到问题定义。在展示任何数据管线之前,Fan 先提出研究判断:最重要的是确认团队正在解决真实问题,尤其当技术与人非常接近时。这个问题不是一句伦理口号,而是决定后续数据标准、成功条件和错误代价的第一步。

\lecturefigure{slide-06-real-problem.jpg}{在建模前确认问题对真实使用者成立}{Stanford 课堂视频 00:05:06}

读图:这是一道研究流程门,而不是开场修辞

如果使用者主要担心教育中的语言流失,系统就不能只优化新闻翻译;如果社区使用多个脚本或本地变体,统一到单一标准可能直接破坏可用性。需求访谈因此会改变数据采样、标签体系、评测场景和 release policy。

Human-centered 不等于最后做一次用户测试

更完整的参与链路是:

\[ \text{需求访谈}\rightarrow\text{语言标准协商}\rightarrow\text{专业翻译} \rightarrow\text{母语评测}\rightarrow\text{错误反馈与修正}. \]

使用者不是流水线末端的验收员,而是问题定义和证据生产的共同参与者。

访谈样本与方法边界

团队访谈了 44 位母语者,涉及 36 种语言与多个地区。这个样本不能代表所有低资源语言社区,却足以暴露纯技术路线看不到的问题:语言衰退感、主流教育语言挤压、被现有翻译系统纳入的期待,以及“并不完美但足够有用”的现实需求。

\lecturefigure{slide-07-speaker-interviews.jpg}{低资源语言母语者访谈的范围}{Stanford 课堂视频 00:05:54}

读图:样本数字说明探索范围,不提供总体推断

44 位受访者与 36 种语言显示团队主动跨语言收集意见,但每种语言对应的人数很少,且课堂也承认招募渠道带有地域与移民群体偏差。正确用途是形成 design hypotheses,再在翻译、评测和发布环节持续咨询,而不是把访谈比例写成全球统计结论。

\teachervoice{Fan 把这一步称为 social-sciences-type 或 sociology-type approach。她不是说访谈能替代实验,而是说在贴近人的问题上,先把目标问清楚,才知道后续实验应该测什么。}

语言衰退、技术纳入与“足够好”

访谈结果把机器翻译放进了更大的社会背景:部分使用者担心本地语言在教育和公共生活中衰退;与此同时,被主流翻译系统纳入会带来强烈期待。课堂还指出,使用者并不一定要求机器翻译达到专业人工翻译的全部标准,某些日常沟通场景中,明显有缺陷但方向正确的工具也可能产生价值。

\lecturefigure{slide-08-interview-findings.jpg}{访谈揭示的担忧、期待与可用性判断}{Stanford 课堂视频 00:07:03}

读图:三条发现分别作用于三个系统层面

语言衰退影响项目优先级与文化风险;“被纳入系统”的期待影响覆盖目标;自动翻译在现实使用中可能已足够,则要求评测区分专业出版、教育、旅行、健康等场景。不能用一个平均分替代这些不同风险容忍度。

“足够有用”不是降低低资源语言标准

场景化门槛允许不同任务有不同容错率,但不能据此把低资源语言永远停留在较差质量。尤其在医疗、公共卫生、法律和危机信息中,小词误译也可能造成严重后果,后文 toxicity 例子会具体展示这一点。

\teachervoice{课堂 Q&A 再次强调,母语者咨询应贯穿整个开发流程:从初始访谈,到专业翻译团队,再到人工评测与开放社区反馈。Human-centered 是生命周期属性,不是一次性 workshop。}

本章小结

NLLB 在建模前先确认真实需求,并把社区参与扩展到数据与评测。访谈提供的是设计证据和风险线索,不是代表性统计;“有用”必须按场景定义,不能成为降低质量责任的借口。

FLORES-200:先建评估基础设施

有了真实需求,下一步不是立刻训练,而是先回答“怎样知道系统真的进步”。低资源研究常见困境是训练集、验证集和指标都缺失;没有共同、可比、人工翻译的评测集,模型改进无法跨语言验证。FLORES 系列就是为这道基础设施缺口而建。

Evaluation-first 的研究顺序

本节解释为什么课堂先讲 evaluation、后讲 training。课堂明确把 evaluation datasets 放在 training datasets 之前。这个顺序表达了一条工程纪律:若成功条件、测试分布和失败类型尚未定义,训练迭代只会优化最方便测量的代理目标。

\lecturefigure{slide-09-evaluation-datasets.jpg}{NLLB 先讨论评测数据,再讨论训练数据}{Stanford 课堂视频 00:07:24}

读图:分节页也在表达优先级

这张 slide 几乎没有技术细节,却给出课程组织逻辑:benchmark 不是模型完成后的附属物,而是训练方向的坐标系。FLORES-200 先定义跨语言可比性,后续 data mining、MoE 和 curriculum 才能在同一尺度上判断得失。

\teachervoice{Fan 说自己要“先谈 evaluation data,因为把 evaluation 做准极其重要”。这句话应当读成研究方法:不要在没有可靠测试集时,用训练 loss 或少数高资源语言的结果代表全局。}

从 FLORES 到 FLORES-200

接下来需要理解 benchmark 如何逐代扩展。FLORES 最早围绕少量低资源语言建立评测,随后扩展到 FLORES-101,NLLB 再把覆盖推进到 FLORES-200。课堂提到名字源自 Facebook Low Resource,即使公司改名 Meta,项目仍保留 FLORES 这个名称。

\lecturefigure{slide-10-flores-101.jpg}{FLORES-101 为大规模低资源评测建立前身}{Stanford 课堂视频 00:08:12}

读图:benchmark 的价值来自共同源句与人工翻译

FLORES 让多种语言共享一批语义对应的句子,因此可以比较 into-English、out-of-English 和 non-English translation。它不是抓取现成网页再随机切分,而是用专业翻译和质量流程生产更稳定的评测锚点。

翻译方向为什么会组合爆炸

若有 \(N\) 种语言,并把 \(A\rightarrow B\)\(B\rightarrow A\) 视为不同方向,则最多存在

\[ D=N(N-1) \]

个有向翻译方向。\(N\) 表示语言数量,\(D\) 表示不含同语种复制的方向数。对 \(N=200\)\(D=39{,}800\);这解释了课堂所说的四万余方向,也解释了为什么训练数据不可能对每个方向都同样充分。

FLORES 的四个设计属性

本节进一步把“有一个评测集”拆成具体设计。课堂用 progressive bullets 展示 FLORES 的设计选择,最终状态包含四点:聚焦低资源语言、支持 many-to-many、覆盖多样主题与领域、保留 document-level context。这些属性分别应对覆盖偏差、方向偏差、领域偏差和孤立句偏差。

\lecturefigure{slide-11-flores-properties.jpg}{FLORES-200 的低资源、多对多、跨领域与文档级设计}{Stanford 课堂视频 00:09:57}

读图:四个属性对应四种 benchmark 失真

只选高资源语言会高估系统成熟度;只测 English-centric directions 会隐藏 non-English 退化;只测单一领域会把领域匹配误写成通用能力;只测孤立句会忽略代词、连贯性和上下文歧义。FLORES 不能消灭所有偏差,但它让这些失真显著减小并可被讨论。

Many-to-many evaluation 不等于 many-to-many supervision

评测集可以构造所有语言对的对照,不代表训练阶段拥有所有方向的平行语料。课堂 Q&A 明确说,NLLB 没有挖掘全部 \(200\times200\) 方向;许多方向依赖共享多语表示产生 zero-shot transfer。

专业翻译、自动检查与人工复审

FLORES 的生产流程从语言标准协商开始,然后把文档交给译者,经过自动检查、人工 reviewer 与 post-editing。若质量低于门槛,样本回到修订环节。这个循环说明高质量评测数据不是一次采购,而是需要语言标准、工具检查与专业判断共同约束。

\lecturefigure{slide-12-flores-collection-pipeline.jpg}{FLORES 从语言标准协商到复审与后编辑的流程}{Stanford 课堂视频 00:11:30}

读图:箭头中的回路比最后的完成节点更重要

先确定 script、拼写和变体标准,译者才知道目标文本应采用哪种形式;自动检查可以发现漏译、格式和异常字符,却不能独立判断语义自然度;reviewer 与 post-editing 负责把失败样本送回。图中的 Quality > 90% 是该流程的课堂展示条件,不应外推为所有语言项目的固定治理阈值。

\teachervoice{老师强调,真正困难的第一步往往是 alignment on language standards。若社区同时使用多种脚本、拼写和本地变体,团队必须先决定评测对象是什么,不能等模型训练完再补标签。}

翻译者、标准、脚本与地方变体

最后回到评测集的生产约束。最后一张评测数据 slide 把收集难点压缩为三类:找到合适译者,协调语言标准,以及处理多脚本与地方变体。它们看似是“数据运营”,实际上直接决定 benchmark 是否测到了目标语言,还是只测到一种机构化书写形式。

\lecturefigure{slide-13-flores-collection-challenges.jpg}{FLORES 数据收集中的译者与语言标准挑战}{Stanford 课堂视频 00:12:54}

读图:每个 bullet 都会传播到模型与指标

译者招募不足会扩大方差;标准选择不当会把合法变体判成错误;脚本混杂会破坏 tokenization 与 language identification;地方变体缺失会让模型在 benchmark 上很好,却无法服务真实社群。数据标准不是中立容器,而是整个系统的 measurement model。

Translationese 与 English-centric source

人工翻译评测集仍可能带有 translationese,即目标句保留源语言结构;若源内容主要来自英语语境,也可能缺少本地文化主题。高质量人工翻译显著改善可比性,但并不自动等于原生语料分布。

本章小结

FLORES-200 先为两百语言建立共同评估坐标,再让模型研究可比较。其价值来自低资源覆盖、多对多、跨领域、文档上下文和专业翻译流程;局限则包括标准选择、translationese 与源内容偏差。

从 Seed 到可挖掘的多语语料

评测集回答“做得怎么样”,训练数据还要回答“从哪里学”。对低资源语言,最大困难不是没有足够大的模型,而是连 language identification、句向量、语料清洗和 backtranslation 所需的可靠起点都缺失。NLLB-Seed 与随后的 mining pipeline 正是用少量高质量证据启动更大规模的弱监督生产线。

为什么不能从零开始

本节从评测基础设施转向训练数据的启动问题。数据挖掘常被描述为“从互联网找平行句”,但要判断网页属于哪种语言、两句是否语义相同、过滤器是否误杀,都需要已有的标注或可信表示。Seed data 的作用不是提供最终规模,而是校准这些基础组件。

\lecturefigure{slide-14-seed-data-why.jpg}{语言识别、句向量与翻译模型都需要可靠种子数据}{Stanford 课堂视频 00:13:51}

读图:一份 seed data 同时服务四个启动器

可靠目标语文本可以训练 language identification;对齐句对可以训练 sentence encoder;单语侧能辅助 language modeling;双语侧能启动 translation model。若最初数据被错误语言、机器翻译或脚本混用污染,错误会沿四条路径同时扩散。

Seed data 的杠杆作用

少量人工数据的价值不只由样本数决定,而由它能校准多少下游组件决定:

\[ \text{Seed}\rightarrow\{\text{LID},\text{Encoder},\text{Filter},\text{MT}\} \rightarrow\text{Mined/BT Data}\rightarrow\text{Better MT}. \]

这是一条 bootstrapping loop。早期质量决定后续伪标签与挖掘语料的误差上限,因此 seed 的边际价值可能高于同量随机网页文本。

NLLB-Seed:小而可信的启动资源

课堂 slide 报告 NLLB-Seed 覆盖 43 种语言、约 6,193 句,并说明内容来自 Wikimedia 的通识主题列表。NLLB 论文最终发布口径会因版本和语言选择略有不同;本讲保留课堂 slide 数字,同时把它理解为“几千句、数十种语言”的高质量种子资源,而不是大规模训练主体。

\lecturefigure{slide-15-nllb-seed.jpg}{NLLB-Seed 的语言数、句子数与通识主题来源}{Stanford 课堂视频 00:14:18}

读图:为什么选通识主题而不是随机网页

通识主题能覆盖人物、历史、地理、科学等多类内容,并减少单一网站模板噪声;连续句还给译者上下文。代价是源内容仍偏英语 Wikipedia 的知识结构,目标文本也可能带 translationese。Seed 的目标是可靠启动,不是代表所有本地文化与口语场景。

\teachervoice{Fan 用“can't start from nothing”概括低资源生成任务:没有少量可靠句子,既难知道文本是什么语言,也难建立最初翻译。Seed data 的教学重点是起点质量,而不是样本数竞赛。}

WikiMatrix:大规模挖掘的前身

WikiMatrix 展示了一个关键可能性:用多语句向量在 Wikipedia 中寻找语义对应句,可以跨大量语言对产生平行数据。它为 NLLB 说明了 embedding-based mining 能扩大覆盖,但 Wikipedia 规模与主题有限,真正扩到两百语言还要面向更杂乱的开放网页。

\lecturefigure{slide-16-wikimatrix.jpg}{WikiMatrix 用多语句向量挖掘大规模平行句}{Stanford 课堂视频 00:15:00}

读图:标题里的 135M 与 1620 是规模,不是质量保证

挖掘候选数越多,假阳性也可能越多。WikiMatrix 的贡献在于把句向量检索变成可扩展 pipeline;NLLB 仍需更好的 encoder、语言识别、margin score、过滤与人工验证,才能把网页相似句转成可训练 bitext。

Sentence Alignment:从网页到句对

课堂把句对挖掘分成三个层次:从 Common Crawl 找可能相关的网页内容,抽取和清洗文本,再用句向量寻找匹配。任何一层失败都会造成错配:网页模板可能相似而正文不同,分句器可能不适配脚本,向量也可能把同主题但不同事实的句子拉近。

\lecturefigure{slide-17-sentence-alignment.jpg}{从 Common Crawl 内容匹配到句子级 alignment}{Stanford 课堂视频 00:15:39}

读图:alignment 不是字符串匹配

系统先缩小候选文档,再把句子编码为共享向量,最后比较语义接近度。读图时应区分 content retrieval 与 sentence retrieval:前者降低搜索空间,后者决定是否形成正样本。若直接全局最近邻,常见模板与短句会淹没真正翻译。

设源句 \(x\) 和目标句 \(y\) 的向量分别为 \(f(x)\)\(g(y)\),最基本的相似度是

\[ \operatorname{cos}(x,y)=\frac{f(x)^\top g(y)}{\lVert f(x)\rVert_2\lVert g(y)\rVert_2}. \]

其中 \(f,g\) 表示多语 sentence encoder,分子是内积,分母把向量归一化。实际 mining 常用 margin-based score,把候选相似度与局部邻域平均相似度比较,以降低 hubness 与通用句子的干扰。

句向量平行语料挖掘的概念流程
for source_document in crawl:
    target_candidates = retrieve_related_documents(source_document)
    source_sentences = clean_and_segment(source_document)
    target_sentences = clean_and_segment(target_candidates)
    pairs = nearest_neighbors(source_sentences, target_sentences)
    keep = margin_filter(pairs, language_id=True, quality=True)
    send_selected_samples_to_bilingual_validation(keep)

Encoder quality:低资源语言的第一道瓶颈

若 sentence encoder 只在高资源语言上形成良好共享空间,低资源句子会聚成错误邻居,后续 mining 再大也只是批量生成噪声。课堂比较 masked language modeling 与 multilingual distillation:前者利用单语上下文,后者让多语 student 模仿更强 teacher 的语义空间。

\lecturefigure{slide-18-encoder-training.jpg}{用 masked language modeling 与 multilingual distillation 改善 encoder}{Stanford 课堂视频 00:16:33}

读图:两个目标分别补语言建模与跨语对齐

Masked language modeling 让 encoder 学习目标语言内部结构;multilingual distillation 用语义等价句把不同语言拉到共享空间。前者不能单独保证跨语对齐,后者又依赖可靠 teacher 和配对数据;NLLB 把二者结合,以提高极低资源语言的 mining recall 与 precision。

Encoder 分数会变成数据选择偏差

Mining pipeline 只看得见 encoder 能表示的相似性。如果某种脚本、领域或变体在 encoder 中质量差,它的句子会更少进入训练集,模型随后又更难改进该语言,形成 data flywheel 的负反馈。

LASER3:先让表示更公平,再谈规模

前面已经说明 encoder 决定 mining 能看见什么;本节用 LASER3 结果验证这道瓶颈。结果图按语言比较句向量质量。课堂希望读者看到的不是“所有柱都变高”,而是新 encoder 对许多原本很弱的语言显著改善,使它们更可能在网页挖掘中找到正确候选。

\lecturefigure{slide-19-laser3-encoder-quality.jpg}{LASER3 相对早期 LASER 的跨语言 encoder 质量}{Stanford 课堂视频 00:18:48}

读图:先找低基线语言,再看改善是否普遍

横轴是语言,纵轴是 encoder 相关质量指标;浅色/深色柱对应不同版本。最重要的不是平均提高,而是尾部语言是否从几乎不可用提升到能支撑 mining。图也没有证明最终翻译质量必然同比提高,因为后面还有网页可见性、过滤和模型训练瓶颈。

\teachervoice{老师把 encoder quality 称为 low-resource challenge:在高资源语言上可行的 mining 方法,若共享表示对某些语言失败,就会在进入模型前把它们排除。}

迭代式数据工厂,而不是一次 ETL

完整 slide 把 language identification、monolingual cleaning、sentence mining、filtering、模型训练和 bilingual validation 连成循环。每次模型与 encoder 改进,都可能重新发现更好的数据;每次人工验证发现系统性错误,也要回到 LID、清洗或阈值设置。

\lecturefigure{slide-20-data-pipeline.jpg}{NLLB 的低资源数据管线与人工验证回路}{Stanford 课堂视频 00:21:15}

读图:沿箭头找反馈,而不是只读方框

LID training data 支撑网页语言分类;清洗后的 monolingual data 进入 mining;候选 bitext 经 filtering 后训练 MT;模型输出和样本再由双语人员验证。图中多条回路意味着数据、模型和评测共同迭代,任何固定阈值都需要按语言重新校准。

Pipeline 的误差传播

若第 \(i\) 阶段的有效 precision 为 \(p_i\),把各阶段近似看成串联过滤,则最终候选的粗略可信度受

\[ P_{\text{effective}}\approx\prod_i p_i \]

约束。\(p_i\) 表示 LID、清洗、文档匹配、句对打分等阶段的正确率。该式不是精确概率模型,但说明多个“还不错”的组件串联后仍可能显著损失质量,因此需要抽样人工验证和回路修正。

Stopes:把研究管线开放为基础设施

本节从算法流程进一步转向可复现工程。课堂随后给出 Stopes 的开源入口。开放的不只是最终模型,还包括处理单语网页、挖掘 bitext 和复现数据生产的工具。这种 release 让外部研究者能够检查过滤逻辑、替换语言组件并补充本地数据,而不是只能下载一个不可解释的 checkpoint。

\lecturefigure{slide-21-stopes-open-source.jpg}{Stopes:NLLB 开放的多语数据挖掘工具}{Stanford 课堂视频 00:21:45}

读图:开源层级决定可复现深度

只开放模型只能复现 inference;开放 benchmark 可以复现 evaluation;开放 LID、encoder、mining 和 filtering 工具,才允许重建 training data。Stopes 位于第三层,它不能替代本地语言知识,却使数据管线的工程假设更可检查。

极低资源语言的硬下限

最后需要界定 pipeline 无法突破的硬下限,也要把算法召回不足与互联网根本不存在足够文本区分开来。即使拥有大规模 mining,某些语言仍几乎没有足够单语网页文本;独特脚本可能让通用清洗和分词失败,网上内容还可能集中在宗教或单一领域。此时“抓更多网页”不会自动产生多样、平衡、可靠的训练信号。

\lecturefigure{slide-22-very-low-resource-challenges.jpg}{极低资源语言中的单语瓶颈、脚本与领域限制}{Stanford 课堂视频 00:22:36}

读图:三条挑战对应三种不可互换的补救

单语量不足需要社区数据、语音或其他来源;独特脚本需要定制 normalization、分词和 LID;领域集中需要有意识地扩展主题,而不是简单重复采样。更大模型不能创造不存在的文本证据,只会更充分地拟合现有偏斜。

规模不能穿透 data floor

当 web presence 接近零时,mining recall 的上限由数据存在性决定;当网页只有一种领域时,增加 crawl 规模主要产生重复。工程计划必须把“缺数据”和“算法没找到数据”分开诊断。

\teachervoice{Fan 明确说,对极低资源语言,即使做大规模 mining 也非常困难,monolingual data 才是 limiting factor。这个判断把问题从算力不足重新定位到语言数字化与数据可见性。}

本章小结

NLLB 用高质量 seed 启动 LID、encoder、mining 和 MT,再通过 LASER3 与 Stopes 建立迭代数据工厂。系统上限同时受表示质量、网页可见性、脚本处理、领域多样性和人工验证约束。

数据配方:从来源属性到长尾平衡

有了 mining pipeline,还不能把所有句对直接混入训练。不同数据源在人工对齐、噪声、规模和模型依赖上差异巨大;这些属性决定了错误相关性、可扩展性与偏差。课堂先列模型挑战,再用 Transformer 示意图建立最小背景,随后把五类数据放进同一比较表。

模型阶段面对的三类挑战

本节承接数据管线,说明更多数据为何立刻转化为模型问题。数据量扩大后,模型要同时处理有效增强、语言干扰和容量扩展。低资源语言需要共享高资源表示获得 transfer,但过度共享又可能产生 interference;增加容量可缓解竞争,却会让稀少任务更快过拟合。

\lecturefigure{slide-23-model-challenges.jpg}{数据增强、语言干扰与模型规模的耦合挑战}{Stanford 课堂视频 00:23:36}

读图:三个 bullet 形成张力,不是独立 TODO

Data augmentation 增加覆盖,却可能引入模型生成噪声;减少 language interference 常依赖更多专门容量,却提高过拟合风险;扩大模型又增加训练与路由复杂度。后面的 MoE、EOM 和 curriculum 正是对这组三角矛盾的联合回应。

Encoder-decoder Transformer 的翻译路径

NLLB 使用 encoder-decoder translation model。Encoder 把完整源句编码为上下文化表示,decoder 在源表示与已生成目标前缀条件下逐 token 预测目标句。与 decoder-only prompting 相比,这一结构显式分开源端理解和目标端生成。

\lecturefigure{slide-24-transformer-preliminaries.jpg}{机器翻译中的 Transformer encoder-decoder 流程}{Stanford 课堂视频 00:24:03}

读图:上下两条堆栈承担不同条件

上方 encoder 同时读取源 tokens,形成跨位置表示;下方 decoder 使用 causal mask,只能看到目标前缀,并通过 cross-attention 访问 encoder。训练时常用 teacher forcing,推理时则依赖自己先前生成的 token,因此错误可能逐步累积。

给定源序列 \(x\) 与目标序列 \(y=(y_1,\ldots,y_T)\),条件生成目标为

\[ \mathcal{L}_{\text{MT}}(x,y)=-\sum_{t=1}^{T}\log p_\theta(y_t\mid y_{<t},x). \]

\(\theta\) 表示模型参数,\(y_{<t}\) 表示目标前缀,\(p_\theta\) 表示下一 token 条件概率,\(T\) 表示目标长度。数据源差异最终都会改变这个损失中出现的 \((x,y)\) 分布。

五类数据源不能只按数量比较

课堂表格逐项加入 NLLB-Seed、public bitext、mined bitext、multilingual MT backtranslation 与 bilingual SMT backtranslation。最终表要求读者比较四个属性:是否人工对齐、是否有噪声、规模是否受限、是否依赖已有模型。

\lecturefigure{slide-25-data-source-comparison.jpg}{NLLB 训练数据来源的 provenance、噪声、规模与依赖}{Stanford 课堂视频 00:26:03}

读图:逐列读比逐行背名字更重要

Human-aligned 通常质量高但规模有限;public bitext 可能来自多种来源,质量不一;mined data 可扩展但依赖 encoder 与过滤;MMT/SMT backtranslation 能利用单语数据,却继承 teacher model 偏差。没有一种来源同时满足人工对齐、无噪声、无限规模与模型无关。

术语消化:训练数据来源

来源 解决的问题 主要风险与课程关系
NLLB-Seed 提供可信启动句对 小规模、英语中心、可能有 translationese
Public bitext 复用既有双语资源 来源异构,清洗和许可边界不同
Mined bitext 从网页扩大平行语料 依赖 LID、encoder、阈值,含错配噪声
MMT backtranslation 用多语 teacher 生成伪源句 teacher 偏差跨语言共享,低资源质量不稳
SMT backtranslation 用双语统计模型生成伪源句 能提供不同归纳偏置,但覆盖与质量受限

原始分布:少数语言占据绝大多数数据

前面的来源表解释了数据性质,本节进一步看数量分布。仅合并 public 与 seed data 时,语言间训练量跨越多个数量级。图中的高资源语言形成高柱,低资源语言贴近底部;若直接按原始频率采样,模型更新几乎总被大语言支配。

\lecturefigure{slide-26-public-seed-data.jpg}{Public 与 seed data 呈现极端长尾分布}{Stanford 课堂视频 00:26:33}

读图:纵轴是对数尺度,低柱并非小幅落后

对数纵轴意味着相邻高度差可能对应十倍、百倍数据差。先比较长尾跨度,再观察具体低资源语言。简单均匀采样会重复使用少量样本并过拟合;按自然频率采样又会让它们几乎不出现,因此需要数据增强与受控采样共同介入。

数据平衡不是把每种语言复制到同样多

重复采样不会增加新信息,反而使低资源方向更快记忆训练集。平衡策略必须同时考虑有效样本多样性、噪声、方向、训练时长和模型容量。

Mining 与 backtranslation 扩大长尾

接下来观察 augmentation 如何改变长尾。加入 mined bitext 与 backtranslation 后,许多低资源方向获得更大训练量,长尾被抬高。但图仍保留明显差异,说明 augmentation 的作用是改善覆盖,不是把所有语言变成同一数据条件。

\lecturefigure{slide-27-mining-backtranslation.jpg}{Mining 与 backtranslation 扩展低资源训练数据}{Stanford 课堂视频 00:27:00}

读图:柱变高时还要问数据来自哪里

Primary data 是人工或公开对齐语料;mined data 来自网页相似句;BT data 由模型根据单语目标句生成伪源句。三种颜色叠加后总量增加,但可信度与误差结构不同。低资源语言若主要靠 BT,模型可能在闭环中强化 teacher 的固定错误。

Backtranslation 以目标语言单语句 \(y\) 为起点,用反向模型 \(q_\phi(x\mid y)\) 生成伪源句 \(\hat{x}\),再训练正向模型:

\[ \hat{x}\sim q_\phi(x\mid y),\qquad \mathcal{L}_{\text{BT}}=-\log p_\theta(y\mid\hat{x}). \]

\(q_\phi\) 是 teacher/backward model,\(p_\theta\) 是待训练正向模型,\(\hat{x}\) 是 synthetic source。其价值是利用大量单语目标文本;风险是 \(q_\phi\) 的错误成为训练标签。

带 provenance 与质量控制的 backtranslation 概念流程
for target_sentence in target_monolingual_corpus:
    synthetic_source = backward_model.translate(target_sentence)
    score = quality_filter(synthetic_source, target_sentence)
    if score >= language_specific_threshold:
        training_buffer.add(
            source=synthetic_source,
            target=target_sentence,
            provenance="backtranslation",
            teacher=backward_model.version,
        )

\teachervoice{课堂的关键转折是:把多种数据“都放进来”之后,问题并没有结束。更多数据带来更复杂的噪声与长尾,模型需要处理语言间干扰和低资源过拟合。}

本章小结

NLLB 的数据配方由人工 seed、公开 bitext、mined bitext 和两类 backtranslation 组成。每类来源都用不同方式交换质量、规模与模型依赖;长尾改善不等于信息平衡,必须继续从模型与训练调度控制过拟合。

MoE、过拟合与课程学习

当两百语言和大量方向共享模型时,dense 网络的固定容量要同时服务差异巨大的任务。Mixture of Experts(MoE)用条件路由扩大参数容量,但稀疏专家也更容易让低资源任务找到一条可记忆训练集的专门路径。课堂因此把 MoE 与 dropout、Expert Output Masking 和 curriculum learning 连续讲解。

Token-level MoE:条件容量而非免费容量

MoE 在部分 feed-forward 层放置多个 expert,每个 token 只路由到少数专家。总参数量可以很大,而每个 token 的实际计算较稀疏。不同语言或结构可能形成一定 specialization,从而减少所有任务挤在同一 dense 子层中的 interference。

\lecturefigure{slide-28-moe-architecture.jpg}{Token-level Mixture of Experts 的容量、干扰与过拟合权衡}{Stanford 课堂视频 00:27:45}

读图:三条 bullet 是一条因果链

Token-level MoE 增加条件容量,可能让语言共享与专家化并存;专家路径可以降低一部分 interference;但低资源 token 反复进入少数专家时,额外容量会更快记住小数据。MoE 解决容量竞争,却把 regularization 变成更核心的问题。

设 token 表示为 \(h\),有 \(E\) 个专家 \(f_e\),路由器给出权重 \(g_e(h)\),Top-\(k\) 专家集合为 \(\mathcal{T}_k(h)\),则 MoE 输出可写为

\[ \operatorname{MoE}(h)=\sum_{e\in\mathcal{T}_k(h)} g_e(h)f_e(h). \]

\(E\) 表示专家总数,\(k\) 表示每个 token 激活的专家数,\(f_e\) 是 expert FFN,\(g_e(h)\) 是归一化路由权重。总参数随 \(E\) 增加,但单 token 计算主要随 \(k\) 增加。

术语消化:MoE 组件

术语 机制 风险/课程关系
Expert 独立 FFN 子网络 形成条件容量,也可能记忆小任务
Router / gate 为 token 选择专家 路由偏置会集中负载或固化语言分工
Top-\(k\) routing 只激活少量专家 控制计算量,但需要 load balancing
Language interference 任务更新互相伤害 共享过强时低资源语言被高资源梯度淹没
Overfitting 训练继续、验证变差 低资源方向更早出现,需要正则与调度

Dense dropout、MoE dropout 与 EOM

课堂的三联图比较 dense model、MoE 加普通 dropout,以及 MoE 加 Expert Output Masking(EOM)。普通 dropout 对 dense 模型有效,却不足以完全抑制 MoE 低资源方向过拟合;EOM 随机屏蔽一部分 token 的 expert output,使路由得到的专门容量不能在每次更新中都被依赖。

\lecturefigure{slide-29-dropout-eom-results.jpg}{Dense、MoE、dropout 与 Expert Output Masking 的验证曲线}{Stanford 课堂视频 00:29:18}

读图:上排低资源、下排高资源,先看曲线拐点

横轴是训练 updates,纵轴包含质量或验证 perplexity。低资源方向会更早出现“继续训练但验证变差”的拐点;高资源方向通常能持续受益。EOM 的目标不是让训练更快,而是推迟低资源过拟合,同时尽量保留 MoE 容量优势。

对 token \(t\) 和被选专家 \(e\),EOM 可抽象为

\[ \widetilde{f}_e(h_t)=m_{t,e}f_e(h_t),\qquad m_{t,e}\sim\operatorname{Bernoulli}(1-p_{\text{eom}}). \]

\(m_{t,e}\) 是随机 mask,\(p_{\text{eom}}\) 是屏蔽概率,\(f_e(h_t)\) 是专家输出。真实实现与 Top-\(k\) 组合更细致,但核心是随机跳过部分 expert contribution,而不是只对最终 dense activation 做普通 dropout。

EOM 不是“关闭坏专家”

Mask 是训练时随机正则,不是根据语言质量永久禁用某个专家。它降低模型对固定 token-expert 路径的依赖;若把它理解成静态 expert pruning,就会误读曲线与部署行为。

\teachervoice{Fan 用 very easy to overfit 形容 MoE 的额外容量。课堂不是把 MoE 当作无条件优于 dense 的架构,而是把它和低资源 regularization 一起视为同一个设计。}

Curriculum learning:按过拟合时间安排进入训练

本节从空间正则转向时间调度。不同语言对的数据量与可训练时长不同。NLLB 先观察无 curriculum 训练中每个方向何时开始过拟合,再把方向分桶;越早过拟合的方向越晚加入训练,使其经历更少 updates,高资源方向则更早进入、训练更久。

\lecturefigure{slide-30-curriculum-learning.jpg}{根据语言对过拟合时间分桶并分阶段加入训练}{Stanford 课堂视频 00:30:21}

读图:schedule 的依据是验证行为,不只是样本数

语言对数据少通常更早过拟合,但相同样本数也可能因噪声、脚本或迁移效果表现不同。课堂方案先测量 overfitting onset,再设 bucket 和 introduction time。这样 curriculum 是经验诊断驱动,而不是固定地“先高资源、后低资源”。

设总训练步数为 \(T\),语言对 \(d\) 在基线训练中约经过 \(k_d\) 步后开始过拟合,则可把它安排在

\[ t_{\text{start}}(d)=T-k_d \]

时加入。\(t_{\text{start}}(d)\) 是加入时刻,\(T\) 是总步数,\(k_d\) 是该方向可承受的训练窗口。实际系统使用分桶中位数而非每方向独立时间,以降低调度复杂度。

基于验证集过拟合时间的 phased curriculum
baseline = train_without_curriculum(all_directions)
for direction in all_directions:
    onset[direction] = first_overfitting_step(baseline.validation(direction))

buckets = cluster_by_onset(onset)
model = initialize_model()
for step in range(total_steps):
    active = directions_whose_bucket_has_started(step, buckets)
    model.update(sample_batch(active))

Curriculum 与 EOM 不是简单相加必然更好

NLLB 论文中的 ablation 显示,在较小设置里 EOM 已缓解过拟合时,再加 curriculum 可能无益甚至略降;在完整大规模设置中组合又能改善低资源方向。结论应绑定模型、数据和训练规模,不能写成普适配方。

本章小结

MoE 用 token-level routing 增加条件容量并缓解干扰,却放大低资源过拟合。EOM 对 expert output 做随机正则,curriculum 则按验证集过拟合时间控制训练窗口;两者效果依赖具体规模与数据条件。

结果必须按方向、资源与指标拆开读

模型训练完成后,最危险的做法是只报一个平均分。两百语言包含 into-English、out-of-English 和 non-English directions,也包含 high、low、very-low resource groups;平均值会让数量多或分数高的组掩盖真正薄弱的方向。课堂用三张表逐步训练这种分解阅读能力。

先与前代多语系统比较

本节从训练机制转入系统级结果,先建立历史基线。FLORES-101 对比表把 NLLB 与 M2M-100、DeepNet 等前代系统放在同一 evaluation setup。读表时应确认每个模型覆盖的语言数、参数/训练数据和 metric 是否一致,再看平均分变化。

\lecturefigure{slide-31-flores101-comparison.jpg}{NLLB 与前代多语系统在 FLORES-101 上的比较}{Stanford 课堂视频 00:32:06}

读图:先看列定义与缺失项,再看赢家

表格分别列出 into-English、out-of-English、non-English 与平均结果;-/- 表示某些来源没有可直接比较结果。NLLB 的提升支持“数据、模型和训练联合改进”,却不能单凭一张表分离其中每个组件的独立贡献。

模型代际比较要控制 evaluation protocol

分词器、语言集合、checkpoint、解码设置和 metric implementation 都会改变分数。若协议不同,表中的数值只能作为课堂时间点的系统级参考,不应被重新排列成脱离上下文的永久 leaderboard。

FLORES-200:按资源层级拆分

FLORES-200 表把 out-of-English 与 into-English 进一步分为 all、high、low、very-low,并单列 non-English。它让读者看到总体提升是否真正落到低资源尾部,而不是只来自高资源语言。

\lecturefigure{slide-32-flores200-results.jpg}{FLORES-200 按方向和资源层级报告的结果}{Stanford 课堂视频 00:33:09}

读图:先横向比较资源层级,再纵向比较方向

同一行中 high 到 very-low 的落差表示资源条件影响;同一资源层中 into 与 out-of-English 的差异表示方向不对称;non-English 汇总依赖多语 transfer。平均值能概括系统,却不能替代这三种诊断。

课堂结果同时出现 BLEU 与 chrF++。BLEU 主要比较 tokenized n-gram precision 并带长度惩罚;chrF++ 更依赖字符 n-gram,并加入 word n-gram,在形态丰富或 tokenization 不稳定的语言中常更稳健。二者都只是 reference-based automatic metrics。

术语消化:结果表中的指标

指标/分组 解决的问题 不能证明什么
BLEU / spBLEU 以统一分词比较 n-gram 匹配 不直接代表语义、自然度或安全
chrF++ 用字符与词 n-gram 降低分词敏感性 仍依赖参考译文,不能覆盖所有合法表达
Into-English 多语言输入到英语 不能代表目标为低资源语言的生成质量
Out-of-English 英语输入到多语言 容易受目标端生成与数据稀缺影响
Non-English 两个非英语语言间翻译 常依赖 transfer,训练方向覆盖不均

与商业系统比较的正确边界

课堂再把低资源方向与 Google Translate 等外部系统放在一起。这个对比用于说明 NLLB 在研究覆盖和公开模型上的竞争力,但外部产品不断更新,支持语言、解码和内部数据也不可见,因此它不是稳定基准。

\lecturefigure{slide-33-external-system-comparison.jpg}{NLLB 与课堂时间点商业翻译系统的结果比较}{Stanford 课堂视频 00:33:27}

读图:产品对比首先是一张时间戳快照

先确认哪些语言方向双方都支持,再比较低资源列;空缺不应视为零分。商业系统可能使用未公开数据和人工规则,NLLB 则强调开放研究资产。表格支持“在部分方向达到有竞争力质量”,不支持“所有场景全面优于产品”。

44% BLEU 是相对提升

若前代分数为 \(B_{\text{old}}\),新分数为 \(B_{\text{new}}\),相对提升定义为

\[ r=\frac{B_{\text{new}}-B_{\text{old}}}{B_{\text{old}}}\times100\%. \]

\(r=44\%\) 不表示 BLEU 增加 44 个绝对点,也不表示每个语言对都提升 44%。它是 NLLB 项目在指定比较集合与协议下报告的总体相对改进。

\teachervoice{Fan 给出一个课堂经验判断:某些指标大约到 30 左右会开始“相当可用”。她把它称为 rule of thumb,而非普遍阈值;语言、方向、领域和错误代价都会改变可用性。}

本章小结

结果必须按 translation direction、resource level 与 metric 拆开。自动表格能支持快速系统比较,却不能证明用户感知质量、安全或所有方向一致提升;44% 是有条件的相对改进,不是绝对质量承诺。

人工评估与安全:平均质量之外的真实风险

自动指标适合大量实验迭代,但多语系统的最终对象是人。不同语言评审者可能使用不同尺度,reference-based score 也无法判断所有语义、礼貌和文化问题。课堂因此把 human evaluation 与 toxicity 分成独立工作流。

Automatic metrics 快,human evaluation 才接近真实使用

本节进一步追问自动结果能否代表人类体验。课堂 slide 用一句对比概括两者分工:自动指标快速、适合研究迭代;人工评估昂贵、缓慢,却更接近真实质量。这里不是二选一,而是用自动指标筛选方案,再用人工判断校准最终结论。

\lecturefigure{slide-34-human-evaluation.jpg}{自动指标用于快速迭代,人工评估用于真实质量判断}{Stanford 课堂视频 00:33:45}

读图:速度与效度是两个轴

Automatic metrics 能对四万方向快速计算,并支持 ablation;human evaluation 能判断语义保真、自然度和可接受性,却受成本、评审标准与语言覆盖限制。成熟流程需要自动指标提供 breadth,人工评估提供 validity。

自动分数的小幅提升未必可感知

BLEU/chrF++ 增加可能来自词形或参考匹配,并不必然改善用户体验。尤其在分数接近时,必须检查置信区间、语言分组和人工偏好,而不是把小数点后的差异写成产品级突破。

\teachervoice{Fan 直接把 human evaluation 称为 real deal。她不是否定 automatic metrics,而是提醒:研究 iteration 的代理目标不能自动升级为真实使用结论。}

跨语言评审尺度需要校准

Consistent Human Evaluation 研究要解决的问题是:不同语言对的评审者如何给出可比较分数。若某个语言社区普遍更严格,简单平均会把审稿尺度差异误当成模型差异;因此需要共同任务说明、培训、质量检查和适当标准化。

\lecturefigure{slide-35-human-evaluation-paper.jpg}{跨语言对的一致人工机器翻译评估}{Stanford 课堂视频 00:34:27}

读图:论文标题强调 consistent,而非只强调 human

人工评估并非天然客观。评审者需要理解源句和目标句,区分 adequacy 与 fluency,并遵守共同 rubric。跨语言一致性决定不同方向能否放在同一图中比较;否则语言间柱高差可能混入评审文化与尺度差异。

设方向 \(d\)\(n_d\) 个有效人工评分 \(r_{d,i}\),最简单均值为

\[ \bar r_d=\frac{1}{n_d}\sum_{i=1}^{n_d}r_{d,i}. \]

\(r_{d,i}\) 是第 \(i\) 个评分,\(n_d\) 是该方向有效样本量,\(\bar r_d\) 是方向平均。实际比较还需要不确定性、评审者效应与样本难度校正;只报 \(\bar r_d\) 会隐藏方差。

读人工结果:into、out-of 与 non-English

完成评审尺度校准后,本节再读最终人工结果。课堂柱状图把三类方向放在一起。最终 progressive state 展示不同语言或语言组的人工质量分布,目的是检查自动指标中的提升是否转化为人可感知改善,以及哪些方向仍显著落后。

\lecturefigure{slide-36-human-evaluation-results.jpg}{NLLB 在三类翻译方向上的人工评估结果}{Stanford 课堂视频 00:36:03}

读图:先看组内差异,再看组间均值

绿色、蓝色等柱对应 into-English、non-English、out-of-English 分组。先找每组内部的低谷,判断弱点是否集中在目标端低资源生成;再比较整体位置。图支持 NLLB 获得广泛人工改善,但同样显示语言间差异远未消失。

柱状图不能证明因果

人工结果来自完整系统,无法单独归因于 LASER3、mining、MoE、EOM 或 curriculum。要判断组件贡献必须结合 controlled ablation;最终系统图只回答联合方案是否在评测分布上有效。

Toxicity:不是所有翻译错误都同样严重

本节从平均质量进一步转向尾部安全风险。质量平均分可能把灾难性错误淹没。课堂举出 COVID 场景中 wash hands 被译成 hold hands 的例子:两个短语词面接近,但行为含义相反。对公共卫生信息,这种错误的代价远高于轻微语序不自然。

\lecturefigure{slide-37-toxicity-error-severity.jpg}{公共卫生例子说明翻译错误具有不同严重度}{Stanford 课堂视频 00:37:12}

读图:错误严重度取决于语境与行动后果

普通 metric 可能把一词差异视为局部 mismatch,但使用者会据此采取完全不同动作。安全评估需要识别 meaning inversion、added toxicity、遗漏否定和身份攻击等高代价模式,并按领域单独报告,而不是只依赖平均 BLEU。

质量与安全必须双轴报告

可把方向 \(d\) 的验收写成二维条件:

\[ \text{Accept}(d)=\mathbf{1}[q_d\ge\tau_q]\cdot \mathbf{1}[a_d\le\tau_a], \]

其中 \(q_d\) 是一般质量,\(a_d\) 是 added-toxicity 或其他高风险错误率,\(\tau_q\) 是质量下限,\(\tau_a\) 是风险上限。课堂没有规定统一阈值;公式用于说明高平均质量不能抵消安全失败。

\teachervoice{Fan 问“为什么我这么关心 toxicity”,随后用公共卫生误译说明:翻译系统的错误不是等价 token mismatch,而会改变真实行为。安全要求必须进入模型发布前评估。}

Toxicity-200:文化相关的检测资源

有了高风险错误例子,接下来需要建设可扩展检测资源。团队为两百语言收集 toxicity lists,并强调这些词表具有文化特异性。相同词在不同社区的攻击性、语境与禁忌可能不同,直接翻译英语脏词表会同时产生漏报和误报。

\lecturefigure{slide-38-toxicity-lists.jpg}{两百语言的文化特异 toxicity lists 用于检测与缓解}{Stanford 课堂视频 00:38:15}

读图:词表是探针,不是完整安全模型

Toxicity list 可以检测源句没有、译文却新增的有害词,适合大规模 screening;但它无法理解引用、否定、重夺用语或上下文,也可能漏掉不在词表中的攻击表达。正确定位是 risk probe,与人工审查和语义评估配合。

不要把英语 safety taxonomy 直接平移

文化、身份类别和攻击方式跨语言变化。词表收集必须由母语者与社区知识校准,并记录版本与适用范围;否则“统一安全标准”可能把本地正常表达误判为有害,或漏掉真正风险。

本章小结

自动指标提供迭代 breadth,人工评估提供真实质量 validity,toxicity 则检查平均分无法表达的高代价错误。三者必须并列报告,且人工尺度与文化词表都需要语言本地化校准。

开源、未来方向与课堂问答

课堂最后没有把 NLLB 描述成终点,而是提出三条未来方向,并在 Q&A 中补充社区参与、数据工作量、Common Crawl、zero-shot、speech translation 与 foundation model 的边界。这部分口头内容解释了 2022 年专门化 NLLB 系统如何连接后来的通用多模态模型。

Explicit multilinguality、support 与易用性

未来方向 slide 强调 explicit multilinguality、support for everyone,以及更容易使用和训练。第一点要求模型显式知道语言/脚本与方向;第二点把尾部语言纳入目标;第三点则承认,只有大型机构能运行的数据管线仍不足以形成普惠基础设施。

\lecturefigure{slide-39-future-directions.jpg}{NLLB 的未来方向:显式多语、更广支持与更低使用门槛}{Stanford 课堂视频 00:41:15}

读图:未来方向对应表示、覆盖与工程三个层面

Explicit multilinguality 作用于 language tags、routing 与 evaluation;support for everyone 作用于尾部语言、方言与社区需求;ease of use/training 作用于开放工具、算力门槛和本地适配。三者缺一,研究结果都难转成持续可用的公共能力。

\teachervoice{Fan 特别指出,一些语言主要是口语而非书面语。文本 NLLB 无法凭空覆盖这些语言;未来必须连接 speech、transcription 与 text translation,而不是把“无网页数据”当成语言不存在。}

数据工作与模型工作大致同等重要

Q&A 中有人询问项目资源分配,Fan 用近似口径说,大约一半是 data 或 data-adjacent work,另一半是 modeling,但边界很模糊。LID、encoder、filtering 和 evaluation 同时属于数据与模型;这个回答的重点不是精确项目管理比例,而是反驳“主要工作是训练大模型”。

NLLB 的工程资产层级

层级 公开资产 可复现的问题
Need / standards 访谈结论与语言规范过程 目标与标签为何这样定义
Evaluation FLORES-200、human protocol、Toxicity-200 模型是否进步、哪里不安全
Data tools LID、LASER3、Stopes、重建脚本 训练数据如何产生与过滤
Models NLLB checkpoints 与代码 最终推理行为与适配

完整开放意味着尽量覆盖从问题到模型的链条,而不是只有 checkpoint。

\teachervoice{老师说“50-50”时立即补充 data 与 modeling 很难严格分开。讲义把它作为数量级直觉:大型多语项目的主要创新有相当部分发生在数据、评测和工具链。}

Common Crawl 的开放不等于均匀代表

课堂说明 Common Crawl 是可下载的开放网页快照,并对更新频率保留了不确定措辞。开放访问解决了数据获取许可的一部分问题,却不解决语言网页占比、重复、模板、垃圾内容、地域偏差与时间漂移。

Web-scale 与 language coverage 是两个不同变量

一个 corpus 可以有数十亿网页,同时对某些语言几乎没有有效文本。评估 mining pipeline 时应报告每语言 raw pages、LID pass rate、去重后 token、候选 bitext、人工 precision 与领域分布,而不是只报总 crawl 大小。

Zero-shot 的边界:未见方向,不等于未见语言

NLLB 没有为每个 \(A\rightarrow B\) 方向挖掘训练数据;组合爆炸使这既昂贵也不一定符合需求。某个方向可以是 zero-shot,但模型在其他方向见过语言 \(A\)\(B\),因此仍可通过共享 encoder/decoder 表示迁移。

两种“未见”必须分开

  • Unseen direction:训练没有直接出现 \(A\rightarrow B\),但出现过 \(A\leftrightarrow E\)\(B\leftrightarrow E\) 等任务。
  • Unseen language:语言 \(A\) 的文本、token 或监督几乎从未出现。

课堂 zero-shot 主要指前者。把它写成对完全新语言的翻译能力,会夸大泛化范围。

\teachervoice{Fan 解释,某些 zero-shot pair 表现很好,是因为模型见过输入语言和输出语言,只是没有见过该有向组合;总体上这类方向仍更弱,而且不是对完全 unseen language 的零样本。}

从文本 NLLB 到 SeamlessM4T

针对语音问题,Fan 明确说 NLLB 本身主要是文本翻译;后续 SeamlessM4T 才把 speech、transcription 与 text translation 联合起来。这个回答为项目边界提供了清晰分层:文本 pipeline 的数据假设不能直接外推到主要依赖口语的语言。

文本与语音扩展的证据链

Speech translation 需要音频、转写、说话人/口音覆盖、语音分段与声学表示;文本 NLLB 主要处理书面语句对。SeamlessM4T 通过共享多模态表示连接两者,但仍需新的语音评测与安全分析,不能只复用 FLORES 文本分数。

Foundation model 时代的再解释

课堂最后讨论,如果在更强基础模型时代重启项目,可能使用大 foundation model 加 supervised fine-tuning,减少为每个任务设计专门系统的需要。Fan 回顾早期 NLP 中 translation、summarization、QA 研究彼此分离,而现在越来越多任务由共享底座驱动。

\teachervoice{老师的判断是方向性而非定理:基础模型越强,领域 fine-tuning 可能越少,但低资源语言是否在预训练中得到足够表示仍是前提。通用底座不能自动修复训练语料中的语言不平衡。}

不要用后来的 LLM 叙事抹掉 NLLB 的贡献

更强 foundation model 仍需要多语数据、可靠 benchmark、language identification、人工评测和 safety probes。NLLB 的长期价值恰恰是把这些基础设施与模型联合公开,而不是只给出一种 2022 年架构。

本章小结

未来多语系统要覆盖显式语言表示、尾部社区和更低工程门槛。Q&A 进一步限定:数据与模型同等关键,开放网页并不均衡,zero-shot 多指未见方向,speech 需要新模态证据,foundation model 也不能替代多语基础设施。

总结与延伸

NLLB 的核心贡献可以压缩成一句话:大规模多语翻译是一项人本需求、评测基础设施、数据生产、模型容量、训练调度与安全验收共同设计的系统工程。 如果只记住 MoE 或 44% BLEU,就会错过课程真正希望传达的方法论。

十二条可执行结论

\begingroup \footnotesize \setlength{\columnsep}{1.2em}

未转换的 LaTeX 环境:multicols
\begin{multicols}{2}

1. 先确认社区需求,再决定语言、脚本、方向与场景。
2. 把 high/low-resource 定义为数据条件,不按人口或价值排序。
3. 在训练前建设可比、人工翻译、跨方向的 evaluation set。
4. 为语言标准、译者、reviewer 和 post-editing 留出真实成本。
5. 用少量可信 seed 校准 LID、encoder、filter 与初始 MT。
6. 把 web mining 设计为可回溯的迭代 pipeline,而不是一次抓取。
7. 对每份数据记录 provenance、noise、scale 与 teacher dependency。
8. 长尾平衡要增加有效多样性,不能只复制低资源样本。
9. MoE 的容量收益必须和低资源过拟合、路由与正则一起评估。
10. 按 direction、resource group 和 metric 报告结果,不只报平均值。
11. Automatic、human 与 toxicity evaluation 分别回答不同问题。
12. 开放 benchmark、数据工具和模型,才能让社区继续修正覆盖缺口。


\end{multicols}

\endgroup

最终系统图景

最后把整堂课串起来,可以得到一条带反馈的工程闭环。这个闭环不是线性瀑布流程,因为人类评估、安全失败与社区反馈都会迫使团队返回标准、数据和模型阶段:

\[ \begin{aligned} \text{Community needs} &\rightarrow\text{Standards \& Evaluation} \rightarrow\text{Seed Data} \rightarrow\text{Mining / BT}\\ &\rightarrow\text{MoE Training} \rightarrow\text{Human \& Safety Validation} \rightarrow\text{Community feedback}. \end{aligned} \]

每个箭头都可能引入选择偏差,每个反馈都可能改变前序标准。真正成熟的系统不是一次训练完成,而是能够解释数据从哪里来、模型为何在某些语言失败、哪些指标支持结论,以及谁有权修正错误。

最终判断标准

“No Language Left Behind” 不是达到某个语言数后即可宣布完成。更可靠的判断是:尾部语言是否拥有可审计数据与评测;母语者是否参与需求、标准和验收;系统是否报告方向级质量与高风险错误;开放资产是否允许社区复现、批评和改进。覆盖数字只能作为这套证据中的一项。

拓展阅读

\begingroup \scriptsize

\endgroup