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

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

3天内不再提示

了解BERT原理、技术、实践,只需3分钟

DPVg_AI_era 来源:lp 2019-03-01 08:58 次阅读

本文对BERT的原理、技术细节以及如何应用于实际场景中,做了简明扼要的介绍。看完本文相信您会对BERT为什么被认为是当前最好的NLP模型、实现原理以及适用场景有所了解。

目前最好的自然语言预训练方法无疑是BERT。它的工作流程分为两步:

首先,使用大量未标记的数据,以预训练、也就是无人监督的方式学习语言表达。

然后,使用少量经过标记的训练数据对模型进行fine-tune,以监督学习的方式,执行多种监督任务。

预训练机器学习模型已经在包括视觉、自然语言处理在内的各个领域取得了成功。

详解BERT及其原理

BERT是Bidirectional Encoder Representations from Transformers的缩写,是一种新型的语言模型,通过联合调节所有层中的双向Transformer来训练预训练深度双向表示。

它基于谷歌2017年发布的Transformer架构,通常的Transformer使用一组编码器和解码器网络,而BERT只需要一个额外的输出层,对预训练进行fine-tune,就可以满足各种任务,根本没有必要针对特定任务对模型进行修改。

BERT将多个Transformer编码器堆叠在一起。Transformer基于著名的多头注意力(Multi-head Attention)模块,该模块在视觉和语言任务方面都取得了巨大成功。

BERT的先进性基于两点:首先,使用Masked Langauge Model(MLM)和Next Sentense Prediction(NSP)的新预训练任务;其次,大量数据和计算能力满足BERT的训练强度。

相比之下,像Word2Vec、ELMO、OpenAI GPT等传统SOTA生成预训练方法,使用从左到右的单向训练,或者浅双向,均无法做到BERT的双向性。

MLM

MLM可以从文本执行双向学习,即允许模型从单词前后相邻的单词,学习每个单词的上下文,这是传统方法做不到的。

MLM预训练任务将文本转换为符号,并使用符号表示作为训练的输入和输出。15%的符号随机子集在训练期间被屏蔽(类似被隐藏起来),目标函数则用来预测符号识别的正确率。

这与使用单向预测作为目标、或使用从左到右和从右到左训练,来近似双向性的传统训练方法形成了对比。

但是MLM中的BERT屏蔽策略,将模型偏向于实际的单词,还没有数据显示这种偏见对训练所产生的影响。

NSP

NSP使得BERT可以通过预测上下句之间是否连贯来得出句子之间的关系。

给出50%正确上下句配对,并补充50%的随机上下句配对,然后对模型进行训练。

MLM和NSP是同时进行的。

数据和TPU/GPU runtime

BERT的训练总共使用了33亿单词。其中25亿来自维基百科,剩下8亿来自BooksCorpus。

训练使用TPU完成,GPU估算如下所示。

使用2500-392000标记的样品进行fine-tune。重要的是,100K以上训练样本的数据集在各种超参数上表现出强大的性能。

每个fine-tune实验在单个云TPU上运行1小时,在GPU上需要运行几个小时不等。

结果显示,BERT优于11项NLP任务。在SQUAD和SWAG两个任务中,BERT成为第一个超越人类的NLP模型!

BERT能够解决的实际任务类型

BERT预训练了104种语言,已在TensorFlow和Pytorch中实现并开源。Clone地址:

https://github.com/google-research/Bert

BERT可以针对几种类型的任务进行fine-tune。例如文本分类、文本相似性、问答、文本标签、如词性、命名实体识别等。

但是,预训练BERT是很贵的,除非使用类似于Nvidia V100这样的TPU或GPU。

BERT人员还发布了一个单独的多语种模型,该模型使用整个维基百科的100种语言进行训练,性能比单语种的低几个百分点。

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

    关注

    42

    文章

    3460

    浏览量

    132242
  • 自然语言
    +关注

    关注

    1

    文章

    272

    浏览量

    13239
  • nlp
    nlp
    +关注

    关注

    1

    文章

    466

    浏览量

    21888

原文标题:3分钟看懂史上最强NLP模型BERT

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

收藏 人收藏

    评论

    相关推荐

    3分钟以内可调的延时电路

    3分钟以内可调的延时电路用单结晶体管振汇器做延时电路时,其延时的长短主要由RC时间常数决定,因RC的数值都不宜取得过大,所以长延时就较难做到。本电路的延时范围在十几秒到1800秒内连续可调。
    发表于 09-22 09:27

    60分钟学会ORCAD

    60分钟学会ORCAD的文档教程
    发表于 03-11 09:44

    分钟了解机智云

    帐号分个人帐号与企业帐号,如下图所示,如果您是企业开发者,请务必申请企业帐号。机智云接入方案如图所示,厂家只需在原有设备上嵌入机智云认证WIFI模块即可转变成为智能设备,内嵌WIFI模块通过路由连接
    发表于 12-27 14:32

    【公布获奖】只需分钟参与NXP调查问卷,赢取精美礼品

    ://cn.mikecrm.com/53CRD7a3分钟填写一份问卷,你能获得什么?1、有机会获得精美USB 两用U盘2、3个积分奖励3、也许你的3
    发表于 03-03 16:13

    10分钟学会FPGA设计

    10分钟学会FPGA设计
    发表于 09-27 10:57

    通过PIC16F1933设计一个通过中断计时3分钟的程序

    初学PIC单片机,问题比较基础使用PIC16F1933单片机的学习,设计一个中断,通过计数中断,实现一个3分钟的延时,然后断开输出。实现一个自动工作3分钟后,断开的程序;
    发表于 08-29 15:37

    BERT原理详解

    BERT原理详解
    发表于 07-02 16:45

    3分钟带你了解博智慧达激光焊缝跟踪技术

    3分钟带你了解博智慧达激光焊缝跟踪技术
    发表于 08-30 10:58

    串行BERT用户指南

    A guide on using the Serial BERT
    发表于 09-23 11:01

    串行BERT编程指南

    A guide on programming the Serial BERT
    发表于 09-24 17:15

    J-BERT N4903A高性能串行BERT手册

    Brochure for the Keysight J-BERT N4903A High-Performance Serial BERT: 4 pages
    发表于 09-26 12:17

    3分钟了解激光功率计

    薄膜热电堆探测传感器来组装,虽然价格有所降低但供货受限于国外厂商,且不了解核心制造技术应用与类型有所局限。在这样的背景下,深圳市彩煌热电科技有限公司(简称“彩煌热电”)研制出性能与国外相媲美的全国产激光
    发表于 03-30 09:50

    分钟读懂WiFi基础知识

    家1、嵌入式技术常识科普【物联网】WiFi基础知识五分钟读懂TCP/IP;协议STM32开发 -- Keil基本使用如何看懂时序图(以SPI/I2C为例)ESP8266配网思路(不使用...
    发表于 12-01 06:36

    BERT模型的PyTorch实现

    BertModel是一个基本的BERT Transformer模型,包含一个summed token、位置和序列嵌入层,然后是一系列相同的self-attention blocks(BERT-base是12个blocks, BERT
    的头像 发表于 11-13 09:12 1.4w次阅读

    3分钟了解ePort关键设计技巧

    ePort-M模块到手,通信接口不了解?TX线需要串接电阻?信号线不懂处理、走线麻烦?3分钟带你了解ePort关键设计技巧,轻松上手!
    的头像 发表于 05-29 12:00 679次阅读
    3<b class='flag-5'>分钟</b><b class='flag-5'>了解</b>ePort关键设计技巧