2026-10-28·作者 Sijie Wang#lucerna#software#architecture#translation

translation

翻译

上级:key-designs

Lucerna 的翻译与语言模型工作,收在一个地方:这是什么语言、是什么意思、有多难、怎么翻译。这是一个组节点——每节只写决定和现状,细节在链接的节点和文件里。2026-10-28 从 high-availability-proposal 拆出来,翻译记录原来住在那个节点现状表的 nlp-api 那行里。

M2M 翻译模型(试点)

试点决定(2026-10-13):M2M-100 418M,用 CTranslate2 int8 在 CPU 上跑;NLLB 留在磁盘上,零成本可切回。实测(2026-10-10,FLORES-200 devtest,每方向 200 句):翻成英文 NLLB 大胜,翻成中文 M2M 胜;NLLB 蒸馏 600M 版翻中文有系统性提前截断。许可证:M2M-100 是 MIT(2026-10-21 按模型卡、卡原文、fairseq LICENSE 三源核实;418M 与 1.2B 都是)——剪枝版可进收费版。

打包——可分可合

决定(2026-10-28):翻译按目标语言出包。中文包覆盖 12 个源语言翻成中文;英文包覆盖 12 个源语言翻成英文。Identity 对子(中→中、英→英)不需要包。两个包可以合成一个:一个共享的 transformer 主体加并集词表——12 个源语言,每个既能翻成中文也能翻成英文。

合起来比相加便宜的原因:主体两边完全一样(2026-10-28 按实测文件拆:完整 M2M-100 int8 是 468 MiB,主体 ≈ 343 MiB,共享 embedding ≈ 125 MiB)。两个包分开发,主体发了两遍;合成一个,主体只发一遍。词表几乎完全重叠:两个包都要 12 个源语言的 token,而每个目标语言的 token 都是对方包里的源语言 token。

按这个实测口径算的大小(各包实测数等剪枝实验):一个目标包 ≈ 370–400 MB;两个分开 ≈ 740 MB;合成一个 ≈ 370–400 MB——省一半左右。下限:单靠裁词表压不到主体以下(≈ 343 MiB),所以早先 ~200 MB 的预期从裁词表本身推不出来;要进 200 MB 得连主体一起动(层剪、int4、蒸馏)。

fastText 选音

机制(spec v1,2026-10-26):读者在跨语言书里点一个词,声音必须跟词走,不跟书走——英文书里引用的日语句子,必须用日语声音读。机制给每个被点的词选一个发音语言,不知道必须声明出来,不能偷偷用一个 fallback 假装判对了。三层:文字本身的硬信号(假名、韩文、西里尔);句子信息够时用句级模型(0.5 只是噪声滤网,不是“不知道检测器”);没有句子上下文时从输入本身算模糊(词形共有层)。门禁:CLEAR 292/294,AMBIGUOUS 83/83 声明。Unihan 规模的同形词表(v1:37 形)待扩展。这个机制是选音层,不是引擎本身:任何 TTS 引擎的硬门槛是逻辑重音和气口的细粒度控制(2026-10-09 定)——只有音色像、不能控制重音和气口的引擎直接出局。

习语与固定搭配

规矩(2026-10-26 定):识别是规则匹配(短语表),级别是模型判断(与单词同一把尺子)。短语词典独立成典,不跟词汇字典合并;识别走在查词典前面。翻译由豆包做,所有方向,每条 5 遍 agent proofread,不送人过目。收集完成于 2026-10-28:12 语 2,326 条。英语试点:可训 282 条(训 226 / held-out 56);第一轮判定 OK 带保留(短语 held-out 准确率 0.3214,多数类基线 0.2679;单词金标无回归——准确率 0.4286→0.4483,macro F1 0.3495→0.3801;短语 L3 召回 0;424 条无真级别行是瓶颈——不编级别)。v7 仍是基线;11 语扩展已开门。

BERT 标注层

更宽的 BERT 线,分级只是其中一件:词义消歧、难度标注(分级)、书内索引、命名实体抽取,再加语域分类线。现状:分级 v7 是基线(冻结金标 n=1,064:准确率 0.4286,macro F1 0.3495,within-1 0.8947,MAE 0.700;zh_tw 崩塌修好;L5 是死类,已单独立项);语域 v4 已交差(ONNX)。轻量模型:MobileBERT 作 v7 替代失败(准确率 0.3383);Distil-mBERT 过 12 语门(准确率 0.3938)但低于 v7。没往前推、仍在范围里的:词义消歧、书内索引、命名实体抽取。所有小模型的硬门槛:12 语齐全——de、en、es、fr、it、ja、ko、nl、pt、ru、zh、zh_tw。

当前实验:12 语剪枝

2026-10-28 起在跑。剪枝与打包在本地跑;剪完的正确性评测(FLORES BLEU/chrF 对完整版)在 Kaggle GPU 上跑。交付每方向结果加并集分析:目标包大小、合成包大小对分开之和。结果待出。

Transfer:以后新的语言模型问题——新模型、新选音机制、新评测——先落在这里当一节,长出自己的记录再毕业成独立节点。分组按功能(翻译与语言),不按模型家族:M2M、fastText、BERT 坐在一起,是因为它们回答的是同一个用户问题——这是什么语言,怎么读。

Kin: high-availability-proposal, linguistic-two-engines

關於這一條

sijie 的一條 wiki 條目。本站的 AI 以同一套語料庫為依據、以 sijie 的口吻作答,並附有指向此類條目的引用——回答會花 sijie 的錢,所以它在存取碼後等待: 輸入存取碼 →

translation — Sijie Wang