[预训练]Encoder-only架构的预训练任务核心机制

article/2025/8/28 15:09:57

原创文章
1FFN前馈网络与激活函数技术解析:Transformer模型中的关键模块
2Transformer掩码技术全解析:分类、原理与应用场景
3【大模型技术】Attention注意力机制详解一
4Transformer核心技术解析LCPO方法:精准控制推理长度的新突破
5Transformer模型中位置编码(Positional Embedding)技术全解析(二)
6Transformer模型中位置编码(Positional Embedding)技术全解析(一)
7自然语言处理核心技术词嵌入(Word Embedding),从基础原理到大模型应用
8DeepSeek-v3:基于MLA的高效kv缓存压缩与位置编码优化技术
9

【Tokenization第二章】分词算法深度解析:BPE、WordPiece与Unigram的原理、实现与优化

10Tokenization自然语言处理中分词技术:从传统规则到现代子词粒度方法

Encoder-only 预训练任务

BERT引入了深度双向注意力机制Masking思想,我们主要围绕BERT两大核心训练任务:

Masked Language Modeling(MLM)与Next Sentence Prediction(NSP)

BERT预训练

传统的语言模型中,网络只能从左到右或从右到左进行单向建模,导致无法充分利用上下文信息。BERT 提出了一种 “遮蔽(Masking)” 的策略,通过将部分词隐藏,让模型在训练时同时关注被遮住单词左右两侧的上下文,从而获得真双向的上下文表示。此外,BERT 还引入了句子级别的 NSP 任务,使模型在理解单句语义的同时也能学习到句子之间的衔接与语义关系。

BERT的两个主要预训练任务:

  1. MLM:通过遮蔽部分Token,打上[MASK],让模型必须根据上下文推理出被遮蔽的token.

  2. NSP:随机抽取句子对,判断第二句是否是第一句的后续(从同一文档中顺序提取),提升句子层次的理解能力

传统的语言模型中,网络只能从左到右或从右到左进行单向建模,导致无法充分利用上下文信息。BERT 提出了一种 “遮蔽(Masking)” 的策略,通过将部分词隐藏,让模型在训练时同时关注被遮住单词左右两侧的上下文,从而获得真双向的上下文表示。此外,BERT 还引入了句子级别的 NSP 任务,使模型在理解单句语义的同时也能学习到句子之间的衔接与语义关系。

BERT进行下游任务(如文本分类、问答等)时,只需在base模型上加一个或少量额外层的微调

传统BERT预训练任务

MLM

BERT 会随机选择句子中 15% 的单词进行处理,其中

  1. 80%概率tokens会被替换为[MASK]

  2. 10%概率,tokens会称替换为随机的token,这正是解决一词多义的最重要特性

  3. 10%概率,tokens会保持不变但需要被预测

模型如何 “忽略原词”,仅通过上下文预测?1. 输入层:隐藏原词的真实身份
虽然原词未被替换为[MASK]或随机词,但在模型的输入表示中,它与其他词一样被编码为词向量、位置向量和段向量的叠加。
关键:模型在输入阶段无法 “知道” 哪个词是 “被强制预测的原词”,只能通过后续的编码层从上下文中提取信息。
2. 编码层:通过自注意力机制剥离原词依赖
Transformer 编码器的自注意力机制会让每个词的表示融合整个句子的上下文信息。
即使某个位置是原词,其最终的上下文表示(即编码器输出)也会被周围词的语义 “稀释”,不再单纯依赖自身的原始词义。
例如:句子 “苹果 [原词] 是红色的” 中,“苹果” 未被 mask,但模型需要通过 “是红色的” 来预测 “苹果”,而不是直接利用 “苹果” 本身的词义。
此时,模型的任务等价于:“根据‘[X] 是红色的’,预测 [X] 是什么?”,其中 [X] 的输入是 “苹果” 的词向量,但模型必须忽略这一信息,仅通过 “是红色的” 推断。
3. 预测层:强制基于上下文生成概率分布
编码器输出的向量会输入到一个全连接层(分类器),该层通过与词表的嵌入矩阵相乘,生成每个词的预测概率(不依赖输入词本身)。
即使输入的是原词,模型也会计算 “在上下文中,该位置最可能的词是什么”,而不是直接返回原词。
例如:输入 “苹果” 未被 mask,但模型需要根据 “是红色的” 预测该位置为 “苹果” 的概率,这要求模型必须证明 “苹果” 是上下文中最合理的词,而非直接记忆。
MLM训练目标
  • 给定sequence $X$, 令$\tilde{X}$表示经过Mask后的序列。网络经过输出词向量$h_i$并经过全连接层+softmax,预测每个被Mask位置所对应的真实词
  • 损失函数:$L_{MLM}=-\sum_{i\in Maskset}\log P(x_i|\tilde{X})$

其中,“Maskset”表示被遮蔽的token索引集合

NSP

让模型在看到“句子对(A,B)”时,判断“B是否真的是A的后续句子”。这样可以帮助模型学习到跨句子的衔接关系

  1. 从训练语料,随机抽取成对的句子(A,B)

    • 50% 的情况,B 是 A 在文档中的下一个句子
    • 50% 的情况,B 来自语料库中随机的其他文档或不相关位置
  2. 模型输入:

    • 拼接[CLS]+A+[SEP]+B+[SEP],中间用[SEP]分割句子
    • [CLS]放在开头,起到分类标志的作用,其对应的向量h_{[CLS]}会用于NSP的二分类
  3. 模型通过自注意力机制后,在[CLS]位置上输出一个向量,通过全连接+softmax,预测是否为后续句子

NSP训练目标
  • 二分类NSP任务中,用交叉熵损失表示为:

$L_{NSP}=-\sum_{(A,B)\in D}[y_{(A,B)}\log P(IsNext|A,B)+(1-y_{(A,B)})\log P(NotNext|A,B)]$

其中,y_{(A,B)}=1表示B是A的后续,否则为0

Sentence-Bert的额外训练任务

怎么提取sentence-level的特征用于下游任务,一种直观的想法是使用bert提取句子级别的embedding,那么我们有几种选择:

  • CLS Token embedding

Sentence-BERT 说CLS不好,CLS 更关注 句子间的逻辑关系,而非单句的语义表征,原因就是bert原生的CLS是用于NSP分类任务的,对句子表征效果不好

  • Pooling Context embedding(平均池化+归一化)

Sentence-BERT 认为这个特征比CLS好,并且在此基础上可以做fine-tune达到更好的表征效果

但是存在各向异性(Anisotropic)的问题,导致词余弦相似与pretrain词频相关

在 BERT 的原生向量空间中,高频词(如 “的”“是”“在”)的向量范数通常较小,分布在空间中心附近;

低频词(如专业术语、罕见词)的向量范数较大,分布在空间边缘。

因此,两个高频词的向量可能因靠近中心而 “虚假相似”,而低频词可能因范数差异大而 “虚假不相似”,与实际语义无关。

如何缓解各向异性

向量归一化:对池化后的句向量进行 L2 归一化,强制向量范数为 1,消除范数差异对余弦相似度的影响。公式:\hat{v} = \frac{v}{\|v\|},此时余弦相似度仅取决于向量方向,与范数无关。层归一化(Layer Normalization):在预训练或微调阶段对 Transformer 层的输出进行归一化,稳定向量分布。

  • EOS Token embedding

这是CLIP方法中文本编码器的特征提取方式,其实类似于Pooling Context Embedding,但是注意clip的文本编码器是从随机初始化开始训练的

MLM+NSP模型变体

下表简要列出各个变体与 BERT 的主要特征对比,按提出时间顺序排列。

模型时间主要改进点是否保留NSPMask策略结构典型应用
BERT2018MLM (15%) + NSP
双向Transformer Encoder
Yes静态Mask,15% 单词被随机选中Encoder-only (12/24层)各类NLP理解任务
RoBERTa20191)更大数据/更长训练
2)移除NSP
3)动态Mask
4)GPT-2 BPE
No动态Mask (同MLM)Encoder-only同BERT,效果更佳
ALBERT20191)Embedding因式分解
2)跨层权重共享
3)NSP → SOP
SOP同MLM (静态Mask)Encoder-only减少参数,大模型部署
SpanBERT20191)Span-level Masking
2)SBO目标
3)移除NSP
NoSpan Mask (块状)Encoder-only (改进BERT实现)核心指代、抽取式QA等
XLNet20191)Permutation LM融合AR/AE
2)Two-stream Attention
3)融合Transformer-XL长依赖
-无[Mask]标记,用Permutation+AttentionMask来双向建模类Transformer Encoder问答、语言建模,多项SOTA
DeBERTa20201)Disentangled Attention (内容/位置分离)
2)Enhanced Mask Decoder
3)更优性能
-同MLM (类似RoBERTa)Encoder-onlyGLUE/SQuAD SOTA,微软大规模应用

如果您认为博文还不错,请帮忙点赞、收藏、关注。您的反馈是我的原动力

原创文章
1FFN前馈网络与激活函数技术解析:Transformer模型中的关键模块
2Transformer掩码技术全解析:分类、原理与应用场景
3【大模型技术】Attention注意力机制详解一
4Transformer核心技术解析LCPO方法:精准控制推理长度的新突破
5Transformer模型中位置编码(Positional Embedding)技术全解析(二)
6Transformer模型中位置编码(Positional Embedding)技术全解析(一)
7自然语言处理核心技术词嵌入(Word Embedding),从基础原理到大模型应用
8DeepSeek-v3:基于MLA的高效kv缓存压缩与位置编码优化技术
9

【Tokenization第二章】分词算法深度解析:BPE、WordPiece与Unigram的原理、实现与优化

10Tokenization自然语言处理中分词技术:从传统规则到现代子词粒度方法

http://www.hkcw.cn/article/ikLSwvuAdw.shtml

相关文章

【大模型MCP】MCP 深度解析:AI 时代的「USB-C」接口——原理、对比、实战代码与行业落地

摘要 模型上下文协议 (Model Context Protocol, MCP) 诞生于 2024 年11月,由 Anthropic 牵头,在 2025-03-26 发布 1.0 正式规范。它以 JSON-RPC 2.0 消息结构承载于 WebSocket / SSE 等全双工传输之上,把「初始化 → 工具目录 → 调用 → 结…

超声波清洗机的作用是什么?使用超声波清洗机可以去除毛刺吗?

在现代制造业中,表面质量对产品的性能和外观至关重要。超声波清洗机作为一种高效的清洗工具,在去除表面污垢和缺陷方面发挥着关键作用。本文深圳科伟达将介绍超声波清洗机的作用,以及它是否能够有效去除毛刺。 超声波清洗机的作用&#xff1…

非常好看网站维护带倒计时模板+维护结束模板

非常好看网站维护带倒计时模板维护结束模板 网站维护带倒计时模板维护结束模板.zip - 蓝奏云

STM32F103_Bootloader程序开发05 - Keil修改生成文件的路径与文件名,自动生成bin格式文件

导言 通过Keil的相关配置,可以灵活地修改输出文件的保存路径及文件名称。在Bootloader程序开发过程中,合理配置输出文件对于后续固件升级和自动化脚本处理至关重要。完成路径和文件名配置后,还可以借助Keil自带的fromelf.exe工具,…

【MQ】消息队列的核心价值及技术选型

文章目录 一、什么是消息队列二、消息队列的核心功能三、主流消息队列技术对比ActiveMQ:逐渐淡出的老牌产品Kafka:大数据领域的王者RabbitMQ:企业级可靠选择Apache Pulsar:云原生时代的"新贵"NATS:轻量级消息…

本地部署消息代理软件 RabbitMQ 并实现外部访问( Windows 版本 )

RabbitMQ 是由 Erlang 语言开发的 消息中间件,是一种应用程序之间的通信方法。支持多种编程和语言和协议发展,用于实现分布式系统的可靠消息传递和异步通信等方面。 本文将详细介绍如何在 Windows 系统本地部署 RabbitMQ 并结合路由侠实现外网访问本…

如何在 Odoo 18 中创建 PDF 报告

如何在 Odoo 18 中创建 PDF 报告 Qweb 是 Odoo 强大的模板引擎,旨在轻松将 XML 数据转换为 HTML 文档。其功能特性包括基于属性的自定义、条件逻辑、动态内容插入及多样化的报告模板选项。这种多功能性使 Qweb 成为制作个性化、视觉吸引力强的报告、电子邮件和文档…

【面板数据】上市公司供应链网络地位数据(2001-2024年)

企业是产业链供应链的微观主体,其供应链网络布局是增强产业链供应链稳定性的重中之重,企业在供应链网络中的地位,已成为衡量其市场影响力和风险承受能力的重要指标。本次是上市公司供应链网络地位数据,数据年份为2001-2024年。 一…

EasyFileCount(文件查重工具) v3.0.5.1 便携版

EasyFileCount 是一款免费方便、快捷的文件管理软件,采用Java开发,主打一个清爽简洁、安全无害的使用体验,支持多盘高性能扫描。遍历扫描文件夹的速度还算比较快的,当然所谓的快慢取决于CPU、系统、硬盘种类、文件或文件夹的数量等…

【在线五子棋对战】一、项目简介 环境搭建

文章目录 Ⅰ. 项目简介Ⅱ. 开发环境Ⅲ. 核心技术Ⅳ. 环境搭建① CentOS-7.6环境搭建1、安装wget工具2、更换软件源3、安装第三方软件源4、安装lrzsz传输工具5、安装高版本gcc/g编译器6、安装gdb调试器7、安装git8、安装cmake9、安装boost库10、安装Jsoncpp库11、安装MySQL数据库…

MFC坦克大战游戏制作

MFC坦克大战游戏制作 前言 现在的游戏制作一般是easyx,有没有直接只用mfc框架的,笔者研究了一番,做出了一个雏形,下面把遇到的问题总结出来 一、MFC框架制作游戏 初步设想,MFC可以选用 对话框 或者 单文档 结构&…

12:遨博机器人SDK二次开发

一、流程步骤 1.获取当前点关节坐标 2.走当前点关节坐标 1.获取目标点x,y,z(位置坐标,以m为单位,需要*1000变成mm)和四元素(位姿坐标) 2.四元素→欧拉角(弧度制) 3.欧拉角&#x…

XPlifeapp:高效打印,便捷生活

在数字化时代,虽然电子设备的使用越来越普遍,但打印的需求依然存在。无论是学生需要打印课表、资料,还是职场人士需要打印名片、报告,一个高效便捷的打印软件都能大大提高工作效率。XPlifeapp就是这样一款超级好用的手机打印软件&…

DeepSeekMath:突破开放式语言模型中数学推理能力的极限

摘要 由于数学推理具有复杂且结构化的特性,这对语言模型构成了重大挑战。在本文中,我们介绍了 DeepSeekMath 7B 模型,该模型在 DeepSeek-Coder-Base-v1.5 7B 模型的基础上,使用从 Common Crawl 获取的 1200 亿个与数学相关的标记…

OpenBayes 教程上新丨谷歌发布 MedGemma,基于 Gemma 3 构建,专攻医学文本与图像理解

在 Google I/O 2025 大会上,公司 CEO Sundar Pichai 在活动首日的主题演讲中便分享了多项创新,例如 Gemini 2.5 的全系列升级,Agent Mode 上线 Chrome,编码智能体 Jules 开启公测,Android XR 正式版亮相等等。而在一众…

【数据结构】栈和队列(下)

目录 一、队列(先进先出的特殊结构) 队列的概念与结构 二、代码实现 1、定义队列的结构 2、队列的初始化操作 3、判空操作 4、入队操作 5、出队操作 6、取队头、队尾操作 7、队列销毁操作 8、队列中有效数据个数 9、测试代码 10、.h文件 一…

基于卫星遥感数据识别互花米草及原生植被分布及生长的技术原理、关键方法

通过卫星遥感监测生态保护红线,基于卫星遥感数据识别互花米草及原生植被(如芦苇)的分布、面积及生长状况,主要利用不同植被类型的光谱特征差异、物候周期差异和遥感影像处理技术实现。 上星图地球开放平台获取更多生态保护解决方案…

可视化图解算法47:包含min函数的栈

1. 题目 牛客网 面试笔试 TOP101 | LeetCode 155. 最小栈 描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop、top 和 min 函数操作时,栈中一定有元素。 此栈包含的方法有&#x…

windows系统下通过visual studio使用clang tooling

vs吃上clang tooling 通过源码编译clang安装必备软件GnuWin32 Tools: 拉取/下载git仓库编译 在项目中使用clangTool 通过源码编译clang 教程参考安装教程 作者本人亲身使用流程: 安装必备软件 Git:作者已经有了,自己查CMake&am…

路由器、网关和光猫三种设备有啥区别?

无论是家中Wi-Fi信号的覆盖,还是企业网络的高效运行,路由器、网关和光猫这些设备都扮演着不可或缺的角色。然而,对于大多数人来说,这三者的功能和区别却像一团迷雾,似懂非懂。你是否曾疑惑,为什么家里需要光…