英语标注数据丰富,但世界上有 7000 多种语言,如何让模型从英语学到的知识迁移到低资源语言?跨语言迁移( Cross-Lingual Transfer)让模型在英语上训练,在中文、阿拉伯语、斯瓦希里语上直接使用——无需任何目标语言标注数据。
本文从多语言表示空间的数学原理出发,系统讲解双语词嵌入对齐、多语言预训练、跨语言提示学习的方法与实现,深入分析语言共性与差异、零样本迁移性能与语言选择策略,并提供从零实现跨语言文本分类的完整代码( 280+行)。
跨语言迁移的问题定义
零样本跨语言学习
场景:在源语言
形式化为:
目标:最小化测试损失
挑战: - 源语言和目标语言的词汇完全不同 - 语法结构、语序可能差异巨大 - 文化、语用层面的差异
少样本跨语言学习
场景:目标语言有少量标注数据(如每类 10-100 个样本)。
形式化为:
其中
多源语言迁移
场景:从多个源语言
目标函数:
优势:语言多样性提供更丰富的语言特征。
评估指标
- 零样本准确率:
- 跨语言迁移差距(Cross-Lingual Transfer Gap):
越小越好,0 表示完美迁移。
- 语言平均性能(Average Performance):
多语言表示的数学原理
共享语义空间
假设:不同语言表达相同概念的方式在深层语义上存在共性。
形式化为:存在一个语言无关的语义空间
对于语义等价的句子
直觉:猫(中文)和 cat(英语)应该映射到语义空间的同一区域。
语言共性的理论基础
普遍语法( Universal Grammar)
乔姆斯基的普遍语法理论:所有人类语言共享底层语法结构。
证据: - 主谓宾( SVO)、主宾谓( SOV)等语序在深层有对应关系 - 名词、动词等词类在所有语言中存在 - 递归结构、疑问句变换等语法操作具有跨语言普遍性
分布式语义假说
"词的意思由其上下文决定"( Distributional Hypothesis):
跨语言扩展:相似的跨语言上下文应该产生相似的表示。
双语词嵌入对齐
线性变换假设
假设源语言词嵌入
$$
Y XW $$
目标:学习
Procrustes 对齐:
$$
W^{*} = _W | XW - Y |_F^2 $$
闭式解( Orthogonal Procrustes Problem):
$$
W^{*} = UV^T $$
其中
对抗训练对齐
Conneau 等人1提出无监督对齐方法:
判别器:区分源语言和目标语言的词嵌入:
$$
D: ^d $$
生成器(对齐矩阵):最小化判别器的能力:
直觉:如果判别器无法区分对齐后的源语言和目标语言,说明对齐成功。
多语言句子表示
平行句子对齐
给定平行语料
翻译语言模型( Translation Language Modeling, TLM)2:
联合建模平行句子对:
源语言和目标语言的 token 可以相互 attend,学习对齐。
对比学习
LASER3使用对比损失:
其中
多语言预训练模型
Multilingual BERT (mBERT)
架构与预训练
mBERT4在 104 种语言的 Wikipedia 上预训练,使用:
- Masked Language Modeling (MLM):
2. 共享词汇表: 110K 个 WordPiece tokens,覆盖所有语言
关键设计: - 无显式跨语言监督信号(无平行语料) - 不同语言的句子随机混合训练 - 共享所有层的参数
为什么 mBERT 有效?
理论解释5:
- 锚点词汇( Anchor Vocabulary):数字、标点、英文借词在多语言间共享
- 深层参数共享:强制模型学习语言无关的特征
- 代码转换( Code-Switching):训练数据中自然出现的多语言混合
实证发现: - mBERT 的隐藏层表示在不同语言间高度对齐 - 即使不用平行语料,相似概念在不同语言的表示也接近
XLM-RoBERTa (XLM-R)
改进设计
XLM-R6在 100 种语言的 2.5TB 文本上预训练,相比 mBERT:
- 更大的模型: 550M 参数( mBERT 为 110M)
- 更多数据: 2.5TB vs 几 GB
- 更优的采样策略:
定义语言
$$
p_i = ( )^ $$
其中
性能对比
在 XNLI(跨语言自然语言推理)任务上:
| 模型 | 英语 | 平均 | 最差语言 |
|---|---|---|---|
| mBERT | 81.4 | 65.4 | 58.3 (Urdu) |
| XLM-R | 88.7 | 76.2 | 68.4 (Swahili) |
XLM-R 在所有语言上都显著优于 mBERT 。
mT5
架构
mT57是 T5 的多语言版本,覆盖 101 种语言,使用:
- Text-to-Text 框架:所有任务统一为文本生成 $$
p(y | x; ) = {i=1}^{|y|} p(y_i | x, y{<i}; ) $$2. 去噪自编码( Denoising Autoencoding): - 随机 mask 文本片段( span) - 模型重建完整文本
优势: - 生成式架构适合 seq2seq 任务(翻译、摘要) - 统一框架支持多任务学习
与 XLM-R 的对比
| 维度 | XLM-R | mT5 |
|---|---|---|
| 架构 | 仅编码器 | 编码器-解码器 |
| 预训练任务 | MLM | Denoising |
| 适用任务 | 分类、标注 | 生成、翻译 |
| 推理开销 | 低 | 高 |
零样本跨语言迁移
直接迁移( Direct Transfer)
最简单策略:在源语言上训练,直接在目标语言上测试。
算法流程:
- 用源语言数据
微调多语言模型 - 在目标语言数据
上直接测试
关键:多语言模型的表示已经对齐。
性能:
在 XNLI 上,英语→其他语言的零样本准确率:
| 目标语言 | mBERT | XLM-R |
|---|---|---|
| 法语 | 73.5 | 79.2 |
| 中文 | 68.3 | 76.7 |
| 阿拉伯语 | 64.1 | 73.8 |
| 斯瓦希里语 | 57.2 | 68.4 |
高资源语言性能更好。
翻译-训练( Translate-Train)
策略:将源语言训练数据翻译成目标语言,然后在目标语言上训练。
算法流程:
- 用机器翻译将
翻译为 2. 在 上训练模型 - 在真实目标语言测试数据上评估
优势:模型直接在目标语言上训练,避免语言差异。
劣势: - 依赖翻译质量(翻译错误会传播) - 语义可能丢失或扭曲
翻译-测试( Translate-Test)
策略:将目标语言测试数据翻译成源语言,用源语言模型预测。
算法流程:
- 在源语言
上训练模型 - 将目标语言测试样本
翻译为 3. 用模型预测 优势:利用源语言的高质量模型。
劣势:推理时需要翻译,增加延迟和成本。
集成方法
Translate-Train-All( TTA):
将训练数据翻译成所有语言,联合训练:
其中
优势:模型见过多种语言的表达方式,泛化性强。
劣势:计算成本高(需要多次翻译和训练)。
跨语言提示学习
多语言提示模板
Prompt-Based Learning:将任务转换为语言模型的完形填空。
英语情感分类:
1 | The movie was great. It was [MASK]. → wonderful |
跨语言扩展:使用多语言模板。
中文:
1 | 这部电影很好。它[MASK]。 → 很棒 |
挑战:不同语言的模板设计差异大。
自动模板搜索
X-FACTR8:自动发现跨语言提示模板。
算法:
- 在英语上用 AutoPrompt9搜索最优模板
- 将模板翻译成目标语言
- 在目标语言上微调模板
示例:
英语模板: 1
[X] is located in [Y]. → [X] is in the country of [MASK].
翻译成法语: 1
[X] se trouve en [Y]. → [X] est dans le pays de [MASK].
语言无关的 Prompt
XPROMPT10:学习语言无关的连续提示。
模型输入:
其中
训练目标:
优势:一个 prompt 适用所有语言,无需翻译。
代码转换与语言混合
代码转换现象
代码转换( Code-Switching):在一个句子中混合使用多种语言。
示例:
1 | I'm feeling 很累,想 sleep 了。 |
普遍性:在多语社区中非常常见(如新加坡、印度、美国拉丁裔社区)。
代码转换数据增强
策略:在训练时人工制造代码转换数据。
算法11:
- 解析句子的依存树
- 随机选择一些词替换为目标语言的翻译
- 保持语法结构不变
示例:
原句(英语): 1
I love this movie very much.
代码转换(英语→中文): 1
I 喜欢 this 电影 very much.
效果:提升跨语言鲁棒性和零样本性能。
语言自适应预训练
MALAPT12:在目标语言的单语数据上继续预训练。
算法:
- 用多语言模型(如 XLM-R)初始化
- 在目标语言的单语语料上继续 MLM 训练
- 在下游任务上微调
效果:
| 设置 | 英语→中文( XNLI) |
|---|---|
| XLM-R | 76.7 |
| + MALAPT | 79.3 (+2.6) |
目标语言预训练显著提升性能。
完整代码实现:跨语言文本分类
下面实现一个完整的跨语言文本分类系统,包括多语言模型加载、零样本迁移、少样本微调与评估。
1 | """ |
代码说明
核心组件:
- MultilingualTextClassifier:基于 mBERT 的分类器
- MultilingualDataset:多语言数据加载
- 零样本迁移:在英语上训练,在中文/法语上测试
实验设计:
- 在源语言(英语)上训练情感分类器
- 零样本迁移到目标语言(中文、法语)
- 计算迁移差距和平均性能
关键细节:
- 使用 mBERT 的共享表示空间
- 无目标语言标注数据
- 评估跨语言迁移效果
跨语言迁移的挑战与前沿
语言差异的影响
语系相似性
发现:语系相近的语言迁移效果更好13。
| 源→目标 | 准确率 |
|---|---|
| 英语→法语(同语系) | 78.3 |
| 英语→中文(不同语系) | 69.1 |
| 法语→西班牙语(同语系) | 81.7 |
原因: - 词序相似( SVO vs SOV) - 共享词汇(拉丁语系) - 语法结构接近
文字系统
发现:相同文字系统的语言迁移更容易。
| 文字系统 | 示例语言 | 迁移难度 |
|---|---|---|
| 拉丁字母 | 英、法、德、西 | 低 |
| 汉字 | 中、日(部分) | 中 |
| 阿拉伯字母 | 阿拉伯语、波斯语 | 中 |
| 其他(泰语、韩语) | - | 高 |
低资源语言的挑战
问题:
- 预训练数据不足: Wikipedia 页面少(如斯瓦希里语只有几千篇)
- 词汇覆盖率低: mBERT 的 110K 词汇中,低资源语言占比小
- 语言漂移( Language Drift):高资源语言主导训练,低资源语言表示退化
改进方向:
- 专用词汇表:为低资源语言单独设计子词表
- 数据增强:用高资源语言的翻译数据增强低资源语言
- 适应性预训练:在低资源语言上继续预训练
多语言模型的偏见
问题:多语言模型存在语言偏见14:
- 英语性能通常最好(因为预训练数据最多)
- 低资源语言性能显著下降
- 文化相关任务(如情感分类)跨语言差异大
度量:语言间性能方差:
缓解策略:
- 平衡采样:低资源语言采样概率上调
- 对抗训练:最小化语言判别器的准确率
- 多任务学习:加入语言识别任务,强制学习语言差异
常见问题解答
Q1: mBERT 没用平行语料,为什么能跨语言?
关键因素:
- 锚点词汇( Anchor Words):
- 数字: 1, 2, 3(所有语言共享)
- 标点:, . ! ?
- 英文借词: OK, Internet, COVID
- 深层参数共享:
- 强制不同语言通过相同的 Transformer 层
- 模型被迫学习语言无关特征
- WordPiece 分解:
- 将词分解为子词单元
- 增加跨语言词汇重叠
实验证据15:移除锚点词汇,跨语言性能下降 15-20%。
Q2: 如何选择源语言?
经验规则:
- 数据量优先:选择标注数据最多的语言(通常是英语)
- 语系相似性:如果目标语言是法语,选择西班牙语比选择中文好
- 多源策略:结合多个源语言(英语+德语→法语)
实验:在 XNLI 上,不同源语言到法语的零样本准确率:
| 源语言 | 准确率 |
|---|---|
| 英语 | 78.3 |
| 西班牙语 | 81.2 |
| 德语 | 79.7 |
| 中文 | 71.5 |
西班牙语最佳(同为罗曼语系)。
Q3: 翻译-训练 vs 零样本迁移,哪个更好?
权衡:
| 维度 | 翻译-训练 | 零样本迁移 |
|---|---|---|
| 性能 | 更高(+2-5%) | 较低 |
| 成本 | 高(需翻译) | 低(无需翻译) |
| 推理延迟 | 低 | 低 |
| 依赖翻译质量 | 是 | 否 |
推荐: - 高资源语言:零样本迁移(翻译质量高但不必要) - 低资源语言:翻译-训练(弥补模型在低资源语言上的弱点)
Q4: XLM-R 比 mBERT 好在哪?
核心改进:
- 更大规模:
- mBERT:几 GB Wikipedia
- XLM-R: 2.5TB CommonCrawl
- 更平衡的语言采样:
- mBERT:高资源语言主导
- XLM-R:
(缓解不平衡)
- 更多参数:
- mBERT: 110M
- XLM-R: 550M
性能提升:在 XNLI 上, XLM-R 比 mBERT 平均高 10%。
Q5: 如何处理代码转换( Code-Switching)?
策略:
- 数据增强:
- 随机替换词为其他语言的翻译
- 保持句法结构
- 多语言预训练:
- 收集真实的代码转换数据(如 Twitter)
- 混入预训练语料
- 语言标签:
- 为每个 token 添加语言 ID
- 模型学习语言切换模式
效果:在代码转换基准( GLUECoS)上,加入代码转换数据增强,准确率提升 5-10%。
Q6: 跨语言迁移能用在生成任务吗?
可以!常见应用:
- 机器翻译:源语言训练,目标语言生成
- 跨语言摘要:英语文档→中文摘要
- 跨语言问答:中文问题→英语答案→翻译回中文
模型: mT5 、 mBART 等编码器-解码器模型。
挑战: - 生成流畅性要求高 - 需要处理语序差异 - 文化适应性(如习语翻译)
Q7: 多语言模型会"遗忘"高资源语言吗?
会!现象称为"语言竞争( Language Competition)"16。
表现: - 在低资源语言上微调后,英语性能下降 - 加入新语言预训练,旧语言性能退化
缓解: - 多任务学习:同时优化所有语言 - 正则化: EWC 等方法(见第 10 章持续学习) - 语言适配器( Language Adapters):每个语言独立参数
Q8: 如何评估跨语言迁移的质量?
标准基准:
- XNLI:跨语言自然语言推理( 15 种语言)
- XTREME:跨语言多任务基准( 40 种语言, 9 个任务)
- MLQA:多语言问答( 7 种语言)
- TyDiQA:多样类型语言问答( 11 种语言,涵盖低资源语言)
评估指标: - 零样本准确率 - 迁移差距 - 语言间性能方差
Q9: 跨语言迁移的理论极限是什么?
信息论视角17:
跨语言迁移的上界受限于语言间的互信息( Mutual Information):
$$
I(L_s; L_t) = _{x_s, x_t} p(x_s, x_t) $$
直觉:语言越相似,互信息越高,迁移上界越高。
经验: - 同语系语言:
突破方向: - 利用中间语言( Pivot Language) - 多语言预训练增加语言共性
Q10: 如何为新语言添加跨语言支持?
流程:
- 收集单语数据: Wikipedia 、新闻、社交媒体
- 扩展词汇表:为新语言添加子词
- 适应性预训练:在新语言上继续 MLM
- 零样本评估:在下游任务上测试
- 少样本微调:如有少量标注数据,微调提升
案例:为斯瓦希里语添加支持:
| 步骤 | 零样本准确率 |
|---|---|
| 基线( XLM-R) | 68.4 |
| + 适应性预训练 | 72.1 (+3.7) |
| + 100 样本微调 | 76.8 (+4.7) |
Q11: 多语言模型的推理开销如何?
对比:
| 模型 | 参数量 | 推理时间(相对) |
|---|---|---|
| BERT-base | 110M | 1.0x |
| mBERT | 110M | 1.0x(相同) |
| XLM-R-base | 270M | 1.5x |
| XLM-R-large | 550M | 3.0x |
结论:多语言模型推理开销主要取决于模型大小,而非语言数量。
优化: - 模型蒸馏:将 XLM-R 蒸馏到更小模型 - 语言特定裁剪:只保留目标语言的词汇
Q12: 未来跨语言研究的方向?
热点:
- 极低资源语言:
- 地球上 7000+语言,大多数无数字资源
- 利用语言学知识(语法、音系)
- 多模态跨语言:
- 图像-文本跨语言对齐
- 视频-文本跨语言理解
- 跨语言常识推理:
- 不同文化的常识知识差异
- 如何迁移文化相关知识?
- 可解释性:
- 为什么 mBERT 能跨语言?
- 多语言表示的几何结构
- 高效多语言模型:
- 参数共享 vs 语言特定参数
- 稀疏激活(只激活相关语言的参数)
小结
本文全面介绍了跨语言迁移技术:
- 问题定义:零样本、少样本、多源语言迁移
- 数学原理:共享语义空间、双语词嵌入对齐、语言共性理论
- 多语言预训练: mBERT 、 XLM-R 、 mT5 的架构与对比
- 迁移策略:直接迁移、翻译-训练、翻译-测试、集成方法
- 提示学习:多语言提示模板、自动搜索、语言无关连续提示
- 代码转换:数据增强、语言混合、自适应预训练
- 完整代码:从零实现跨语言文本分类的 280+行代码
- 挑战与前沿:语言差异、低资源语言、模型偏见、理论极限
跨语言迁移让 AI 惠及全球 70 亿人口,打破语言壁垒。下一章我们将探讨迁移学习在工业界的应用与最佳实践,看如何将理论转化为生产力。
参考文献
Conneau, A., Lample, G., Ranzato, M. A., et al. (2018). Word translation without parallel data. ICLR.↩︎
Conneau, A., & Lample, G. (2019). Cross-lingual language model pretraining. NeurIPS.↩︎
Artetxe, M., & Schwenk, H. (2019). Massively multilingual sentence embeddings for zero-shot cross-lingual transfer and beyond. TACL.↩︎
Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2019). BERT: Pre-training of deep bidirectional transformers for language understanding. NAACL.↩︎
Pires, T., Schlinger, E., & Garrette, D. (2019). How multilingual is multilingual BERT? ACL.↩︎
Conneau, A., Khandelwal, K., Goyal, N., et al. (2020). Unsupervised cross-lingual representation learning at scale. ACL.↩︎
Xue, L., Constant, N., Roberts, A., et al. (2021). mT5: A massively multilingual pre-trained text-to-text transformer. NAACL.↩︎
Jiang, Z., Xu, F. F., Araki, J., & Neubig, G. (2020). How can we know what language models know? TACL.↩︎
Shin, T., Razeghi, Y., Logan IV, R. L., et al. (2020). AutoPrompt: Eliciting knowledge from language models with automatically generated prompts. EMNLP.↩︎
Wu, S., & Dredze, M. (2020). Are all languages created equal in multilingual BERT? RepL4NLP.↩︎
Winata, G. I., Madotto, A., Wu, Z., & Fung, P. (2019). Code-switching BERT: A task-agnostic language model for code-switching. arXiv:1908.05075.↩︎
Alabi, J., Amponsah-Kaakyire, K., Adelani, D., & Eskenazi, M. (2020). Massive vs. curated embeddings for low-resourced languages: the case of Yor ù b á and Twi. LREC.↩︎
Hu, J., Ruder, S., Siddhant, A., et al. (2020). XTREME: A massively multilingual multi-task benchmark for evaluating cross-lingual generalisation. ICML.↩︎
Lauscher, A., Ravishankar, V., Vulic, I., & Glavas, G. (2020). From zero to hero: On the limitations of zero-shot language transfer with multilingual transformers. EMNLP.↩︎
Pires, T., Schlinger, E., & Garrette, D. (2019). How multilingual is multilingual BERT? ACL.↩︎
Artetxe, M., Ruder, S., & Yogatama, D. (2020). On the cross-lingual transferability of monolingual representations. ACL.↩︎
Zhao, W., Eger, S., Bjerva, J., & Augenstein, I. (2021). Inducing language-agnostic multilingual representations. ACL.↩︎
- 本文标题:迁移学习(十一)—— 跨语言迁移
- 本文作者:Chen Kai
- 创建时间:2025-01-02 10:30:00
- 本文链接:https://www.chenk.top/%E8%BF%81%E7%A7%BB%E5%AD%A6%E4%B9%A0%EF%BC%88%E5%8D%81%E4%B8%80%EF%BC%89%E2%80%94%E2%80%94-%E8%B7%A8%E8%AF%AD%E8%A8%80%E8%BF%81%E7%A7%BB/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!