11. 多语言数据和低资源语言处理有哪些难点?
整理多语言数据与低资源语言处理的难点和工程方案。
简单回答
多语言训练的核心难点有两个:数据分布极度不均衡(英文数据可能占 60%+ 而部分语言不足 0.1%)导致低资源语言能力差;以及多语言之间的能力迁移不平衡——高资源语言学得好但低资源语言代价是稀释了高资源语言的训练效果("多语言税")。缓解方式包括低资源语言上采样、继续预训练、以及词表设计优化。
详细解答
数据分布不均衡
互联网上的内容分布极度不均衡。英文内容统治性地占据大头,中文、西班牙文、法文、德文、俄文等也有较多内容,而世界上大多数语言(比如斯瓦希里语、孟加拉语、泰米尔语等)在互联网上的存量非常少。
这种不均衡直接导致了大模型在不同语言上能力的巨大差异。模型在英文上的推理、写作、代码能力可以非常强,但用同样的问题换成低资源语言提问,能力立刻断崖式下降,不只是翻译质量的问题,而是根本的推理和知识能力都会退化。
从信息论角度理解:模型学习一门语言需要足够的数据让它掌握词汇、语法、语义结构,以及承载这门语言的知识。数据太少,所有这些都学不好。
多语言税(Multilingual Tax)
训练多语言模型面临一个根本的张力:模型的容量(参数量)是有限的,同时支持越多语言,每种语言能分配到的"容量"就越少。在参数量固定的情况下,一个 100 种语言的多语言模型,在英文上的表现通常比同参数量的英文专一模型差——这个性能损失就叫做"多语言税"。
这个问题没有完美的解法,只能在语言数量、模型容量、各语言性能之间做 trade-off。一般的做法是根据目标市场决定支持哪些语言,对于核心语言保证足够的数据量,对于长尾语言接受能力有限。
词表设计的重要性
Tokenizer 的词表设计对低资源语言影响极大。如果词表是主要基于英文文本训练的(比如早期的 BPE 词表),那么表示低资源语言文本时,每个词需要切成更多的 token(因为词表里没有完整的词或词根)。这带来两个问题:一是推理成本更高(同样的内容需要更多 token,速度更慢、花费更多);二是模型实际上看到的有效"信息单元"更少,因为每个 token 携带的语义信息更碎。
以中文为例:一个中文字符可能被 BPE 分成多个字节级别的 token,而一个英文单词可能只有一个 token。这意味着处理同等信息量的中文,需要更多 token 位置,在有 context length 限制的情况下,中文模型能利用的上下文实际上更短。
现代多语言模型在设计词表时通常专门对目标语言做优化。比如 Qwen 系列专门对中文词表做了扩充,使得中文的 token 效率大幅提升,每个 token 对应的语义信息量更接近英文。
低资源语言的处理策略
上采样:对低资源语言的数据做更多重复,让模型在训练中更多次见到这些语言。一般重复 3~10 次是可以接受的,重复太多会导致对这批数据过拟合。
继续预训练(Continue Pretraining):在通用基座模型上,用大量目标语言数据做继续训练。这是专门针对某个语言做强化的常用手段。比如要做一个强中文模型,可以拿一个好的英文基座(比如 LLaMA),在大量中文语料上做继续预训练。这样可以复用英文模型的推理能力,同时快速提升中文能力。
但继续预训练有一个风险:如果新语言数据比例太高,模型可能发生灾难性遗忘,英文能力下降。一般需要在新语言数据里混合 10%~20% 的英文数据来缓解。
跨语言迁移:让模型学会在语言之间迁移知识。比如用英文数据学到的数学推理能力,理论上应该可以迁移到中文数学问题。但这种迁移不是自动的,需要在训练数据里包含跨语言对齐的内容(翻译对、平行语料等)来激活跨语言能力。
码切换数据(Code-switching):自然界中存在多语言混用的情况(比如中英混杂的对话),这类数据对训练跨语言能力有帮助,也更贴近真实的多语言用户场景。
面试时可以这样答
多语言模型的核心难点有两个。一是数据分布极度不均衡——英文内容可能占预训练数据的 60% 以上,而很多语言不足 0.1%,数据量直接决定了模型在这个语言上能力的天花板。二是"多语言税"——模型容量有限,支持的语言越多,每种语言分到的容量越少,多语言模型在英文上的表现通常不如英文专一模型。
词表设计也很关键,经常被忽视。如果词表不针对目标语言优化,低资源语言的每个词要被切成很多 token,推理成本高不说,有效 context 长度也缩短了。Qwen 对中文词表专门做了扩充,这是它中文能力强的原因之一。
工程上处理低资源语言主要靠上采样(重复 3~10 次)和继续预训练(在通用基座上用目标语言数据继续训)。继续预训练要注意混入少量英文数据,防止灾难性遗忘。
常见追问
- 怎么评估一个多语言模型在低资源语言上的能力?有哪些多语言 benchmark?
- 语言之间的"迁移学习"是怎么发生的?有没有办法主动提升?
- 词表大小怎么影响多语言能力?词表太大或太小分别有什么问题?