Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

李亚洲 李泽南作者

推出一个半月,斯坦福SQuAD问答榜单前六名都在使用BERT


BERT 成为了你做 NLP 时不得不用的模型了……吗?

今日,机器之心小编在刷 Twitter 时,发现斯坦福自然语言处理组的官方账号发布了一条内容:谷歌 AI 的 BERT 在 SQuAD 2.0 问答数据集上取得了全新的表现。该账号表示,目前榜单上的前 7 个系统都在使用 BERT 且要比不使用 BERT 的系统新能高出 2%。得分等同于 2017 年 SQuAD 1.0 版本时的得分。此外,哈工大讯飞联合实验室的 AoA 系统要比原 BERT 高出 2% 左右。

然后小编就从 SQuAD 2.0 榜单上发现了前六名的系统:

  • 哈工大讯飞联合实验室的 AoA+DA+BERT(集成)系统;

  • AoA+DA+BERT(单模型)系统;

  • 韩国创业公司 42Maru NLP 团队的 Candi-Net+BERT(单模型)系统;

  • 谷歌 AI 的 BERT(单模型)系统;

  • Layer 6 AI 的 L6Net+BERT(单模型)系统;

  • 阿里巴巴达摩院 NLP 团队的 SLQA+BERT(单模型)系统;

  • 金融壹账通 Gamma 实验室 BERT_base_aug(集成模型)。

如今牢牢占据前几名的系统几乎都在使用 BERT,让我们不得不感叹 BERT 的影响力之大。但同时也想知道使用 BERT 时付出的计算力,毕竟 BERT 的作者在 Reddit 上也曾表示预训练的计算量非常大,「OpenAI 的 Transformer 有 12 层、768 个隐藏单元,他们使用 8 块 P100 在 8 亿词量的数据集上训练 40 个 Epoch 需要一个月,而 BERT-Large 模型有 24 层、2014 个隐藏单元,它们在有 33 亿词量的数据集上需要训练 40 个 Epoch,因此在 8 块 P100 上可能需要 1 年?16 Cloud TPU 已经是非常大的计算力了。」

为什么人们拿来 BERT 都在刷 SQuAD?

斯坦福问答数据集(SQuAD)是目前机器阅读领域的重要基准,是由众多数据标注者从维基百科文章中提取问题形成的。回答这些问题可能需要引用相关段落中的一部分,也有一些问题是无法回答的。

2018 年 6 月,斯坦福大学推出了 SQuAD 2.0 版本。新版本在 SQuAD 1.1 版 10 万个问题的基础上又加入了 5 万个新问题,新加入的内容均为与数据标注者提出的可回答问题类似的不可回答问题。想要在 SQuAD 上取得好成绩,人工智能系统必须在可行的条件下回答问题,并在确定段落内容无法支持问题时选择不回答。对于现有模型来说,SQuAD2.0 是一项具有挑战性的自然语言理解任务。

如此难的基准测试,看来需要更强大的模型才能通关,而 BERT 貌似成为了当前最好的选择。让我们看看 BERT 的论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》是怎么写的:

BERT 是一种新型语言表征模型,意为来自 Transformer 的双向编码器表征(Bidirectional Encoder Representations from Transformers)。与此前的语言表征模型(Peters et al., 2018; Radford et al., 2018)不同,BERT 旨在基于所有层的左、右语境来预训练深度双向表征。因此,预训练的 BERT 表征可以仅用一个额外的输出层进行微调,进而为很多任务(如问答和语言推断任务)创建当前最优模型,无需对任务特定架构做出大量修改。

BERT 的概念很简单,但实验效果很强大。它刷新了 11 个 NLP 任务的当前最优结果,包括将 GLUE 基准提升至 80.4%(7.6% 的绝对改进)、将 MultiNLI 的准确率提高到 86.7%(5.6% 的绝对改进),以及将 SQuAD v1.1 的问答测试 F1 得分提高至 93.2 分(提高 1.5 分)——比人类表现还高出 2 分。

我们只需要一个额外的输出层来对预训练 BERT 进行微调就可以用它来满足各种任务,无需针对特定任务对模型进行修改,这就是 BERT 模型能在大量 NLP 任务上取得突破的原因。

拓展阅读:

产业BERTSQuADNLP
1
相关数据
基于Transformer 的双向编码器表征技术

BERT是谷歌发布的基于双向 Transformer的大规模预训练语言模型,该预训练模型能高效抽取文本信息并应用于各种NLP任务,并刷新了 11 项 NLP 任务的当前最优性能记录。BERT的全称是基于Transformer的双向编码器表征,其中“双向”表示模型在处理某一个词时,它能同时利用前面的词和后面的词两部分信息。

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

推荐文章
暂无评论
暂无评论~