BERT-Bidirectional Encoder Representations from Transformers

2023-12-05 04:38

本文主要是介绍BERT-Bidirectional Encoder Representations from Transformers,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

BERT, or Bidirectional Encoder Representations from Transformers

BERT是google最新提出的NLP预训练方法,在大型文本语料库(如维基百科)上训练通用的“语言理解”模型,然后将该模型用于我们关心的下游NLP任务(如分类、阅读理解)。 BERT优于以前的方法,因为它是用于预训练NLP的第一个**无监督深度双向**系统。

简单的说就是吊打以前的模型,例如 Semi-supervised Sequence Learning,Generative Pre-Training,ELMo, ULMFit,在多个语言任务上(SQuAD, MultiNLI, and MRPC)基于BERT的模型都取得了state of the art的效果。

BERT 的核心过程:

  1. 从句子中随机选取15%去除,作为模型预测目标,例如:

    Input: the man went to the [MASK1] . he bought a [MASK2] of milk.
    Labels: [MASK1] = store; [MASK2] = gallon
    
  2. 为了学习句子之间的关系。会从数据集抽取两个句子,其中第二句是第一句的下一句的概率是 50%,

    Sentence A: the man went to the store .
    Sentence B: he bought a gallon of milk .
    Label: IsNextSentence
    
    Sentence A: the man went to the store .
    Sentence B: penguins are flightless .
    Label: NotNextSentence
    
  3. 最后再将经过处理的句子传入大型 Transformer 模型,并通过两个损失函数同时学习上面两个目标就能完成训练。

主要在于Transformer模型。后续需要再分析其模型机构以及设计思想。

预训练模型

  • BERT-Base, Uncased:
    12-layer, 768-hidden, 12-heads, 110M parameters
  • BERT-Large, Uncased:
    24-layer, 1024-hidden, 16-heads, 340M parameters
  • BERT-Base, Cased:
    12-layer, 768-hidden, 12-heads , 110M parameters
  • BERT-Large, Cased: 24-layer, 1024-hidden, 16-heads, 340M parameters
    (Not available yet. Needs to be re-generated).
  • BERT-Base, Multilingual:
    102 languages, 12-layer, 768-hidden, 12-heads, 110M parameters
  • BERT-Base, Chinese:
    Chinese Simplified and Traditional, 12-layer, 768-hidden, 12-heads, 110M
    parameters

其中包含:

  • A TensorFlow checkpoint (bert_model.ckpt) containing the pre-trained
    weights (which is actually 3 files).
  • A vocab file (vocab.txt) to map WordPiece to word id.
  • A config file (bert_config.json) which specifies the hyperparameters of
    the model.

其他语言见: Multilingual README。开放了中文数据集。

  • BERT-Base, Multilingual: 102 languages, 12-layer, 768-hidden, 12-heads, 110M parameters
  • BERT-Base, Chinese: Chinese Simplified and Traditional, 12-layer, 768-hidden, 12-heads, 110M
    parameters

(算力紧张情况下单独训练了一版中文,中文影响力可见一斑,我辈仍需努力啊)

更多细节见: https://github.com/google-research/bert

Reference

  1. GitHub(TensorFlow): https://github.com/google-research/bert
  2. PyTorch version of BERT :https://github.com/huggingface/pytorch-pretrained-BERT
  3. BERT-Base, Chinese: https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip
  4. 论文: https://arxiv.org/abs/1810.04805.

这篇关于BERT-Bidirectional Encoder Representations from Transformers的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/456174

相关文章

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

8. 自然语言处理中的深度学习:从词向量到BERT

引言 深度学习在自然语言处理(NLP)领域的应用极大地推动了语言理解和生成技术的发展。通过从词向量到预训练模型(如BERT)的演进,NLP技术在机器翻译、情感分析、问答系统等任务中取得了显著成果。本篇博文将探讨深度学习在NLP中的核心技术,包括词向量、序列模型(如RNN、LSTM),以及BERT等预训练模型的崛起及其实际应用。 1. 词向量的生成与应用 词向量(Word Embedding)

文本分类场景下微调BERT

How to Fine-Tune BERT for Text Classification 论文《How to Fine-Tune BERT for Text Classification?》是2019年发表的一篇论文。这篇文章做了一些实验来分析了如何在文本分类场景下微调BERT,是后面网上讨论如何微调BERT时经常提到的论文。 结论与思路 先来看一下论文的实验结论: BERT模型上面的

机器之心 | 预训练无需注意力,扩展到4096个token不成问题,与BERT相当

本文来源公众号“机器之心”,仅用于学术分享,侵权删,干货满满。 原文链接:预训练无需注意力,扩展到4096个token不成问题,与BERT相当 本文提出了双向门控 SSM(BiGS)模型,结合基于状态空间模型(SSM)的 Routing 层和基于乘法门的模型架构,在不使用注意力的情况下能够复制 BERT 预训练结果,并可扩展到 4096 个 token 的长程预训练,不需要近似。 Tr

解决Can‘t load tokenizer for ‘bert-base-chinese‘.问题

报错提示: OSError: Can't load tokenizer for 'bert-base-chinese'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwi

Sentence-BERT实现文本匹配【对比损失函数】

引言 还是基于Sentence-BERT架构,或者说Bi-Encoder架构,但是本文使用的是参考2中提出的对比损失函数。 架构 如上图,计算两个句嵌入 u \pmb u u和 v \pmb v v​之间的距离(1-余弦相似度),然后使用参考2中提出的对比损失函数作为目标函数: L = y × 1 2 ( distance ( u , v ) ) 2 + ( 1 − y ) × 1 2

【人工智能】Transformers之Pipeline(十五):总结(summarization)

​​​​​​​ 目录 一、引言  二、总结(summarization) 2.1 概述 2.2 BERT与GPT的结合—BART 2.3 应用场景​​​​​​​ 2.4 pipeline参数 2.4.1 pipeline对象实例化参数 2.4.2 pipeline对象使用参数 ​​​​​​​ 2.4.3 pipeline返回参数 ​​​​​​​​​​​​​​ 2.5 pipe

HOW DO VISION TRANSFORMERS WORK

HOW DO VISION TRANSFORMERS WORK Namuk Park1,2, Songkuk Kim1 1Yonsei University, 2NAVER AI Lab{namuk.park,songkuk}@yonsei.ac.kr 总结 MSA 改善模型泛化能力: MSA 不仅提高了模型的准确性,还通过平滑损失景观来提高泛化能力。损失景观的平坦化使得模型更容易优化,表现

自然语言处理系列五十二》文本分类算法》BERT模型算法原理及文本分类

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列五十二文本分类算法》BERT模型算法原理及文本分类BERT中文文本分类代码实战 总结 自然语言处理系列五十二 文本分类算法》BERT模型算法原理及文本分类 BERT是2018年10月由Google