当前位置: 首页 > news >正文

大模型算法面试笔记——Bert

动机

提出一个基于微调的NLP模型,预训练的模型抽取了足够多的信息,新的任务只需要增加一个简单的输出层。
Bert本质是只有编码器的Transformer,分为两类

  • BERT-Base: 12层,hidden size = 768,heads = 12,parameters = 110M
  • BERT-Large: 24层,hidden size = 1024,heads = 16,parameters = 340M
  • 在大规模数据上训练>3B词

两类预训练任务

  • 掩码语言模型(Masked Language Model, MLM):挖完形填空,用[MASK]代替原词,根据左右上下文(双向)来预测原词
  • 下一句预测:训练模型理解句子间的逻辑关系,用句子开始标记[CLS]向量对应的输出进行二分类任务(是否为下一句)

三部分Embedding
请添加图片描述
不同于Transformer的encoder-decoder架构,输入输出的句子对分别进encoder和decoder,Bert的输入是将句子对拼接起来,句子开头打[CLS]标记,句子之间(每个句子结尾)打<sep>标记。同时加入额外的片段嵌入和位置编码,片段嵌入用来区分不同的句子,位置编码非手动设计,而是可学习编码。
Bert在预训练时,用了掩码(mask),每次随机(15%概率)将一些词元换成,为了让预训练的模型可以很好的适用于通用任务,用概率来控制使用mask的部分(如80%将选中的词元变成,10%的选中词元被替换成随机词元,剩下10%保持原有词元,这里的概率是针对被选中的15%数据来算的)。

例:

  • 80%的词被正常替换成[Mask]:my dog is hairy → \to my dog is [MASK]
  • 10%被替换成随机的词:my dog is hairy → \to my dog is apple,引入噪音,防止模型对[MASK]过拟合,加强鲁棒性
  • 10%不替换:my dog is hairy → \to my dog is hairy,桥接预训练与微调任务,提高微调任务的稳定性

15%的掩码比例如果改变,过低则学习信号不足,过高则破坏句子的语义结构。

超参数与可学习参数换算

可学习参数主要来自于两部分,embedding和transformer块。

embedding层

  • 输入:词典大小30k
  • 输出:隐藏层维度 H H H

transformer块

  • QKV可学习矩阵: H 2 × 3 H^2\times 3 H2×3
  • 输出投影矩阵: H 2 H^2 H2
  • 两个输入为 H H H输出为 4 H 4H 4H的全连接层: 8 H 2 8H^2 8H2
  • L L L个transformer块: L × 12 H 2 L\times 12H^2 L×12H2

总参数: 30 k × H + L × H 2 × 12 30k\times H+L\times H^2\times 12 30k×H+L×H2×12

http://www.lryc.cn/news/581212.html

相关文章:

  • 计算机网络(网页显示过程,TCP三次握手,HTTP1.0,1.1,2.0,3.0,JWT cookie)
  • 一键将 SQL 转为 Java 实体类,全面支持 MySQL / PostgreSQL / Oracle!
  • 永磁同步电机无速度算法--基于锁频环前馈锁相环的滑模观测器
  • 使用SSH隧道连接远程主机
  • 五、Python新特性指定类型用法
  • 【赵渝强老师】Oracle RMAN的目录数据库
  • 数据库-元数据表
  • 事务的原子性
  • 自建双因素认证器 2FAuth 完美替代 Google Auth / Microsoft Auth
  • CSS 文字浮雕效果:巧用 text-shadow 实现 3D 立体文字
  • 虚拟机与容器技术详解:VM、LXC、LXD与Docker
  • HarmonyOS学习3---ArkUI
  • 《Redis》哨兵模式
  • ✨ OpenAudio S1:影视级文本转语音与语音克隆Mac整合包
  • 构建未来交互体验:AG-UI 如何赋能智能体与前端通信?
  • openai和chatgpt什么关系
  • hono框架绑定cloudflare的d1数据库操作步骤
  • 2025最新Telegram快读助手:一款智能Telegram链接摘要机器人
  • 【leetcode100】最长回文子串
  • 探索 .NET 桌面开发:WinForms、WPF、.NET MAUI 和 Avalonia 的全面对比(截至2025年7月)
  • MAX3485在MCU芯片AS32S601-485通信外设中的应用
  • Java 创建对象过程 JVM 内存分配并发安全笔记
  • 介绍Flutter
  • 2025最新软件测试面试八股文
  • 在SoC数据加解密验证中使用 Python 的 gmssl 库
  • 【论文笔记】OctoThinker:突破 Llama 推理瓶颈的中期训练范式
  • web前端面试-- MVC、MVP、MVVM 架构模式对比
  • 硬件嵌入式工程师学习路线终极总结(二):Makefile用法及变量——你的项目“自动化指挥官”!
  • WEB攻防-文件包含LFIRFI伪协议编码算法无文件利用黑白盒
  • Go语言的web框架--gin