Bert系列:BERT(Bidirectional Encoder Representations from Transformers)原理以及hugging face介绍

23 篇文章 4 订阅
订阅专栏

1. 预训练语言模型的发展史

2018年,BERT被正式提出。下图1回顾了近年来预训练语言模型的发展史以及最新的进展。预训练语言模型的成功,证明了我们可以从海量的无标注文本中学到潜在的语义信息,而无需为每一项下游NLP任务单独标注大量训练数据。此外,预训练语言模型的成功也开创了NLP研究的新范式[6],即首先使用大量无监督语料进行语言模型预训练(Pre-training),再使用少量标注语料进行微调(Fine-tuning)来完成具体NLP任务(分类、序列标注、匹配关系判断和机器阅读理解等)。

图1 NLP Pre-training and Fine-tuning新范式及相关扩展工作

Google AI团队提出的预训练语言模型BERT(Bidirectional Encoder Representations from Transformers),在11项自然语言理解任务上刷新了最好指标,可以说是近年来NLP领域取得的最重大的进展之一。

1.1 BERT简介

简: BERT是深度双向语言表征模型。首先,百万量级训练语料无监督pre-training语言模型,然后特定任务语料有监督进行fine-tuning模型。

繁:

BERT是基于Transformer的深度双向语言表征模型,基本结构如图2所示,本质上是利用Transformer结构构造了一个多层双向的Encoder网络。Transformer是Google在2017年提出的基于自注意力机制(Self-attention)的深层模型,在包括机器翻译在内的多项NLP任务上效果显著,超过RNN且训练速度更快。不到一年时间内,Transformer已经取代RNN成为神经网络机器翻译的State-Of-The-Art(SOTA)模型,包括谷歌、微软、百度、阿里、腾讯等公司的线上机器翻译模型都已替换为Transformer模型。关于Transformer的详细介绍可以参考Google论文《Attention is all you need》[3]。

图2 BERT及Transformer网络结构示意图

图2 BERT及Transformer网络结构示意图

模型结构

如表1所示,根据参数设置的不同,Google 论文中提出了Base和Large两种BERT模型。

表1 BERT Base和Large模型参数对比

BERT模型框架

BERTpre-training和fine-tuning。除了输出层,pre-training和fine-tuning的结构是一样的。使用相同的pre-training的模型参数进行初始化,针对不同下游作业,使用不同的业务数据对模型进行fine-tuning。在fine-tuning期间,所有参数都被微调。

Pre-training

由于BERT需要通过上下文信息,来预测中心词的信息,同时又不希望模型提前看见中心词的信息,因此提出了一种 Masked Language Model 的预训练方式,即随机从输入预料上 mask 掉一些单词,然后通过的上下文预测该单词,类似于一个完形填空任务。

在预训练任务中,15%的 Word Piece 会被mask,这15%的 Word Piece 中,80%的时候会直接替换为 [Mask] ,10%的时候将其替换为其它任意单词,10%的时候会保留原始Token.

Fine-tunninng

对于不同的下游任务,我们仅需要对BERT不同位置的输出进行处理即可,或者直接将BERT不同位置的输出直接输入到下游模型当中。

输入表示

BERT的输入的编码向量(长度是512)是3个嵌入特征的单位和,如图4,这三个词嵌入特征是:

  1. WordPiece 嵌入[6]:WordPiece是指将单词划分成一组有限的公共子词单元,能在单词的有效性和字符的灵活性之间取得一个折中的平衡。例如图4的示例中‘playing’被拆分成了‘play’和‘ing’;
  2. 位置嵌入(Position Embedding):位置嵌入是指将单词的位置信息编码成特征向量,位置嵌入是向模型中引入单词位置关系的至关重要的一环。
  3. 分割嵌入(Segment Embedding):用于区分两个句子,例如B是否是A的下文(对话场景,问答场景等)。对于句子对,第一个句子的特征值是0,第二个句子的特征值是1。

最后,说明一下图4中的两个特殊符号[CLS][SEP],其中[CLS]表示该特征用于分类模型,对非分类模型,该符合可以省去。[SEP]表示分句符号,用于断开输入语料中的两个句子。

 

1.2  BERT精度高的原因

大量的预训练语料

Google发布的英文BERT模型使用了BooksCorpus(800M词汇量)和英文Wikipedia(2500M词汇量)进行预训练,所需的计算量非常庞大。BERT论文中指出,Google AI团队使用了算力强大的Cloud TPU进行BERT的训练,BERT Base和Large模型分别使用4台Cloud TPU(16张TPU)和16台Cloud TPU(64张TPU)训练了4天(100万步迭代,40个Epoch)

1.3 应用举例

  1. 匹配任务(句子关系判断任务)
    对两个短语或者句子之间的关系进行分类,常见句间关系任务如自然语言推理(Natural Language Inference, NLI)、语义相似度判断(Semantic Textual Similarity,STS)等
  2. 分类任务,输入是一个文本,输出是其类别
  3. 问答类任务,输入是一个问题和一段很长的包含答案的文字(Paragraph),输出在这段文字里找到问题的答案
  4. 序列标注,比如命名实体识别,输入是一个句子,每个时刻都会有输出的Tag,比如B-PER表示人名的开始。然后用输出的Tag来进行Fine-Tuning

BERT系列模型

对BERT原生模型在一些方向的改进:

2.hugging face

2.1 简介

Hugging face是一家总部位于纽约的聊天机器人初创服务商,开发的应用在青少年中颇受欢迎,相比于其他公司,Hugging Face更加注重产品带来的情感以及环境因素。官网链接 https://huggingface.co/ 。

但更令它广为人知的是Hugging Face专注于NLP技术,拥有大型的开源社区。尤其是在github上开源的自然语言处理,预训练模型库 Transformers  https://huggingface.co/models,已被下载超过一百万次,github上超过24000个star。Transformers 提供了NLP领域大量state-of-art的预训练语言模型结构的模型和调用框架。用于自然语言理解(NLU)任务(如分析文本的情感)和自然语言生成(NLG)任务(如语言翻译)的预先训练的模型。

图4 2019.10-2020.3,每日平均的预训练模型下载数量 

优势:

  1. 兼容TensorFlow2.0和pytorch(模型之间的深层互操作、框架之间迁移模型)
  2. 模型接口简洁
  3. 社区有很多预训练的BERT类模型,可快捷引用(30多种预训练模型的10种架构,其中一些采用了100多种语言)
  4. 可扩展性

                huggingface提升了BERT类模型在工程上的可扩展性。

基于以上优势,通过huggingface工具,可以快速使用前述各BERT类模型。

 参考:

[1] Peters, Matthew E., et al. “Deep contextualized word representations.” arXiv preprint arXiv:1802.05365 (2018).

[2] Howard, Jeremy, and Sebastian Ruder. “Universal language model fine-tuning for text classification.” arXiv preprint arXiv:1801.06146 (2018).

[3] Vaswani, Ashish, et al. “Attention is all you need.” Advances in neural information processing systems. 2017.

[4] Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. 2018. Improving Language Understanding by Generative Pre-Training. Technical report, OpenAI.

[5] Devlin, Jacob, et al. “Bert: Pre-training of deep bidirectional transformers for language understanding.” arXiv preprint arXiv:1810.04805 (2018).

[6] Ming Zhou. “The Bright Future of ACL/NLP.” Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. (2019).

[7] Deng, Jia, et al. “Imagenet: A large-scale hierarchical image database.” 2009 IEEE conference on computer vision and pattern recognition. Ieee, (2009).

[8] Girshick, Ross, et al. “Rich feature hierarchies for accurate object detection and semantic segmentation.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2014.

[9] bert系列模型: https://www.jiqizhixin.com/articles/2019-08-26-16

BERT(Bidirectional Encoder Representations from Tr
AI天才研究院
10-13 919
BERT(Bidirectional Encoder Representations from Transformers) - 原理与代码实例讲解》 关键词:
从零开始大模型开发与微调:BERT的基本架构与应用
AI天才研究院
06-17 948
从零开始大模型开发与微调:BERT的基本架构与应用 1.背景介绍 在自然语言处理(NLP)领域,BERTBidirectional Encoder Representations from Transformers)模型的出现标志着一个重要的里程碑。BERT由Google
BERT: Bidirectional Encoder Representations from Transformers双向Transformer用于语言模型 NAACL 2018
u013602059的专栏
07-02 4154
论文链接:https://arxiv.org/abs/1810.04805 tensorflow版本代码链接:https://github.com/google-research/bert pytorch版本代码链接:https://github.com/codertimo/BERT-pytorch 导读 这篇论文由谷歌团队发表于2018年的NAACL上《BERT: Pre-training of Deep Bidirectional Transformers for Language Understan.
BERT:Bidirectional Encoder Representation from Transformers
qq_37435458的博客
03-03 1446
知乎:https://zhuanlan.zhihu.com/p/98855346 BERT的全称为Bidirectional Encoder Representation from Transformers,是一个预训练的语言表征模型。 它强调了不再像以往一样采用传统的单向语言模型或者把两个单向语言模型进行浅层拼接的方法进行预训练,而是采用新的masked language model(MLM),以致能生成深度的双向语言表征。 BERT论文发表时提及在11个NLP(Natural Language Proc
BERT模型深度剖析:史上最详尽教程,不会还有人不懂吧?
最新发布
2401_85375186的博客
09-12 1160
本文配套 BERT 源码 debug 详细讲解。前两章是 BERT 模型的讲解,后两章是源码讲解,非常适合硬核同学研究。BERTBidirectional Encoder Representations from Transformers)是一种预训练的自然语言处理(NLP)模型,由 Google 于2018年提出论文*《
BERTBidirectional Encoder Representation from Transformers(2018-10-11)
weixin_49346755的博客
05-06 1151
BERT不同于Transformer,Embedding采用三种相加的形式来表示:token embeddings、segment embeddings和position embeddings都是简单的Embedding层。假设输入的batch形状为(batch_size, seq_len),token embeddings负责将输入句子的映射为维度为d_model的向量,通过该层后的形状为(batch_size, seq_len, d_model);
BERT(Bidirectional Encoder Representations from Transformers)
weixin_30460489的博客
03-12 382
BERT的新语言表示模型,它代表Transformer的双向编码器表示。与最近的其他语言表示模型不同,BERT旨在通过联合调节所有层中的上下文来预先训练深度双向表示。因此,预训练的BERT表示可以通过一个额外的输出层进行微调,适用于广泛任务的最先进模型的构建,比如问答任务和语言推理,无需针对具体任务做大幅架构修改。 基础比较弱的,直接看bert,可能要结合这个文章一起看:从Wor...
自然语言处理(七):来自Transformers的双向编码器表示(BERT
qq_51957239的博客
09-05 2396
BERTBidirectional Encoder Representations from Transformers)是一种预训练的自然语言处理模型,由Google于2018年提出。它是基于Transformer模型架构的深度双向(双向指同时考虑上下文信息)表示学习模型。BERT的目标是通过在大规模文本语料上进行自监督学习来学习通用的语言表示。
BERT系列算法解读(ALBERT/RoBERTa/DistilBE/Transformer/Hugging Face/NLP)
07-13
BERTBidirectional Encoder Representations from Transformers)是谷歌于2018年提出的一种基于Transformer架构的预训练模型,它开创了深度学习在自然语言处理(NLP)领域的先河。BERT的主要特点是利用双向...
Transformer大模型实战 Hugging FaceTransformers
AI天才研究院
06-25 426
1.背景介绍 在自然语言处理(NLP)领域,Transformer模型已经成为了一种标准的架构。自从2017年由Google首次提出以来,Transformer模型以其独特的自注意力机制(Self-Attention Mechanism)和并行处理的优势,逐渐在各种NLP任务中取得了显著的成果。然而,Transformer模型的实现和优化并非易事,需要
从零开始大模型开发与微调:使用Hugging Face获取BERT预训练模型
AI天才研究院
06-16 671
从零开始大模型开发与微调:使用Hugging Face获取BERT预训练模型 1.背景介绍 在自然语言处理(NLP)领域,BERTBidirectional Encoder Representations from Transformers)模型
BERT Pre-training of Deep Bidirectional Transformers for Language Understanding
10-17
NLP领域取得最重大突破!谷歌AI团队新发布的BERT模型,在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:全部两个衡量指标上全面超越人类,并且还在11种不同NLP测试中创出最佳成绩。毋庸置疑,BERT模型开启了NLP的新时代!
BertBidirectional Encoder Representations from Transformers
北落师门XY的博客
09-21 2040
原理
论文笔记BERT: Bidirectional Encoder Representations from Transformers
zephyr_wang的博客
09-29 2221
1 简介 本文根据2019年《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》翻译总结的。 BERT: Bidirectional Encoder Representations from Transformers. 应用预训练模型于下游任务有两种策略,分别是feature-based 和 fine-tuning。fine-tuning方法的主要限制是其单向的。BERT采用的fine-tunin
BERTBidirectional Encoder Representations from Transformers
AI蜗牛之家
01-15 3301
paperauthor questions: Why 15% is masked rather all of the word like word2wec? Why get_pooled_output layer just use the first tokens’ output? run_pretraining line 284 : why add 1e-5 to the reduce(lab...
BERT -Bidirectional Encoder Representation from Transformers[2018GoogleLab]
To be a better man
04-06 1768
理论 代码 开源地址:后期整理自己的基于Bert的项目 李沐老师讲bert下面精彩的留言 Reference BERT 论文逐段精读【论文精读】_哔哩哔哩_bilibili //视频 BERT 论文逐段精读【论文精读】 - 哔哩哔哩 //笔记 什么是BERT? - 知乎 ...
BERT-Bidirectional Encoder Representations from Transformers
百川的博客
11-06 5114
BERT, or Bidirectional Encoder Representations from Transformers BERT是google最新提出的NLP预训练方法,在大型文本语料库(如维基百科)上训练通用的“语言理解”模型,然后将该模型用于我们关心的下游NLP任务(如分类、阅读理解)。 BERT优于以前的方法,因为它是用于预训练NLP的第一个**无监督,深度双向**系统。 简单...
BERT】——Bidirectional Encoder Representation from Transformers(基础版)
m0_64348349的博客
03-19 824
BERT的训练包含pre-train和fine-tune两个阶段。训练数据的生成方式是从平行语料中随机抽取的连续两句话,其中50%保留抽取的两句话,它们符合IsNext关系,另外50%的第二句话是随机从预料中提取的,它们的关系是NotNext的。BERT模型分为24层和12层两种,其差别就是使用transformer encoder的层数的差异,BERT-base使用的是12层的Transformer Encoder结构,BERT-Large使用的是24层的Transformer Encoder结构。
深入解读BERT系列算法:ALBERT、RoBERTa、DistilBERT
BERTBidirectional Encoder Representations from Transformers)是一种深度学习模型,主要应用于自然语言处理(NLP)领域。它的出现标志着NLP领域的深度学习技术的重大突破。BERT系列算法解读中包括了多种变体,...
写文章

热门文章

  • pytorch(一)模型加载函数torch.load() 106165
  • Python报错: ValueError: not enough values to unpack expected 3, got 2 84154
  • python 项目自动生成环境配置文件requirements.txt 77517
  • Linux使用vi编辑文件报错:E212: Can‘t open file for writing Press ENTER or type command to continue 70512
  • python中对list元素求和、求积的普通方法和便捷方法 69464

分类专栏

  • 评价指标 33篇
  • nlp 24篇
  • 推荐系统 5篇
  • 银行笔试 1篇
  • python 29篇
  • 字节面试 1篇
  • DNN 21篇
  • 推荐排序 9篇
  • TensorFlow 29篇
  • go语言 6篇
  • pytorch 23篇
  • docker 10篇
  • flask 7篇
  • 笔记 2篇
  • 规划 1篇
  • Flink
  • 面试故事会 5篇
  • PRML 1篇
  • matlab安装 1篇
  • 人脸识别 1篇
  • 随笔 9篇
  • 多项式拟合
  • Spark 16篇
  • 基础技术 29篇
  • ML 42篇
  • Scala 6篇
  • Java 14篇
  • 安装软件 3篇
  • 论文阅读 23篇
  • 文章阅读 2篇
  • LeetCode 22篇
  • linux 22篇

最新评论

  • Linux使用vi编辑文件报错:E212: Can‘t open file for writing Press ENTER or type command to continue

    Delos.: 检查一下路径所指文件夹是否存在,不存在就新建文件夹和命令文件夹名字一致,在使用sudo vi编写,最后esc,:wq退出

  • Linux使用vi编辑文件报错:E212: Can‘t open file for writing Press ENTER or type command to continue

    Delos.: 检查一下路径所指文件夹是否存在,不存在就新建文件夹和命令文件夹名字一致,在使用sudo vi编写,最后esc,:wq退出

  • Linux使用vi编辑文件报错:E212: Can‘t open file for writing Press ENTER or type command to continue

    Delos.: 检查一下路径所指文件夹是否存在,不存在就新建文件夹和命令文件夹名字一致,在使用sudo vi编写,最后esc,:wq退出

  • Linux使用vi编辑文件报错:E212: Can‘t open file for writing Press ENTER or type command to continue

    WakemeupWhenSep: 创建不了的检查下文件所在的文件夹和上级文件夹是否存在

  • sklearn(十一)计算混淆矩阵:confusion_matrix和multilabel_confusion_matrix

    Deviii: 你这fn和fp的值怎么是一样的?

大家在看

  • P2048 [NOI2010] 超级钢琴
  • 基于web的教育管理系统(源码+定制+开发)Web教育管理系统、在线教育管理平台、教学管理系统设计、Web教育平台优化、在线课程与学籍管理、教育机构管理系统
  • AcWing 3534:矩阵幂 ← 矩阵快速幂
  • 网络应用层
  • 《深度学习:探索未来的智能之路》 967

最新文章

  • DeepFM模型代码详解
  • 【LLM第8篇】Delta Tuning
  • quantile损失函数
2024年16篇
2023年3篇
2022年25篇
2021年98篇
2020年175篇
2019年39篇
2018年22篇
2017年3篇
2016年3篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家临沂哪里做玻璃钢雕塑佛山玻璃钢卡通雕塑蜜蜂南阳铸造玻璃钢雕塑铜川玻璃钢牌匾雕塑广东佛像玻璃钢雕塑莱芜小品系列玻璃钢雕塑黑龙江步行街玻璃钢雕塑定做价格池州人物玻璃钢雕塑厂宝山区专业玻璃钢雕塑淮安玻璃钢仿铜雕塑厂家宁波人物玻璃钢雕塑多少钱美陈玻璃钢动物雕塑现货商场走廊美陈本溪玻璃钢卡通雕塑白山玻璃钢雕塑工程电话组合式玻璃钢雕塑摆件供货商修补玻璃钢花盆深圳中庭商场美陈有哪些不锈钢玻璃钢雕塑梅州玻璃钢雕塑定做滁州美陈商场德阳玻璃钢卡通雕塑价格湖州玻璃钢卡通人物雕塑销售玻璃钢面包雕塑高淳玻璃钢造型雕塑商场美陈方案定做商场美陈门头设计方案泡沫雕塑怎么翻玻璃钢饶阳玻璃钢雕塑卡通淮安玻璃钢动物雕塑供货商香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化