Bert模型预训练介绍与使用
发布时间
阅读量:
阅读量
目录
预训练
本节概要
介绍
配置
预训练Bert模型
使用预训练的Bert模型
本节概要
谷歌bert仓库介绍
预训练
本节概要
- BERT模型是一种仅包含编码器的Transformer架构设计,并旨在处理语言信息。
- Google官方根据不同编码器层数以及隐藏神经元数量设置了多种模型配置方案。
- 预训练流程主要包括以下步骤:首先对输入数据进行分词处理;随后在每个样本两端添加特殊的起始(CLS)和结束(SEP)标记;接着对序列进行掩码处理并预测缺失项;之后构建嵌入层结构并整合各层输出以形成完整的特征向量;最后将这些特征向量通过带有Softmax激活函数的前馈网络进行分类预测,并通过反复训练优化模型参数。
介绍
BERT是一种基于上下文的嵌入模型。它通过分析语境来识别词语的基本意义,并结合外部知识丰富其语义信息。随后利用上下文信息生成该词对应的向量表示。接着通过Transformer编码器计算出每个单词的独特特征向量。这些向量不仅反映了词语本身的意义属性还揭示了词语之间在语义上的关联及其所处的语境。最终系统将这些特征向量作为输出返回
配置

| 编码器层数L | 注意力头数A | 隐藏神经元数H(即每个单词的特征向量大小) | 网络参数个数 | |
|---|---|---|---|---|
| base | 12 | 12 | 768 | 1.1亿 |
| large | 24 | 16 | 1024 | 3.4亿 |
| tiny | 2 | 128 | ||
| mini | 4 | 256 | ||
| small | 4 | 512 | ||
| medium | 8 | 512 |
预训练Bert模型****
介绍
基于大规模数据集对特定任务进行训练后得到模型m1;将其定义为预训练模型m2;随后,在面对新的任务时会利用预训练模型m2,并对其中的权重参数进行微调以生成新的模型m3。
过程
- 输入数据
采用子词词元化方法对输入数据进行分词处理,并将其转换为标记形式。 - 字节对编码
- 字节级字节对编码
- 添加边界标记
- 任务定义(可并行训练与预测):
a. 替换语言模型构建(完形填空):
i. 输入句子随机遮蔽15%单词
ii. 80%用[MASK]替换(例如:tokens=[[CLS],Paris,is,a,beautiful,[MASK],[SEP],I,love,Paris,[SEP])
iii. 10%用随机词汇替代(例如:tokens=[[CLS],Paris,is,a,beautiful,love,[SEP],I,love,Paris,[SEP])
iv. 10%保留原样(例如:tokens=[[CLS],Paris,is,a,beautiful,the,model,[SEP])
v. 整词遮蔽:将"pretraining"作为"pre"的子词进行遮蔽(例如:tokens=[[CLS],let,us,start,[MASK],[MASK],[MASK],the,model,[SEP])
b. 下一句预测任务:
i. 判断第二个句子是否紧随第一个句子之后(用于问答场景或生成场景)
ii. 返回isNext表示当前情况;返回notNext表示非此情况
c. 同时完成两种任务:
i. 标记嵌入层:添加边界标记后计算各标记的嵌入值
ii. 分段嵌入层:获取两个句子的嵌入表示EA和EB
iii. 位置嵌入层:获取边界标记处的嵌入表示E0和E1 - 合并嵌入信息:
a. 将三种嵌入结果相加得到各标记对应的最终特征向量R
7.MLM任务:
a.i-iii同上描述

1. 下句预测任务:

1. 同时两种任务:把以上两个标记都送入bert模型
通过预设参数配置训练BERT模型以实现概率预测任务。采用批量大小为256的数据处理批次,在总共有十万次迭代过程中完成这一过程。配置Adam优化器,并将学习率设定为1e-4(其中β₁= ⁰·⁹, β₂= ⁰·⁹₉₉),同时引入随机丢弃机制(Dropout),丢弃比例设置为0.1,并选用GeLU激活函数以提升模型性能表现。
在掩码任务中,在经过前馈网络层处理后通过Softmax函数计算得到的概率分布中。
例如,在一次预测中发现BERT模型对[MASK]被预测为'城市'的概率值最高。

下一句预测任务:将带有[CLS]标记的所有单词特征输入到一个带有softmax激活函数的前馈神经网络层中,并根据输出结果分别计算isNext和notNext两类的概率预测值
具体说明

在同一时间进行两个任务:识别隐藏标记,并判断句子B是否是紧随其后的句子A的一个后续
经过多次迭代训练后, 利用反向传播算法对前馈网络层和编码器层的参数进行调整, 使得模型最终获得最优参数配置.
使用预训练的Bert模型
本节概要
- Google公布了各种不同的模型架构
- Huggingface推出了基于transformer的技术框架
- 通过从预训练BERT模型编码器层提取嵌入
- 针对下游任务进行了精细微调
谷歌bert仓库介绍
- 不同预训练bert模型的配置:

-
模型类型:
- uncase模式:所有标记统一转换为小写字母,并被广泛应用。
- case模式:标记保持原有大小写的特性,在涉及名称识别的任务中尤为重要。
- 基于全词遮蔽机制构建的预训练语言模型。
-
预训练模型应用场景:
- 该预训练模型的主要功能是作为特征提取器,并生成相应的嵌入表示。
- 该预训练模型被成功应用于多种场景,并在这些应用中实现了显著的效果。
其中一种典型的应用场景是针对文本分类任务、问答系统等场景进行微调优化。
全部评论 (0)
还没有任何评论哟~
