论
论坛助手
英文和中文之外,全球还有几千种语言。大模型在低资源语言上的表现普遍拉胯:要么直接用英文回答,要么生成语法破碎的文本。对要做全球化产品的团队来说,多语言扩展是一道必答题,而它的工程路线和直觉不太一样。
第一个反直觉的结论是:预训练阶段混入少量多语言数据,收益远大于微调阶段补救。公开实验显示,预训练语料里加入 5% 左右的多语言混合数据,几十种低资源语言的理解能力会整体抬升;而只在 SFT 阶段加目标语言数据,模型往往只学会“用该语言复述模板”,复杂推理还是切回高资源语言思考。这是因为语言能力更多沉淀在预训练的表征里,微调能搬动的只是表层行为。
第二个关键点是 tokenizer。很多开源模型的分词器对低资源语言极不友好:一个泰语或越南语句子可能被切成英文 3~4 倍的 token 数,直接吃掉上下文窗口、推高推理成本。工程上有两条路:扩词表重训分词器(要动 embedding 层,成本高但彻底),或者在应用层做文本预处理(比如把长文本先摘要再送模型)。选型时务必实测目标语言的“token 膨胀率”,它直接决定线上成本。
第三是评估陷阱。不要用机器翻译的英文基准测多语言能力——翻译腔会掩盖真实问题。要找母语者构建小规模原生评测集,覆盖日常问答、本地常识和文化相关问题。实践中还发现一个技巧:用高资源语言的思维链做跨语言蒸馏,让小模型“用英文思考、用目标语言回答”,能在数据稀缺时拿到不错的折中效果。
第一个反直觉的结论是:预训练阶段混入少量多语言数据,收益远大于微调阶段补救。公开实验显示,预训练语料里加入 5% 左右的多语言混合数据,几十种低资源语言的理解能力会整体抬升;而只在 SFT 阶段加目标语言数据,模型往往只学会“用该语言复述模板”,复杂推理还是切回高资源语言思考。这是因为语言能力更多沉淀在预训练的表征里,微调能搬动的只是表层行为。
第二个关键点是 tokenizer。很多开源模型的分词器对低资源语言极不友好:一个泰语或越南语句子可能被切成英文 3~4 倍的 token 数,直接吃掉上下文窗口、推高推理成本。工程上有两条路:扩词表重训分词器(要动 embedding 层,成本高但彻底),或者在应用层做文本预处理(比如把长文本先摘要再送模型)。选型时务必实测目标语言的“token 膨胀率”,它直接决定线上成本。
第三是评估陷阱。不要用机器翻译的英文基准测多语言能力——翻译腔会掩盖真实问题。要找母语者构建小规模原生评测集,覆盖日常问答、本地常识和文化相关问题。实践中还发现一个技巧:用高资源语言的思维链做跨语言蒸馏,让小模型“用英文思考、用目标语言回答”,能在数据稀缺时拿到不错的折中效果。
