【NLP】1、BERT | 双向 transformer 预训练语言模型

文章目录

论文:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

出处:Google

一、背景

在 BERT 之前的语言模型如 GPT 都是单向的模型,但 BERT 认为虽然单向(从左到右预测)预测任务符合语言模型的建模过程,但对一些语言理解任务不太友好,因为要理解一句话说的是什么意思的话(如 VQA), 同时看到一整句话也是可以的,是符合逻辑的,而不是只能一个单词一个单词的来逐个看。

所以 BERT 打破了语言模型单向的限制,做了一个双向的模型,就是做完形填空的时候运行看左边也运行看右边,而且是受 Cloze (1953年的论文)这个方法的启发

具体的做法就是每次随机选一些 token 然后 mask 掉这些信息,目标是预测这些 token,这样就允许训了一个双向且深的 transformer 模型结构

此外,BERT 还做了一个任务------下一个句子的预测(next sentence prediction),就是给模型两个句子,让模型判断这两个句子在原文中是不是相邻的,能让模型学习句子层面的信息

二、方法

BERT 的两个步骤:

  • 预训练:使用无标注的数据训练的预训练模型(左边)
    • mask model:输入的是句子对儿,会把句子先进行拆词,并在序列首位放置 [CLS] 在句子中间放置 [SPE] 这两个特殊的 token,然后对普通的 token(除过特殊 token 之外的从句子中拆出来的 token)进行 15% 概率的擦除,然后在这 15% 的 token 中选择 80% 的直接用 [MASK] 替换掉这个 token,10%的随机放置 token,10% 不改变 token。
    • next sentence prediction:预测下一个句子,在 VQA 和 语言推理中都是句子对,所以使用这种方法对这两个任务类似的理解的任务有提升。输入的数据中有 50% 真的是下一个句子,50% 是随机拿来的句子。
  • 微调:针对不同的下游任务,还会使用有标签的数据来微调,使用预训练模型参数初始化,所有权重都会参与训练(右边)

模型超参数:base 共 110M 参数(也就是 1.1亿)对标的是 GPT 模型大小,large 共 340M 参数(也就是 3.4亿)

  • transformer block 个数:base 12 层,large 24 层
  • hidden 层大小:base 768,large 1024
  • 多头注意力机制 head 的个数:base 12 头,large 16 头

输入和输出:

  • 输入是一个序列,可以是一个句子,也可以是两个句子,两个句子也会并成一个序列
  • 序列的构成方式:使用的切词方法是 WordPiece,因为如果按照空格切词的话会导致词典很大,WordPiece 是说如果一个词出现频率不高的话,那么就切开看它的子序列,子序列出现多的话保留子序列就可,可以使用 30000 token vocabulary 就能表示一个大的文本了。切好词之后就要把两个句子整合成一个序列,序列的第一个词用于都是 [CLS],bert 希望这个 token 表示整个序列的特征。还有一个 [SEP] token 表示将两个句子在这里切开,因为毕竟每个句子还是独立的个体,所以要有标志将其切开。在图 1 左侧就展示了,将句子切成 token,然后将求每个 token 的 embedding,
  • 每个 token 还要加 位置的 embedding 和 segment embedding,如图 2 所示
  • BERT 的每个 token 的输入是由三个部分相加得到的
  • token embedding:就是输入 transformer 之前的一次简单 embedding
  • segment embedding:表示第一句话还是第二句话
  • position embedding:token 在序列中的位置
相关推荐
code_pgf3 小时前
Qwen2.5-VL 算法解析
人工智能·深度学习·算法·transformer
大模型最新论文速读4 小时前
合成数据的正确打开方式:格式比模型重要,小模型比大模型好用
论文阅读·人工智能·深度学习·机器学习·自然语言处理
2501_933329554 小时前
技术深度拆解:Infoseek舆情处置系统的全链路架构与核心实现
开发语言·人工智能·自然语言处理·架构
菜鸟‍5 小时前
【论文学习】Transformer中的数据流动
深度学习·学习·transformer
高洁015 小时前
大模型在天文科研中的应用:天体数据分析
人工智能·深度学习·数据挖掘·transformer·知识图谱
大模型最新论文速读13 小时前
VQKV:KV Cache 压缩 82% 性能几乎不降
人工智能·深度学习·算法·机器学习·自然语言处理
葫三生14 小时前
《论三生原理》系列:文化自信、知识范式重构与科技自主创新的思想运动源头?
大数据·人工智能·科技·深度学习·算法·重构·transformer
夜瞬14 小时前
NLP学习笔记08:循环神经网络(RNN)——从基础 RNN 到 LSTM 与 GRU
rnn·学习·自然语言处理
AI即插即用15 小时前
即插即用系列 | SCTNet: 协同CNN与Transformer,池化注意力融合的高光谱图像分类网络
人工智能·深度学习·计算机视觉·分类·cnn·transformer
大模型实验室Lab4AI15 小时前
KNOWLEDGE IS NOT STATIC: ORDER-AWARE HYPERGRAPH RAG FOR LANGUAGE MODELS(论文解读)
人工智能·语言模型·自然语言处理