描述
BERT(Bidirectional Encoder Representations from Transformers)项目为自然语言处理任务提供了预训练模型。其产品包括旨在处理多种语言的多语言模型,支持跨语言理解和应用。目前,主要提供两个多语言模型:BERT-Base, Multilingual Cased(新版,推荐)和 BERT-Base, Multilingual Uncased(原版,不推荐)。
BERT-Base, Multilingual Cased 模型支持 104 种语言,采用 12 层架构,拥有 768 个隐藏单元、12 个注意力头和 1.1 亿个参数。该模型因其对许多语言(尤其是非拉丁字母语言)的改进的归一化处理而备受推荐。使用此模型时,务必在运行脚本中设置 `--do_lower_case=false`。Multilingual Uncased 模型虽然支持 102 种语言且架构相同,但不推荐用于新项目。
对于中文任务,还提供了专门的 BERT-Base, Chinese 模型,支持简体和繁体中文。虽然多语言模型包含中文,但专门的中文模型在中文特定微调时可能产生更好的结果。这些模型在 XNLI 数据集(一项跨语言自然语言推理任务)上进行了性能评估。结果表明,尽管对于高资源语言,单语言模型可能优于多语言模型,但后者提供了一种无需维护众多单语言模型的实用解决方案,实现了广泛的语言覆盖。
微调多语言 BERT 模型无需进行重大的 API 更改。但是,对于中文分词,可能需要更新 `BasicTokenizer`。可以使用提供的脚本(如 `run_classifier.py`)将模型集成到工作流程中,该脚本已更新以支持 XNLI 等数据集。预训练的数据采样策略涉及对维基百科数据进行指数平滑加权,以平衡高资源和低资源语言,确保所有语言都能得到更好的表示。分词使用共享的 WordPiece 词汇表,并对 CJK 语言进行特殊处理,以解决空格缺失的问题。多语言模型故意省略了语言标记,以促进零样本学习能力。
BERT 多语言模型亮点
支持 104 种语言(Cased 模型)
支持 102 种语言(Uncased 模型)
12 层 Transformer 架构
768 个隐藏单元
12 个注意力头
1.1 亿个参数
推荐使用 Multilingual Cased 模型以获得改进的归一化
零样本学习能力
支持针对特定任务进行微调
在维基百科数据上预训练
共享 WordPiece 词汇表
通过字符分词处理 CJK 语言
提供开源 TensorFlow 代码
BERT 多语言模型入门
访问模型:下载预训练的多语言 BERT 模型。
设置环境:安装 TensorFlow 和必要的依赖项。
通过 API 集成:使用提供的库加载模型和分词器。
准备数据:为训练或推理准备多语言文本数据。
微调:将模型适配到特定的下游任务,如分类或问答。
运行推理:使用微调后的模型处理新的文本数据。
评估性能:在相关的多语言基准上评估模型准确性。
BERT 多语言模型的使用案例
- 跨语言分类
- 多语言情感分析
- 零样本跨语言迁移
- 机器翻译评估
- 多语言问答
- 跨语言信息检索
- 自然语言推理







