BERT模型分析

news/2025/1/16 3:48:43/文章来源:https://www.cnblogs.com/tgltt/p/18518487
      在2018年Google提出Transformer框架后,2019年,BERT作为最早期的大模型,便应运而生,因为BERT有强大的自然语言理解能力,因此在其被提出后便风靡NLP领域。

  研读BERT代码,是因为BERT作为大模型起源鼻祖,比GPT起源还早,弄明白其算法思想和其主体代码具体实现逻辑,有利于理解现行流行大模型为何演化为如今这样。

1、算法论文及代码

  • 论文

     《BERT Pre-training of Deep Bidirectional Transformers for Language Understanding》

      https://arxiv.org/pdf/1810.04805

  • 代码

      https://github.com/%20google-research/bert

2、算法模型

  图1为BERT模型简图,仅展示主要组件及其间的关系。

图1 BERT模型简图

       BERT模型主要是由多个Transformer Block构成,BERT默认配置有12个Transformer Block,而Transformer Block内部主要的计算是多头注意力计算,每一个Block为标准Transformer的一个Encoder,即BERT模型主体架构基于Transformer Encoder。

       图2为BERT默认配置,粗略预估其参数量公式如下,其中ffw_params为TransformerBlock中多头注意力计算之后的PositionWiseFeedForward:

 

图2 BERT默认配置

       表1为BERT模型在Transformer Block层数及隐藏层神经元大小取值不同时,根据1计算,得到最终总模型参数量的差异对比。

  BERT另一个比较有特点的是对原始输入的embedding操作,从token、position、segment三个维度提取原始输入中的信息,其中,token embedding即词嵌入,postion对输入信息的每个位置进行编码,segment对输入信息划分为不同的部分,每个部分有其唯一的段落编码。

3、模型预训练

  相较以前的中小模型,BERT模型的参数量比较大,所以需要大量的数据进行训练,为了减少标注数据的成本,BERT采用自监督的模式进行训练。

  图3为BERT的预训练框架,为了较好地训练BERT的自然语言理解能力,BERT特别定义了一个BERTLM的语言模型,其内包含MLM和NSP两个任务,这两个任务都依托于待训练的BERT语言模型,而用于评价训练效果的TrainingLoss,是MLM和NSP两个任务输出的损失之和,这样就有机地将MLM和NSP结合起来进行训练。

图3 BERT预训练框架

 

 

关注更多安卓开发、AI技术、股票分析技术及个股诊断等理财、生活分享等资讯信息,请关注本人公众号(木圭龙的知识小屋)

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mse~路由实现某个页面的灰度功能

起因 我有个网站A【蓝色服务】,要对网站A进行改版【绿色服务】,其中用户中心已经改完了,希望当用户访问时,如果http请求头中包含isGroup,并且isGroup=0时,去新的绿色服务,反之就还是去蓝色服务。 前提蓝绿服务,域名是同一个,如lind.gray.com 蓝绿服务,各个页面的URL是…

1024!一张照片定制程序员科技感写真

在这个属于代码世界的节日里,我们为你准备了一份特别的礼物,不论你是前端大牛,还是后端高手;无论是数据分析师,还是算法工程师,只需一张图片,创下你与代码共舞的瞬间,一键生成专属于你的超写实程序员写真!在这个属于代码世界的节日里,我们为你准备了一份特别的礼物,…

烟雾检测识别智慧矿山一体机水仓水位异常识别非煤矿山视频智能监控系统的重要性

非煤矿山作业环境复杂多变,存在滑坡、坍塌、爆炸等多种潜在危险。传统的人工监控方式不仅效率低下,而且难以做到全天候、无死角覆盖。智慧矿山一体机通过高清摄像头与先进的人工智能算法相结合,能够实时监测矿山内的异常情况,如人员违规操作、设备故障预警、地质结构变化等…

『模拟赛』多校A层冲刺NOIP2024模拟赛16

『模拟赛记录』多校A层冲刺NOIP2024模拟赛16Rank 依托,给我烂完了(A. 四舍五入 唐题,赛时被硬控 3h。 发现枚举 \(i\) 是一个很没前途的选择,分成三段后仍然需要 \(\mathcal{O(n)}\) 去跑 \(\left[1,\lfloor{\frac{i}{2}}\rfloor\right]\) 这一段,复杂度仍是 \(\mathcal{O…

10.31

删除上述路径文件 解决 配置 nodejs 时 配置源文件的地址 代码 出现命令不认识的问题

LINQ SelectMany的应用场景

示例 1:多层集合展平 假设你有一个列表,每个元素都是一个字符串数组,你想将所有的字符串展平成一个单一的字符串列表。 示例 2:嵌套循环 假设你有一个用户列表,每个用户有一个订单列表,你想获取所有用户的订单列表。 示例 3:多对多关系 假设你有一个学生列表,每个学生…

数据可视化 matplotlib

数据可视化数据可视化指的是通过可视化表示来探索的数据,它与数据挖掘紧密相关,而数据挖掘指的是使用代码来探索数据集的规律和关联。在基因研究、天气研究、政治经济分析等众多领域,大家都使用python来完成数据秘密集型工作。数据科学家使用python编写了一系列令人印象深刻…

算法网关视频分析网关周界入侵智慧营业厅视频管理系统设计方案

在现代商业环境中,尤其是对于金融服务、零售和客户服务等高度依赖客户互动的行业,营业厅的智能化管理变得尤为重要。为了提升服务质量、保障客户安全、优化运营效率,我们推出了一款集成了最新人工智能技术的智能视频监控解决方案。 一、项目方案 本项目包含:控制平台、AI算…

2024-2025-1 20241401 《计算机基础与程序设计》 第六周学习总结

班级链接 2024计算机基础与程序设计作业要求 第六周作业作业目标 ①Polya如何解决问题 ②简单类型与组合类型 ③复合数据结构 ④查找与排序算法 ⑤算法复杂度 ⑥递归 ⑦代码安全教材学习内容总结 《计算机科学概论》第七章如何解决问题,包括提出问题、寻找熟悉的情况、分治法、…

在使用asm包进行动态类加载的时候的打包问题

如图所示,开发时使用的jdk包下面的asm包,在进行打包时提示asm包不存在,打包方式使用如下: 目前提供两种解决方案: 1:修改打包方式,将jdk的包也打进去:<plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> &…

线段树 树状数组

线段树 常用于维护区间值 代码 和题解有很大差异,但是过了就好 void Pushup(int x) {s[x]=(s[x<<1]+s[x<<1|1]); } void Pushdown(int x,int l,int r) {s[x]=(s[x]+ad[x]*(r-l+1));if(l!=r) ad[x<<1]=(ad[x<<1]+ad[x]);if(l!=r) ad[x<<1|1]=(ad…

AI智能分析视频分析网关区域人数不足检测算法:智能监控的新篇章

在当今社会快速发展的背景下,公共场所如购物中心、交通枢纽、教育机构等地的人群聚集现象越来越普遍。如何高效地管理和控制这些区域的人流,保障安全的同时提升服务水平,成为一个迫切需要解决的挑战。传统的人流统计方法,例如人工计数或基础的传感器技术,常常因效率低和准…