晓查 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

今年2月,Facebook发表了论文《Cross-lingual Language Model Pretraining》,这篇论文提出了基于BERT优化的跨语言模型XLM,它刚刚出生就在两项机器翻译任务上取得了巨大进步。

在无人监督的机器翻译中,XLM在WMT’16的德语-英语上获得了34.3 BLEU,比之前的技术水平提高了9个以上BLEU。

然而这只是在单个应用领域的成绩,XLM更全面的性能测试结果如何呢?

就在昨天,论文的两位作者提交了GLUE测试得分,在使用相同的数据 (Wiki/TBC)的情况下,没有下一句预测任务,XLM新模型在所有提交的GLUE任务上均优于BERT。

为何能比BERT性能更好,论文作者之一Guillaume说:是因为更大的维度,以及没有下一句预测。

XLM项目

Facebook已经在GitHub上更新了的XLM项目的最新结果。

根据最新的文档描述,XLM的PyTorch英语模型与预训练的BERT TensorFlow模型使用相同的数据(Wikipedia + Toronto Book Corpus)进行训练。

该实现不使用下一句预测任务,网络只有12层但容量更高,包含6.65亿参数。总的来说,XLM模型在所有GLUE任务上都比原始BERT具有更好的性能。

整个XLM项目包括以下代码:

1、预训练语言模型:

因果语言模型(CLM)- 单语
掩码训练的语言模型(MLM) - 单语
翻译语言模型(TLM) - 跨语言

2、监督/无监督的机器翻译训练:

去噪自动编码器
并行数据培训
在线反向翻译

3、XNLI微调

4、GLUE微调

Facebook展示了XLM在生成跨语言句子表征上的能力。下面的代码中可以看到根据预训练模型获取句子表征的例子。

# list of (sentences, lang)sentences = [    ('the following secon@@ dary charac@@ ters also appear in the nov@@ el .', 'en'),    ('les zones rurales offr@@ ent de petites routes , a deux voies .', 'fr'),    ('luego del cri@@ quet , esta el futbol , el sur@@ f , entre otros .', 'es'),    ('am 18. august 1997 wurde der astero@@ id ( 76@@ 55 ) adam@@ ries nach ihm benannt .', 'de'),    ('اصدرت عدة افلام وث@@ اي@@ قية عن حياة السيدة في@@ روز من بينها :', 'ar'),    ('此外 , 松@@ 嫩 平原 上 还有 许多 小 湖泊 , 当地 俗@@ 称 为 “ 泡@@ 子 ” 。', 'zh'),]# add </s> sentence delimiterssentences = [(('</s> %s </s>' % sent.strip()).split(), lang) for sent, lang in sentences]sentences = [    ('the following secon@@ dary charac@@ ters also appear in the nov@@ el .', 'en'),    ('les zones rurales offr@@ ent de petites routes , a deux voies .', 'fr'),    ('luego del cri@@ quet , esta el futbol , el sur@@ f , entre otros .', 'es'),    ('am 18. august 1997 wurde der astero@@ id ( 76@@ 55 ) adam@@ ries nach ihm benannt .', 'de'),    ('اصدرت عدة افلام وث@@ اي@@ قية عن حياة السيدة في@@ روز من بينها :', 'ar'),    ('此外 , 松@@ 嫩 平原 上 还有 许多 小 湖泊 , 当地 俗@@ 称 为 “ 泡@@ 子 ” 。', 'zh'),]

# add </s> sentence delimiterssentences = [(('</s> %s </s>' % sent.strip()).split(), lang) for sent, lang in sentences]

论文简介

最近的研究证明了生成预训练(Generative pretraining)对英语自然语言理解的效率。而Facebook将这种方法扩展到多种语言,并展示了跨语言预训练的有效性。

他们提出了两种学习跨语言模型(XLM)的方法:一种是无监督学习,只依赖单语数据,另一种是监督学习,利用新的跨语言语言模型目标的平行数据。

这种方法获得了关于跨语言分类、无监督和监督机器翻译的最新结果。在XNLI上,这种方法比之前的技术将准确率提高了4.9%。

在无人监督的机器翻译中,XLM在WMT’16德语 - 英语上获得了34.3 BLEU,比之前的最佳结果提高了9个以上BLEU。

在有监督机器翻译中,XLM在WMT’16罗马尼亚语-英语上获得了38.5 BLEU的结果,比之前的最佳方法提高了超过4 BLEU。

传送门

论文地址:
https://arxiv.org/abs/1901.07291

项目地址:
https://github.com/facebookresearch/XLM

作者系网易新闻·网易号“各有态度”签约作者

AI社群 | 与优秀的人交流

小程序 | 全类别AI学习教程

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「好看」吧 !

想在PyTorch里训练BERT,请试试Facebook跨语言模型XLM相关推荐

  1. 如何从零开始训练BERT模型

    我的许多文章都专注于 BERT--这个模型出现并主导了自然语言处理 (NLP) 的世界,标志着语言模型的新时代. 对于那些之前可能没有使用过 Transformer 模型(例如 BERT 是什么)的人 ...

  2. 手把手教你洞悉 PyTorch 模型训练过程,彻底掌握 PyTorch 项目实战!(文末重金招聘导师)...

    (文末重金招募导师) 在CVPR 2020会议接收中,PyTorch 使用了405次,TensorFlow 使用了102次,PyTorch使用数是TensorFlow的近4倍. 自2019年开始,越来 ...

  3. 1美元训练BERT,教你如何薅谷歌TPU羊毛 | 附Colab代码

    晓查 发自 凹非寺 量子位 出品 | 公众号 QbitAI BERT是谷歌去年推出的NLP模型,一经推出就在各项测试中碾压竞争对手,而且BERT是开源的.只可惜训练BERT的价格实在太高,让人望而却步 ...

  4. 快速上手笔记,PyTorch模型训练实用教程(附代码)

    机器之心发布 作者:余霆嵩 前言 自 2017 年 1 月 PyTorch 推出以来,其热度持续上升,一度有赶超 TensorFlow 的趋势.PyTorch 能在短时间内被众多研究人员和工程师接受并 ...

  5. 新手手册:Pytorch分布式训练

    文 | 花花@机器学习算法与自然语言处理 单位 | SenseTime 算法研究员 目录 0X01 分布式并行训练概述 0X02 Pytorch分布式数据并行 0X03 手把手渐进式实战 A. 单机单 ...

  6. PyTorch 模型训练实用教程(附代码)

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx PyTorch 能在短时间内被众多研究人员和工程师接受并推崇是因为其有着诸多优点,如采用 Py ...

  7. 使用transformers从头训练Bert

    比赛数据是脱敏后得数据,所以无法用网上公开得权重去finetune,于是自己从头训练一个BERT,为什么选择用transformers,因为它实在太酷了.如果不了解transformers,请看链接所 ...

  8. 1美元从零开始训练Bert,手把手教你优雅地薅谷歌云TPU羊毛

    大数据文摘出品 来源:Google Colab 编译:武帅.曹培信 2018年10月,Google AI团队推出了Bert,可以说Bert一出生就自带光环. 在斯坦福大学机器阅读理解水平测试SQuAD ...

  9. bert 中文 代码 谷歌_1美元从零开始训练Bert,手把手教你优雅地薅谷歌云TPU羊毛...

    大数据文摘出品 来源:Google Colab 编译:武帅.曹培信 2018年10月,Google AI团队推出了Bert,可以说Bert一出生就自带光环. 在斯坦福大学机器阅读理解水平测试SQuAD ...

最新文章

  1. 研究生失联19天,父母焦急求助!最后竟然是在写博士研究计划......
  2. 强化学习AI:它菜了,我慌了
  3. 9月份准备备考RHCE 10份考试争取一次通过
  4. oracle以sysdba登陆,oracle 以SYSDBA身份登陆
  5. 华人Hbuy隐私政策
  6. linux 创建连接命令 ln -s 软连接
  7. Java之JSON数据
  8. 试题 历届试题 带分数(全排列)
  9. MyBatis 集成到Spring 的原理是什么?
  10. 监控视图 oracle,Oracle“并行执行”之四——监控视图
  11. C语言经典贪心算法之加油站问题(详解)
  12. python如何读取字符串最后一个字符_python 获取字符串最后一个字符
  13. 面试常考的7道智力题,再也不怕面试官刁难
  14. java .jar怎么打开_jar文件怎么打开,教您如何打开jar文件
  15. Wince 7.0 远程控制工具的使用
  16. 网络托管巨头百万数据外泄、超900万安卓设备感染木马|11月24日全球网络安全热点
  17. 中国杀软套路深:CIA怼遍全世界竟然干不过它
  18. Web应用服务器tomcat
  19. 切比雪夫多项式c语言csdn,切比雪夫多项式
  20. python1到100奇数相加_Python:从inpu将奇数相加

热门文章

  1. 从不用 try-catch 实现的 async/await 语法说错误处理
  2. 用 Winetricks 配置 WINE
  3. atitit. 浏览器插件 控件 applet 的部署,签名总结 浏览器 插件 控件 的签名安全机制o9o...
  4. Js结束,项目进行中
  5. GridView自定义分页样式(上一页,下一页,到第几页)(新手教程)
  6. 文本文件与二进制文件,C++流(待续)
  7. 分享Kali Linux 2016.2第50周虚拟机
  8. iOS 10应用开发基础教程
  9. 项目跑到到了日志警告就卡住了_java中的日志框架梳理(以故事的形式呈现)...
  10. 三步快删EXCEL工作表下面出现1000多万行无用数据或者空白行(空值行)