BERT

推出一个半月,斯坦福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 任务上取得突破的原因。

拓展阅读:



BERT

原文地址:https://www.cnblogs.com/cx2016/p/11383009.html

时间: 2024-10-11 21:59:51

BERT的相关文章

Attention is all you need及其在TTS中的应用Close to Human Quality TTS with Transformer和BERT

论文地址:Attention is you need 序列编码 深度学习做NLP的方法,基本都是先将句子分词,然后每个词转化为对应的的词向量序列,每个句子都对应的是一个矩阵\(X=(x_1,x_2,...,x_t)\),其中\(x_i\)都代表着第\(i\)个词向量,维度为d维,故\(x\in R^{n×d}\) 第一个基本的思路是RNN层,递归式进行: \[ y_t=f(y_{t-1},x_t) \] RNN结构本身比较简单,也适合序列建模,但RNN明显缺点之一在于无法并行,因而速度较慢,而且

BERT的开源实现的使用

参考这篇文章: 小数据福音!BERT在极小数据下带来显著提升的开源实现 https://mp.weixin.qq.com/s?__biz=MzIwMTc4ODE0Mw==&mid=2247493161&idx=1&sn=58ddcd071602c42dda93275289311bb3&chksm=96ea39a9a19db0bf15df95cc9961064a3bab4e4a0b8d25a9bfb45c154942330b9cdb0abe0f4b&mpshare=1

BERT模型介绍

前不久,谷歌AI团队新发布的BERT模型,在NLP业内引起巨大反响,认为是NLP领域里程碑式的进步.BERT模型在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:全部两个衡量指标上全面超越人类,并且还在11种不同NLP测试中创出最佳成绩,包括将GLUE基准推至80.4%(绝对改进7.6%),MultiNLI准确度达到86.7%(绝对改进率5.6%)等.BERT模型是以Transformer编码器来表示,本文在详细介绍BERT模型,Transformer编码器的原理可以参考(). 论文

最强NLP模型-BERT

简介: BERT,全称Bidirectional Encoder Representations from Transformers,是一个预训练的语言模型,可以通过它得到文本表示,然后用于下游任务,比如文本分类,问答系统,情感分析等任务.BERT像是word2vec的加强版,同样是预训练得到词级别或者句子级别的向量表示,word2vec是上下文无关的(Context-Free),而BERT是上下问有关的(Contextual).意思就是,word2vec只是具有词本身的语义信息,而没有包含文本

一文读懂BERT中的WordPiece

1. 前言 2018年最火的论文要属google的BERT,不过今天我们不介绍BERT的模型,而是要介绍BERT中的一个小模块WordPiece. 2. WordPiece原理 现在基本性能好一些的NLP模型,例如OpenAI GPT,google的BERT,在数据预处理的时候都会有WordPiece的过程.WordPiece字面理解是把word拆成piece一片一片,其实就是这个意思. WordPiece的一种主要的实现方式叫做BPE(Byte-Pair Encoding)双字节编码. BPE

BERT模型在多类别文本分类时的precision, recall, f1值的计算

BERT预训练模型在诸多NLP任务中都取得最优的结果.在处理文本分类问题时,即可以直接用BERT模型作为文本分类的模型,也可以将BERT模型的最后层输出的结果作为word embedding导入到我们定制的文本分类模型中(如text-CNN等).总之现在只要你的计算资源能满足,一般问题都可以用BERT来处理,此次针对公司的一个实际项目--一个多类别(61类)的文本分类问题,其就取得了很好的结果. 我们此次的任务是一个数据分布极度不平衡的多类别文本分类(有的类别下只有几个或者十几个样本,有的类别下

深度双向Transformer预训练【BERT第一作者分享】

目录 NLP中的预训练 语境表示 语境表示相关研究 存在的问题 BERT的解决方案 任务一:Masked LM 任务二:预测下一句 BERT 输入表示 模型结构--Transformer编码器 Transformer vs. LSTM 模型细节 在不同任务上进行微调 GLUE SQuAD 1.1 SQuAD 2.0 SWAG 分析 预训练的影响 方向与训练时间的影响 模型规模的影响 遮罩策略的影响 多语言BERT(机器翻译) 生成训练数据(机器阅读理解) 常见问题 结论 翻译自Jacob Dev

Perseus-BERT——业内性能极致优化的BERT训练方案

[作者] 笋江(林立翔) 驭策(龚志刚) 蜚廉(王志明) 昀龙(游亮) 一,背景--横空出世的BERT全面超越人类2018年在自然语言处理(NLP)领域最具爆炸性的一朵"蘑菇云"莫过于Google Research提出的BERT(Bidirectional Encoder Representations from Transformers)模型.作为一种新型的语言表示模型,BERT以"摧枯拉朽"之势横扫包括语言问答.理解.预测等各项NLP锦标的桂冠,见图1和图2.

chinese multiple class classification using BERT

Steps: git clone https://github.com/google-research/bert prepare data, download pre-trained models modify code in run_classifier.py add a new processor ? ? add the processor in main function ? ? ? ? Train and predict train python run_classifier.py --

为什么BERT有3个嵌入层,它们都是如何实现的

目录 引言 概览 Token Embeddings 作用 实现 Segment Embeddings 作用 实现 Position Embeddings 作用 实现 合成表示 结论 参考文献 本文翻译自Why BERT has 3 Embedding Layers and Their Implementation Details 引言 ? 本文将阐述BERT中嵌入层的实现细节,包括token embeddings.segment embeddings, 和position embeddings.