【大模型】Bert

news2025/6/2 7:52:32

一、背景与起源

  • 上下文建模的局限:在 BERT 之前,诸如 Word2Vec、GloVe 等词向量方法只能给出静态的词表示;而基于单向或浅层双向 LSTM/Transformer 的语言模型(如 OpenAI GPT)只能捕捉文本从左到右(或右到左)的上下文信息。
  • 论文贡献:2018 年 Google 的 Devlin 等人提出 BERT,通过真正的“深度双向”Transformer 编码器,在大规模语料上同时从左右两个方向学习上下文,显著提升了各类 NLP 任务的基线性能。

二、核心架构

  1. Transformer Encoder

    • BERT 完全由多层 Transformer Encoder 组成,每层包括多头自注意力(Multi-Head Self-Attention)和前馈网络(Feed-Forward Network),并配以层归一化与残差连接。
    • 常见版本有
      • BERT-Base:12 层 Encoder、768 维隐藏层、12 个注意力头,约 1.1 亿参数;
      • BERT-Large:24 层 Encoder、1024 维隐藏层、16 个注意力头,约 3.4 亿参数。
  2. Embedding 层

    • Token Embeddings:子词(WordPiece)级别的初始向量;
    • Segment Embeddings:用于区分句子 A/B,在下游需要句间关系时有效;
    • Position Embeddings:表示序列中各 token 的位置;
    • 三者逐元素相加后,送入第一层 Encoder。
      在这里插入图片描述

三、输入表示

给定输入文本对 (Sentence A, Sentence B),BERT 构造如下序列:

[CLS] tokens_A [SEP] tokens_B [SEP]
  • [CLS]:分类标记,其最终层输出向量用于下游分类任务;
  • [SEP]:分隔符标记,标识句子边界;
  • Segment ID:句子 A 中所有 token 的 segment embedding 为 0,句子 B 中为 1;
  • Attention Mask:指示哪些位置是真实 token(1)或填充(0)。

四、预训练任务

BERT 的成功很大程度上来自于两个预训练目标的设计

  1. Masked Language Model (MLM)
    • 思路:随机遮蔽输入中 15% 的 token ([MASK]),让模型预测这些被遮蔽位置原本的词。
    • 细节
      • 遮蔽策略:80% 用 [MASK] 替换,10% 保留原词,10% 随机替换为词表中其他词;
      • 这样既避免模型过度依赖 [MASK],又能学习对真实 token 的预测能力。
  2. Next Sentence Prediction (NSP)
    • 思路:给定句子对,50% 概率为原序列中相邻的两句话(“IsNext”),50% 概率随机抽取另一段文字(“NotNext”);模型判别它们是否具有上下文连续关系。
    • 作用:为下游的问答、自然语言推理等任务提供句间关系判断能力。

五、模型微调(Fine-Tuning)

  • 通用流程

    1. 在预训练的 BERT 模型上,追加一个或多个任务相关的输出层(如分类头、回归头、序列标注头等);
    2. 以较小的学习率(如 2e-5–5e-5)在下游任务标注数据上继续训练整个网络;
    3. 最终得到一个在该任务上性能优异的专用模型。
  • 示例任务

    • 文本分类:取 [CLS] 对应的隐藏向量接一个全连接 + Softmax;
    • 命名实体识别:对每个 token 的输出向量接一个分类层,识别实体标签;
    • 问答阅读理解:为每个位置预测开始/结束概率,找到答案所在 span。

六、BERT 的优势与局限

优势

  1. 深度双向上下文:相比单向或浅层双向模型,在理解句子含义时更全面;
  2. 统一框架:一个预训练模型可微调到几十种不同任务,极大简化了模型部署;
  3. 强大基线:在 GLUE、SQuAD、MNLI 等多项公开基准上创纪录。

局限

  1. 计算与内存开销大:特别是 BERT-Large,在推理时对 GPU/TPU 资源要求高;
  2. 预训练目标简单:如 NSP 的效果有限,后续研究多选择取消或替换
  3. 固定长度限制:标准 BERT 的最大输入长度为 512,难以直接处理超长文本。

七、应用与生态

  • 下游生态
    自 BERT 发布以来,社区围绕预训练与微调构建了丰富工具与框架,例如 Hugging Face Transformers、TensorFlow Hub 等,用户可以方便地加载各类 BERT 模型及其变种。

  • 行业应用
    包括智能客服中的意图识别与槽位填充、搜索引擎中的语义匹配、法律/医药领域的文档分类与信息抽取等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2393441.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3 分钟学会使用 Puppeteer 将 HTML 转 PDF

需求背景 1、网页存档与文档管理 需要将网页内容长期保存或归档为PDF,确保内容不被篡改或丢失,适用于法律文档、合同、技术文档等场景。PDF格式便于存储和检索。 2、电子报告生成 动态生成的HTML内容(如数据分析报告、仪表盘)需导出为PDF供下载或打印。PDF保留排版和样…

速通《Sklearn 与 TensorFlow 机器学习实用指南》

1.机器学习概览 1.1 什么是机器学习 机器学习是通过编程让计算机从数据中进行学习的科学。 1.2 为什么使用机器学习? 使用机器学习,是为了让计算机通过数据自动学习规律并进行预测或决策,无需显式编程规则。 1.3 机器学习系统的类型 1.…

Ubuntu 下搭建ESP32 ESP-IDF开发环境,并在windows下用VSCode通过SSH登录Ubuntu开发ESP32应用

Ubuntu 下搭建ESP32 ESP-IDF开发环境,网上操作指南很多,本来一直也没有想过要写这么一篇文章。因为我其实不太习惯在linux下开发应用,平时更习惯windows的软件操作,只是因为windows下开发ESP32的应用编译时太慢,让人受…

NodeMediaEdge接入NodeMediaServer

如何使用NME接入NMS 简介 NodeMediaEdge是一款部署在监控摄像机网络前端中,拉取Onvif或者rtsp/rtmp/http视频流并使用rtmp/kmp推送到公网流媒体服务器的工具。 通过云平台协议注册到NodeMediaServer后,可以同NodeMediaServer结合使用。使用图形化的管理…

【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤

在Java开发的世界里,选择一个强大的集成开发环境(IDE)是迈向高效编程的第一步。而IntelliJ IDEA无疑是Java开发者中最受欢迎的选择之一。它以其强大的功能、智能的代码辅助和简洁的用户界面,帮助无数开发者快速构建和部署Java项目…

PHP7+MySQL5.6 查立得源码授权系统DNS验证版

# PHP7MySQL5.6 查立得源码授权系统DNS验证版 ## 一、系统概述 本系统是一个基于PHP7和MySQL5.6的源码授权系统,使用DNS TXT记录验证域名所有权,实现对软件源码的授权保护。 系统支持多版本管理,可以灵活配置不同版本的价格和下载路径&#…

【QQ音乐】sign签名| data参数加密 | AES-GCM加密 | webpack (下)

1.目标 网址&#xff1a;https://y.qq.com/n/ryqq/toplist/26 我们知道了 sign P(n.data)&#xff0c;其中n.data是明文的请求参数 2.webpack生成data加密参数 那么 L(n.data)就是密文的请求参数。返回一个Promise {<pending>}&#xff0c;所以L(n.data) 是一个异步函数…

3D虚拟工厂

1、在线体验 3D虚拟工厂在线体验 vue3three.jsblender 2、功能介绍 1. 全屏显示功能2. 镜头重置功能3. 企业概况信息模块4. 标签隐藏/显示功能5. 模型自动旋转功能6. 办公楼分层分解展示7. 白天/夜晚 切换8. 场景资源预加载功能9. 晴天/雨天/雾天10. 无人机视角模式11. 行人…

http传输协议的加密

创建目录存放签证 [rootserver100 ~]# mkdir /etc/nginx/certs [rootserver100 ~]# openssl req -newkey rsa:2048 -nodes -sha256 -keyout /etc/nginx/certs/timinglee.org.key -x509 -days 365 -out /etc/nginx/certs/timinglee.org.crt ..................................…

半导体晶圆制造洁净厂房的微振控制方案-江苏泊苏系统集成有限公司

半导体晶圆制造洁净厂房的微振控制方案-江苏泊苏系统集成有限公司 微振控制在现行国家标准《电子工业洁净厂房设计规范》GB50472中有关微振控制的规定主要有&#xff1a;洁净厂房的微振控制设施的设计分阶段进行&#xff0c;应包括设计、施工和投产等各阶段的微振测试、厂房建…

常见压缩算法性能和压缩率对比 LZ4 LZO ZSTD SNAPPY

网传压缩算法对比表 算法压缩率压缩速度解压速度支持流式压缩适用场景LZ4低极快极快是实时数据压缩、日志压缩、内存缓存等Zstandard高快快是文件压缩、网络传输、数据库备份等Brotli很高中等快是静态资源压缩&#xff08;HTML、CSS、JS&#xff09;等LZO低极快快是嵌入式系统…

Spring Boot 应用中实现配置文件敏感信息加密解密方案

Spring Boot 应用中实现配置文件敏感信息加密解密方案 背景与挑战 &#x1f6a9;一、设计目标 &#x1f3af;二、整体启动流程 &#x1f504;三、方案实现详解 ⚙️3.1 配置解密入口&#xff1a;EnvironmentPostProcessor3.2 通用解密工具类&#xff1a;EncryptionTool 四、快速…

【TTS】基于GRPO的流匹配文本到语音改进:F5R-TTS

论文地址&#xff1a;https://arxiv.org/abs/2504.02407v3 摘要 我们提出了F5R-TTS&#xff0c;这是一种新颖的文本到语音(TTS)系统&#xff0c;它将群体相对策略优化(GRPO)集成到基于流匹配的架构中。 通过将流匹配TTS的确定性输出重新表述为概率高斯分布&#xff0c;我们的方…

动态规划-152.乘积最大子数组-力扣(LeetCode)

一、题目解析 根据示例nums数组中存在负数&#xff0c;下面分析时需注意 二、算法原理 1、状态表示 此时f[i]表示&#xff1a;以i位置为结尾的所有子数组中的最大乘积&#xff0c;但是由于nums中存在负数&#xff0c;所以还需要g[i]表示&#xff1a;以i位置为结尾的所有子数组…

1-1 初探Dart编程语言

Dart 是 Google 最初开发的一种开源编程语言&#xff0c;适用于客户端与服务端开发。它配套提供 Dart SDK&#xff0c;其中包含 Dart 编译器、Dart 虚拟机&#xff08;Dart VM&#xff09;以及一个名为 dart2js 的工具&#xff0c;可将 Dart 脚本转换为 JavaScript&#xff0c;…

搭建最新版开源监控平台SigNoz踩的坑

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权并注明出处。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 一、前言 SigNoz 是一款开源应用程序性能监控工具&#xff0c;在往期相关文章&#xff08;文末有链接&#xff09;中…

无人机多人协同控制技术解析

一、运行方式 无人机多人点对点控制通常采用以下两种模式&#xff1a; 1. 主从控制模式 指定一个主控用户拥有最高优先级&#xff0c;负责飞行路径规划、紧急操作等关键指令&#xff1b;其他用户作为观察者&#xff0c;仅能查看实时画面或提交辅助指令&#xff0c;需经主…

【东枫科技】KrakenSDR 测向快速入门指南

本快速入门指南旨在帮助您使用运行在 Raspberry Pi 4/5 或 Orange Pi 5B (OPI5B)&#xff08;带 WiFi 型号&#xff09;上的 KrakenSDR 尽快连接到测向应用程序。不过&#xff0c;请务必阅读本手册的其余部分&#xff0c;以了解无线电测向的工作原理。 你需要什么 本指南假设…

【Redis】hash

Hash 哈希 几乎所有的主流编程语言都提供了哈希&#xff08;hash&#xff09;类型&#xff0c;它们的叫法可能是哈希、字典、关联数组、映射等。在 Redis 中&#xff0c;哈希类型指值本身又是一个键值对结构&#xff0c;形如 key “key”, value {{field1, value1}, …{field…

基于Vite的前端自动化部署方案

&#x1f468; 作者简介&#xff1a;大家好&#xff0c;我是Taro&#xff0c;全栈领域创作者 ✒️ 个人主页&#xff1a;唐璜Taro &#x1f680; 支持我&#xff1a;点赞&#x1f44d;&#x1f4dd; 评论 ⭐️收藏 文章目录 前言一、主流解决方案二、了解SCP概念三、自动化部署…