69 BERT预训练_by《李沐:动手学深度学习v2》pytorch版
系列文章目录
文章目录
- 系列文章目录
- NLP里的迁移学习
- Bert的动机
- Bert架构
- 对输入的修改
- 五、预训练任务
- 1、
- 2、
- 3、
- 六、
- 1、
- 2、
- 3、
- 七、
- 1、
- 2、
- 3、
- 八、
- 1、
- 2、
- 3、
NLP里的迁移学习
- 之前是使用预训练好的模型来抽取词、句子的特征,例如 word2vec 或语言模型这种非深度学习的模型
- 一般抽完特征后,在做迁移学习时不更新预训练好的模型
- 迁移学习前做好的工作所抽取的特征是个比较底层的特征,一般当作embedding用,做自己的工作时需要构建新的网络来抓取新任务需要的信息。之前的工作,比如Word2vec忽略了时序信息,语言模型只看了一个方向,RNN不好处理特别长的序列,所以他也就看了很短的一段东西而已。
Bert的动机

想研发相似于CV方面的,基于微调的NLP模型,除了输出层,其他层的参数我是可以复用的,我可以挪到其他任务中去。
预训练的模型抽取了足够多的信息
新的任务只需要增加一个简单的输出层
Bert架构
Bert从结构上来讲就是一个只保留了编码器的Transformer,创新很简单,后面在输入和 L o s s Loss Loss上还有创新。
两个版本:
- Base:#blocks=12,hidden size=768,#heads = 12
#parameters=110M 参数相比较Transformer大很多,模型深很多。 - Large:#blocks=24, hidden size= 1024,#heads = 16
#parameter=340M
在大规模数据上训练>3B 词
对输入的修改
之前Transformer是比如说把一个句子和他的翻译当作数据和标签进行训练,在encoder中放入数据,decoder中放入标签。现在bert只有encoder,怎么办?

这个<CLS>用来表示句子开头,<sep>表示这个句子结束,后面是下一个句子,所以可以输入多个句子。但只是这样对Transformer不太好区分哪几个词是一个句子,所以加了Segment Embeddings,通过不同标志来标记句子。最上面是一个可以学的Position Embedddings。
五、预训练任务
1、
2、
3、
六、
1、
2、
3、
七、
1、
2、
3、
八、
1、
2、
3、
相关文章:
69 BERT预训练_by《李沐:动手学深度学习v2》pytorch版
系列文章目录 文章目录 系列文章目录NLP里的迁移学习Bert的动机Bert架构对输入的修改五、预训练任务1、2、3、 六、1、2、3、 七、1、2、3、 八、1、2、3、 NLP里的迁移学习 之前是使用预训练好的模型来抽取词、句子的特征,例如 word2vec 或语言模型这种非深度学习…...
Java报错输出的信息究竟是什么?
Java报错输出的信息究竟是什么? 本篇会带大家了解一下java运行时报错输出的信息内容,简单学习一下虚拟机内存中Java虚拟机栈的工作方式以及栈帧中所存储的信息内容 异常信息 当你的程序运行报错时,你是否会好奇打印出来的那一大坨红色的究竟…...
解表之紫苏
** 声明:本文介绍的中药仅供学习使用,请勿擅自使用,否则后果自负!!!因水平有限,如有不当之处,请批评指正!!!!图片来源网络࿰…...
JavaScript数据类型
目录 JavaScripit数据类型 原始类型(Primitive Types) 1 Undefined 特点 实例 2 Null 实例 3 Boolean 重点: 常用falsy情况: 思考 4 Number,BigInt 实例 特点 NaN 5 String 在JavaScript中表示字符串有三种表示方…...
市场中的新兴力量与未来发展
在当前瞬息万变的全球金融市场中,期货交易以其高杠杆与灵活性,吸引了越来越多的投资者参与其中。大粤期货作为中国期货行业的新兴力量,凭借其创新的交易平台、广泛的产品线及专业的风险管理服务,迅速在市场中崭露头角。本文将介绍…...
Golang | Leetcode Golang题解之第446题等差数列划分II-子序列
题目: 题解: func numberOfArithmeticSlices(nums []int) (ans int) {f : make([]map[int]int, len(nums))for i, x : range nums {f[i] map[int]int{}for j, y : range nums[:i] {d : x - ycnt : f[j][d]ans cntf[i][d] cnt 1}}return }...
Java 常用序列化对比
Java 中常用的序列化方式主要包括以下几种: 1. Java 原生序列化 使用方式: 使用 java.io.Serializable 接口。对象需要实现该接口,然后通过 ObjectOutputStream 和 ObjectInputStream 进行序列化和反序列化。 示例代码: import java.io.*;public class Person impleme…...
【redis学习篇1】redis基本常用命令
目录 redis存储数据的模式 常用基本命令 一、set 二、keys pattern keys 字符串当中携带问号 keys 字符串当中携带*号 keys 【^字母】 keys * 三、exists 四、del 五、expire 5.1 ttl命令 5.2key删除策略 5.2.1惰性删除 5.2.2定期删除 六、type key的数据类型…...
量子计算:颠覆未来计算的革命性技术
量子计算:颠覆未来计算的革命性技术 量子计算作为下一代颠覆性技术,正在引领计算领域的重大变革。与传统计算机基于比特的二进制运算不同,量子计算通过量子比特(qubits)在叠加态和纠缠态下实现并行计算,能…...
ctfshow-web入门(信息收集,持续更新中。。)
写在之前:近期打了个比赛,备受打击,入手了vip账号进修,加油! 文章目录 ctfshow-web1查看源代码ctfshow-web2burp抓包ctfshow-web3burp抓包ctfshow-web4访问robots.txtctfshow-web5dirscarch扫描PHPS文件泄露ctfshow-web6dirscarch扫描ctfshow-web7dirscarch扫描ctfshow-w…...
蓝桥杯【物联网】零基础到国奖之路:十五. 扩展模块之双路ADC
蓝桥杯【物联网】零基础到国奖之路:十五. 扩展模块之双路ADC 第一节 硬件解读第二节 CubeMX配置第三节 代码编写 第一节 硬件解读 STM32的ADC是12位,通过硬件过采样扩展到16位,模数转换器嵌入到STM32L071xx器件中。有16个外部通道和2个内部通道…...
李飞飞谈AI+3D发展:3D/4D AI将成为下一个重要前沿
人工智能(AI)的发展已经深刻改变了我们的世界,从简单的图像识别到复杂的自然语言处理,再到如今正在兴起的生成式模型。在这个过程中,李飞飞教授认为,3D/4D AI技术将是推动下一波变革的关键力量。以下根据她的观点整理了AI发展历程中的关键里程碑以及对3D/4D AI未来发展的…...
centos72009源码编译R语言
./dev/make-distribution.sh --name custom-spark --pip --r --tgz -Pconnect -Psparkr -Phive -Phive-thriftserver -Pmesos -Pyarn -Dhadoop.version3.4.0 -Pkubernetes spark3.5.3 源码版本 ./dev/make-distribution.sh --name custom-spark --pip --r --tgz -Pconnect -P…...
初识算法 · 双指针(4)
目录 前言: 复写零 题目解析 算法原理 算法编写 四数之和 题目解析 算法原理 算法编写 前言: 本文是双指针算法的最后一文,以复写零和四数之和作为结束,介绍方式同样是题目解析,算法原理,算法编写…...
java版鸿鹄电子招投标系统功能架构设计 核心功能设计 鸿鹄电子招投标采购系统源码
java版鸿鹄电子招投标系统功能架构设计 核心功能设计 鸿鹄电子招投标采购系统源码...
matlab 判断多组数据的分布是否一致,可以使用什么方法?
在 MATLAB 中,可以使用以下几种方法来判断多组数据的分布是否一致: 1. Kolmogorov-Smirnov 检验 (K-S Test) K-S 检验是一种非参数检验,用于比较两组数据是否来自相同的分布。MATLAB 提供了 kstest2 函数来进行这种检验。该方法适用于连续分…...
jenkins配置eureka、nacos发布优雅上下线服务
eureka发布期间优雅上下线 1、编写eureka下线脚本 vim biz_out_of_service-eureka.pyimport sys import requests#服务名,脚本第一个参数 APP_NAMEsys.argv[1] # 需要置为OUT_OF_SERVICE的服务实例的ID,脚本第二个参数 INSTANCE_IDsys.argv[2]# Eureka…...
【JAVA开源】基于Vue和SpringBoot的周边产品销售网站
本文项目编号 T 061 ,文末自助获取源码 \color{red}{T061,文末自助获取源码} T061,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…...
【C++差分数组】2381. 字母移位 II|1793
本文涉及知识点 C差分数组 LeetCode2381. 字母移位 II 给你一个小写英文字母组成的字符串 s 和一个二维整数数组 shifts ,其中 shifts[i] [starti, endi, directioni] 。对于每个 i ,将 s 中从下标 starti 到下标 endi (两者都包含&#…...
【pytorch】范数的计算
近日在看沐神的《动手学深度学习》,其中提到了范数这一数学概念,感觉很陌生,参考ChatGPT补一下知识。 目录 范数示例 1: 计算向量的 L2 范数(欧几里得范数)示例 2: 计算矩阵的 Frobenius 范数示例 3: 计算向量的 L1 范数(曼哈顿距离)曼哈顿范数的定义曼哈顿范数的计算示…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
