0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

谷歌再次发布BERT的多语言模型和中文模型

DPVg_AI_era 来源:未知 作者:李倩 2018-11-08 09:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天,在开源最强NLP模型BERT的TensorFlow代码和预训练模型的基础上,谷歌AI团队再次发布一个多语言模型和一个中文模型。

上周,谷歌AI团队开源了备受关注的“最强NLP模型”BERT的TensorFlow代码和预训练模型,不到一天时间,收获3000多星!

今天,谷歌再次发布BERT的多语言模型和中文模型!

BERT,全称是BidirectionalEncoderRepresentations fromTransformers,是一种预训练语言表示的新方法。

BERT有多强大呢?它在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:全部两个衡量指标上全面超越人类!并且还在11种不同NLP测试中创出最佳成绩,包括将GLUE基准推至80.4%(绝对改进7.6%),MultiNLI准确度达到86.7% (绝对改进率5.6%)等。

新智元近期对BERT模型作了详细的报道和专家解读:

NLP历史突破!谷歌BERT模型狂破11项纪录,全面超越人类!

狂破11项记录,谷歌年度最强NLP论文到底强在哪里?

解读谷歌最强NLP模型BERT:模型、数据和训练

如果你已经知道BERT是什么,只想马上开始使用,可以下载预训练过的模型,几分钟就可以很好地完成调优。

戳这里直接使用:

https://github.com/google-research/bert/blob/master/multilingual.md

模型

目前有两种多语言模型可供选择。我们不打算发布更多单语言模型,但可能会在未来发布这两种模型的BERT-Large版本:

BERT-Base, Multilingual:102 languages, 12-layer, 768-hidden, 12-heads, 110M parameters

BERT-Base, Chinese:Chinese Simplified and Traditional, 12-layer, 768-hidden, 12-heads, 110M parameters

多语言模型支持的语言是维基百科上语料最大的前100种语言(泰语除外)。多语言模型也包含中文(和英文),但如果你的微调数据仅限中文,那么中文模型可能会产生更好的结果。

结果

为了评估这些系统,我们使用了XNLI dataset,它是MultiNLI的一个版本,其中dev集和test集已经(由人类)翻译成15种语言。需要注意的是,训练集是机器翻译的(我们使用的是XNLI提供的翻译,而不是Google NMT)。

以下6种主要语言的评估结果:

前两行是XNLI baseline的结果,后三行是使用BERT的结果。

Translate Train表示MultiNLI的训练集是从英语用机器翻译成外语的。所以训练和评估都是用外语完成的。遗憾的是,由于是用机器翻译的数据进行训练,因此无法量化较低的精度在多大程度上归因于机器翻译的质量,多大程度上归因于预训练模型的质量。

Translate Test表示XNLI测试集是从外语用机器翻译成英语的。因此,训练和评估都是用英语进行的。但是,由于测试评估是在机器翻译的英语上进行的,因此准确性取决于机器翻译系统的质量。

Zero Shot表示多语言BERT模型在英语MultiNLI上进行了微调,然后在外语XNLI测试集上进行了评估。在这种情况下,预训练和微调的过程都不涉及机器翻译。

请注意,英语的结果比MultiNLI baseline的84.2要差,因为这个训练使用的是Multilingual BERT模型,而不是English-only的BERT模型。这意味着对于语料资源大的语言,多语言模型的表现不如单语言模型。但是,训练和维护数十种单语言模型是不可行的。因此,如果你的目标是使用英语和中文以外的语言最大限度地提高性能,那么从我们的多语言模型开始,对你感兴趣的语言数据进行额外的预训练是有益的。

对于中文来说,用MultilingualBERT-Base和Chinese-onlyBERT-Base训练的中文模型的结果比较如下:

跟英语类似,单语言模型比多语言模型好3%。

Fine-tuning 示例

多语言模型不需要任何特殊考虑或更改API。我们在tokenization.py中更新了BasicTokenizer的实现以支持汉字的tokenization,但没有更改 tokenization API。

为了测试新模型,我们修改了run_classifier.py以添加对XNLI数据集的支持。这是MultiNLI的15种语言版本,其中dev/test 集已经经过人工翻译的,训练集已经经过机器翻译。

要运行 fine-tuning 代码,请下载XNLI dev/test set和XNLI机器翻译的训练集,然后将两个.zip文件解压缩到目录$XNLI_DIR中。

在XNLI上运行 fine-tuning。该语言被硬编码为run_classifier.py(默认为中文),因此如果要运行其他语言,请修改XnliProcessor。

这是一个大型数据集,因此在GPU上训练需要花费几个小时(在Cloud TPU上大约需要30分钟)。要快速运行实验以进行调试,只需将num_train_epochs设置为较小的值(如0.1)即可。

export BERT_BASE_DIR=/path/to/bert/chinese_L-12_H-768_A-12 # or multilingual_L-12_H-768_A-12export XNLI_DIR=/path/to/xnli python run_classifier.py --task_name=XNLI --do_train=true --do_eval=true --data_dir=$XNLI_DIR --vocab_file=$BERT_BASE_DIR/vocab.txt --bert_config_file=$BERT_BASE_DIR/bert_config.json --init_checkpoint=$BERT_BASE_DIR/bert_model.ckpt --max_seq_length=128 --train_batch_size=32 --learning_rate=5e-5 --num_train_epochs=2.0 --output_dir=/tmp/xnli_output/

使用 Chinese-only 模型,结果应该是这样的:

***** Eval results ***** eval_accuracy = 0.774116 eval_loss = 0.83554 global_step = 24543 loss = 0.74603训练细节

数据源和采样

我们选择的语言是维基百科上语料最大的前100种语言。将每种语言的整个Wikipedia转储数据(不包括用户页和讨论页)作为每种语言的训练数据。

然而,对于特定语言,维基百科的语料大小差异很大,而在神经网络模型中,低资源语言可能是“代表性不足”的(假设语言一定程度上在有限的模型容量中“竞争”)。

维基百科的语料大小也与该语言的使用者人数有关,而且我们也不想为了一种特定语言在很小的数据集上执行数千个epochs,造成过度拟合模型。

为了平衡这两个因素,我们在训练前数据创建(以及WordPiece词汇创建)期间对数据进行了指数平滑加权。换句话说,假设一种语言的概率是P(L),例如P(English) = 0.21,表示在将所有维基百科总合在一起之后,21%的数据是英语的。我们通过某个因子S对每个概率求幂,然后重新规范化,并从这个分布中进行采样。

在这个示例中,我们使S = 0.7。因此,像英语这样的高资源语言会被抽样不足,而像冰岛语这样的低资源语言会被过度采样。比如说,在原始分布中,英语比冰岛语采样率高1000倍,但在平滑后,英语的采样率只高100倍。

Tokenization

对于Tokenization,我们使用110k共享的WordPiece词汇表。单词计数的加权方式与数据相同,因此低资源语言的加权会增大。 我们故意不使用任何标记来表示输入语言(以便zero-shot训练可以工作)。

因为中文没有空白字符,所以在使用WordPiece之前,我们在CJK Unicode范围内的每个字符周围添加了空格。这意味着中文被有效地符号化了。请注意,CJK Unicode block仅包含汉字字符,不包括朝鲜文/韩文或日语片假名/平假名,这些与其他语言一样使用空格+ WordPiece进行标记化。

对于所有其他语言,我们应用与英语相同的方法:(a)字母小写+重音删除,(b)标点符号分割,(c)空白标记化。 我们知道口音标记在某些语言中具有重要意义,但认为减少有效词汇的好处可以弥补这一点。一般来说,BERT强大的上下文模型应该能弥补删除重音标记而引入的歧义。

支持的语言

多语言模型支持维基百科上语料量最大的前100种语言。

但我们不得不排除的唯一一种语言是泰语,因为它是唯一一种不使用空格来划分单词的语言(除了汉语),而且每个单词的字符太多,不能使用基于字符的tokenization。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    6259

    浏览量

    111984
  • 语言模型
    +关注

    关注

    0

    文章

    575

    浏览量

    11345
  • 机器翻译
    +关注

    关注

    0

    文章

    141

    浏览量

    15555

原文标题:谷歌最强NLP模型BERT官方中文版来了!多语言模型支持100种语言

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    GT20L24F6Y标准点阵多国语言字库芯片:开启多语言显示新境界

    GT20L24F6Y标准点阵多国语言字库芯片:开启多语言显示新境界 在当今全球化的时代,多语言显示需求变得越来越普遍。无论是消费电子设备、工业控制界面还是公共信息展示系统,都需要支持多种语言
    的头像 发表于 04-28 15:40 30次阅读

    GT32L24F0210标准点阵多国语言字库芯片:多语言显示的理想之选

    GT32L24F0210标准点阵多国语言字库芯片:多语言显示的理想之选 在电子设备设计中,支持多国语言显示是满足全球市场需求的关键。上海高通半导体有限公司推出的GT32L24F0210标准点阵多国
    的头像 发表于 04-28 14:30 92次阅读

    GT32L24A180标准点阵中外文字库芯片:多语言显示的理想之选

    GT32L24A180标准点阵中外文字库芯片:多语言显示的理想之选 在电子设备的设计中,文字显示是一个关键的功能。无论是消费电子、工业控制还是智能终端,都需要准确、清晰地显示各种语言文字。上海高
    的头像 发表于 04-28 14:20 80次阅读

    解锁谷歌FunctionGemma模型的无限潜力

    在智能体 AI 领域,工具调用能力是将自然语言转化为可执行软件操作的关键。此前,我们发布了专门针对函数调用而特别优化的 Gemma 3 270M 模型版本 FunctionGemma。该模型
    的头像 发表于 02-04 11:30 445次阅读
    解锁<b class='flag-5'>谷歌</b>FunctionGemma<b class='flag-5'>模型</b>的无限潜力

    什么是大模型,智能体...?大模型100问,快速全面了解!

    一、概念篇1.什么是大模型?大模型是指参数规模巨大(通常达到数十亿甚至万亿级别)、使用海量数据训练而成的人工智能模型。2.什么是大语言模型
    的头像 发表于 02-02 16:36 1139次阅读
    什么是大<b class='flag-5'>模型</b>,智能体...?大<b class='flag-5'>模型</b>100问,快速全面了解!

    谷歌正式发布Gemma Scope 2模型

    语言模型 (LLM) 具备令人惊叹的推理能力,但其内部决策过程在很大程度上仍然不透明。如果系统未按预期运行,对其内部运作机制缺乏可见性将难以准确定位问题根源。过去,我们通过发布 Gemma
    的头像 发表于 01-24 14:01 740次阅读

    京东多语言质量解决方案

    一、业界多语言面临的通用挑战是什么 做这个事之前,我们先看看业界做了什么。 •阿里巴巴全球化测试技术介绍 •蚂蚁全球化无线端质量解决方案 •谈谈多语言测试 总结下来,需要面临3个通用
    的头像 发表于 01-13 16:18 1082次阅读
    京东<b class='flag-5'>多语言</b>质量解决方案

    谷歌与耶鲁大学合作发布最新C2S-Scale 27B模型

    我们很荣幸发布与耶鲁大学合作研究的 Cell2Sentence-Scale 27B (C2S-Scale),这是一个新的 270 亿参数基础模型,旨在理解单个细胞的 "语言"。C2S-Scale 建立在 Gemma 开放
    的头像 发表于 11-06 10:35 1027次阅读

    阿里巴巴国际站关键字搜索 API 实战:3 步搞定多语言适配 + 限流破局,询盘量提升 40%

    跨境电商API开发常陷合规、多语言、限流等坑。本文详解从国际合规(GDPR/CCPA)到参数优化、数据结构化及区域化搜索的全链路方案,附Python代码模板与缓存重试架构,助力提升调用成功率至99%+,精准询盘增长42%。
    的头像 发表于 10-20 14:44 1986次阅读

    速卖通全球运营利器:商品详情接口多语言 + 合规 + 物流适配技术全解析

    速卖通全球化适配是跨境成功关键!本文详解2025最新接口方案,涵盖多语言智能翻译、合规自动校验、物流精准推荐与性能优化四大模块,助力商家提升转化率30%+,降低风险,提效80%。附实操代码与新手三步走策略,适合所有想出海的卖家。
    的头像 发表于 10-16 09:30 738次阅读
    速卖通全球运营利器:商品详情接口<b class='flag-5'>多语言</b> + 合规 + 物流适配技术全解析

    广和通发布自研端侧语音识别大模型FiboASR

    7月,全球领先的无线通信模组及AI解决方案提供商广和通,发布其自主研发的语音识别大模型FiboASR。该模型专为端侧设备上面临的面对面实时对话及多人会议场景深度优化,在低延迟语音交互、实时语音转录
    的头像 发表于 08-04 11:43 1773次阅读

    FA模型卡片和Stage模型卡片切换

    卡片切换 卡片切换主要包含如下三部分: 卡片页面布局:FA模型卡片和Stage模型卡片的布局都采用类web范式开发可以直接复用。 卡片配置文件:FA模型的卡片配置在config.json中
    发表于 06-06 08:10

    中科曙光DeepAI深算智能引擎全面支持Qwen3

    日前,Qwen3正式发布并全部开源8款混合推理模型。作为Qwen系列中的最新一代大型语言模型,Qwen3在推理、指令遵循、工具调用、多语言
    的头像 发表于 05-06 15:17 1330次阅读

    小白学大模型:从零实现 LLM语言模型

    在当今人工智能领域,大型语言模型(LLM)的开发已经成为一个热门话题。这些模型通过学习大量的文本数据,能够生成自然语言文本,完成各种复杂的任务,如写作、翻译、问答等。https
    的头像 发表于 04-30 18:34 1449次阅读
    小白学大<b class='flag-5'>模型</b>:从零实现 LLM<b class='flag-5'>语言</b><b class='flag-5'>模型</b>