LNWT--篇章二小测

问题1: Transformer中的softmax计算为什么需要除以$d_k$?

为了稳定数值计算和防止梯度消失或爆炸问题

问题2: Transformer中attention score计算时候如何mask掉padding位置?

将掩码矩阵添加到缩放后的注意力分数上。由于我们使用了负无穷,经过softmax后,这些位置的注意力权重将接近于零

问题3: 为什么Transformer中加入了positional embedding?

自注意力机制本质上是对输入序列的每一个位置独立地进行处理,没有内置的顺序概念。为了让模型能够捕捉序列中的位置信息,位置嵌入被引入

问题4: BERT预训练时mask的比例,可以mask更大的比例吗?

在BERT的预训练过程中,通常掩码(masking)比例是15%。可以更大比例,但是可能会出现上下文信息丧失、模型过拟合风险增加等问题

问题5: BERT如何进行tokenize操作?有什么好处?

WordPiece的分词方法

  1. 基本的文本预处理:

    • 规范化:文本通常会被标准化,比如转换为小写(如果使用的是区分大小写的模型,如BERT-base-cased,则不需要转换)。
    • 处理标点符号:标点符号和单词之间通常会被添加空格以确保它们被视为独立的token。
  2. WordPiece分词:

    • 词表初始化:首先构建一个初始的词表(vocabulary),包括常见的单词以及特殊标记(如[CLS], [SEP], [MASK]等)。
    • 子词拆分:如果一个单词不在词表中,它会被进一步拆分为子词。拆分的方式是贪婪的,尝试找到最长的匹配子词。例如,“playing”可以被拆分为“play”和“##ing”。其中“##”表示这个子词是从某个单词中间拆分出来的。
  3. 特殊标记添加:

    • [CLS]标记:在输入序列的开头添加一个[CLS]标记,用于表示序列的整体信息,特别是在分类任务中。
    • [SEP]标记:在序列末尾或在两个句子之间添加[SEP]标记,用于分隔不同的句子或段落。

问题6: GPT如何进行tokenize操作?和BERT的区别是什么?

GPT使用BPE算法,将频繁出现的字符对合并为子词。

问题7: BERT模型特别大,单张GPU训练仅仅只能放入1个batch的时候,怎么训练?

1. 梯度累积 (Gradient Accumulation)

梯度累积是一种在多个小batch上累积梯度,然后再进行一次权重更新的方法。这样可以有效地模拟较大的batch size,而不需要额外的显存。

2. 模型并行 (Model Parallelism)

模型并行是将模型不同部分拆分到多个GPU上进行计算。对于BERT模型,可以将不同的层分配到不同的GPU上。

3. 数据并行 (Data Parallelism)

数据并行是将同一模型的多个副本分配到不同的GPU上,每个GPU处理不同的数据子集。梯度在所有GPU上计算并汇总,然后更新所有模型副本的权重。

4. 混合精度训练 (Mixed Precision Training)

混合精度训练通过使用半精度(FP16)和单精度(FP32)混合的方式进行训练,可以减少显存使用和加速计算。

问题8: Transformer为什么需要一个position embedding?

同上

问题9: Transformer中的残差网络结构作用是什么?

缓解梯度消失和梯度爆炸问题,实现更深层次的网络结构,保证了模型在训练过程中不会因为某些层的参数初始化不当而丢失重要的信息

问题10: BERT训练的时候mask单词的比例可以特别大(大于80%)吗?

不可以。同上

问题11: BERT预训练是如何做mask的?

MLM:

从输入序列中随机选择一定比例的单词,并用特殊的mask标记(通常是𝑀𝐴𝑆𝐾)替换它们。然后,模型被要求预测被mask的单词

NSP:

要求模型判断两个输入句子是否是原始文本中相邻的句子

问题12: word2vec到BERT改进了什么?

1. 上下文感知性

  • Word2Vec:Word2Vec生成的词向量是静态的,每个词的向量表示都是固定的,无法捕捉词汇在不同上下文中的含义变化。
  • BERT:BERT使用了基于Transformer的深层双向语言模型,能够在预训练阶段学习到丰富的上下文信息,从而生成动态的词向量。这使得BERT能够更好地捕捉词汇的多义性和语义变化。

2. 上下文建模能力

  • Word2Vec:Word2Vec模型是基于词袋模型(Bag of Words)和连续词袋模型(Continuous Bag of Words,CBOW)的,只能基于局部上下文进行单词预测,无法捕捉长距离依赖关系。
  • BERT:BERT使用Transformer结构构建的深层双向语言模型,可以在预训练阶段学习到更长范围的上下文信息,使得模型能够更好地理解语言中的复杂结构和语义关系。

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

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

相关文章

ATmega328P加硬件看门狗MAX824L看门狗

void Reversewdt(){ //硬件喂狗,11PIN接MAX824L芯片WDIif (digitalRead(11) HIGH) {digitalWrite(11, LOW); //低电平} else {digitalWrite(11, HIGH); //高电平 }loop增加喂狗调用 void loop() { …… Reversewdt();//喂狗 }

从0到1!得物如何打造通用大模型训练和推理平台

1.背景 近期,GPT大模型的发布给自然语言处理(NLP)领域带来了令人震撼的体验。随着这一事件的发生,一系列开源大模型也迅速崛起。依据一些评估机构的评估,这些开源模型大模型的表现也相当不错。一些大模型的评测情况可…

ggml文件格式

ggml文件格式 其中模型文件使用 ggml/examples/gpt-2/download-model.sh 脚本下载 我下载的是gpt-2 117M 这个 模型词汇编码表 encoder.json : {"!": 0,"\"": 1,"#": 2,"$": 3,"%": 4,"&":…

佩戴安全头盔监测识别摄像机

佩戴安全头盔是重要的安全措施,尤其在工地、建筑工程和工业生产等领域,安全头盔的佩戴对于工人的生命安全至关重要。为了更好地管理和监控佩戴安全头盔的情况,监测识别摄像机成为了一项重要的工具。监测识别摄像机可以通过智能技术监测并记录…

Java系统学习资料(备忘)

本文记录下一下优秀的Java系统学习的资料: java程序员从小工到专家成神之路(2024版) | 程序那些事 Java技能树

JavaScript-数组的增删改查

数组的操作一共有四种: 查询数组数据修改数组中元素的值数组添加新的数据删除数组中的元素 数组的初始化 有些编程语言的数组初始化是用{}包着的,而JS的数组初始化用[] let num[2,6,1,77,52,25,7]; 数组的查询 想要具体查询数组中的某个元素 可以用数…

项目9-网页聊天室7(消息传输模块之解决之前存在的问题:获取最后一条消息)

1.服务器中转的原因 IPV4不够用 (1)使用服务器中转,最大原因, 就是 NAT 背景下,两个内网的设备无法直接进行通信(不在同一个局域网内) (2)另外一个原因,通过服务器中转,是更容易在服务器这里记录历史消息随时方便咱们来查询历史记…

C语言实现Hash Map(2):Map代码实现详解

在上一节C语言实现Hash Map(1):Map基础知识入门中,我们介绍了Map的基础概念和在C中的用法。但我写这两篇文章的目的是,能够在C语言中实现这样的一个数据结构,毕竟有时我们的项目中可能会用到Map,但是C语言库中并没有提…

C语言学习笔记之指针(一)

目录 什么是指针? 指针和指针类型 指针的类型 指针类型的意义 指针-整数 指针的解引用 指针 - 指针 指针的关系运算 野指针 什么是野指针? 野指针的成因 如何规避野指针? 二级指针 什么是指针? 在介绍指针之前&#…

第十五届“北斗杯”全国青少年空天科技体验与创新大赛安徽赛区阜阳市解读会议

5月19日,第十五届“北斗杯”全国青少年空天科技体验与创新大赛安徽赛区阜阳解读活动在阜阳市图书馆隆重举行。共青团阜阳市委员会学少部副部长丁晓龙、阜阳市师范大学物理系副主任黄银生教授、安徽科技报阜阳站站长李伟、市人工智能学会秘书长郭广泽、“北斗杯”安徽…

【开发 | 环境配置】解决 VSCode 编写 eBPF 程序找不到头文件

问题描述: 在使用 vscode 编写 eBPF 程序时,如果不做一些头文件定位的操作,默认情况下头文件总是带有“红色下划线”,并且大部分的变量不会有提示与补全。 在编写代码文件较小时(或者功能需求小时)并不会…

【Spring】SpringFrameWork框架简介

1、简介 Spring Framework为基于Java的现代企业应用程序提供了一个全面的编程和配置模型。它是一个集成了IOC(控制反转)、DI(依赖注入)与AOP(面向切面编程)容器技术的框架。Spring Framework是Spring技术栈…

开放式耳机什么牌子好用?五大高分力作安利,不容错过!

​开放式耳机如今备受瞩目,其独特的不入耳设计不仅避免了长时间佩戴对耳道的压力,还维护了耳朵的卫生健康,特别受运动爱好者和耳机发烧友青睐。然而,市场上的开放式耳机品质良莠不齐,让许多消费者在选择时陷入困惑。作…

嵌入式全栈开发学习笔记---C语言笔试复习大全20

目录 指针数组 数组指针 指针和二维数组 通过指针访问二维数组 通过数组指针访问二维数组 用指针表示二维数组并访问 地址等级 0级地址: 一级地址: 二级地址: 三级地址: 总结 指针的指针 命令行参数 上一篇复习了指…

路由_传递params参数和query参数

传递params参数 传递params参数可以直接在路径后面加上参数: 上述就是在路径变化的时候传过去三个值分别为哈哈、嘿嘿、呵呵的参数 但是这样的话会被认为三个参数是路径的一部分,计算机没有办法区分哪些是路径哪些是参数,所以首先要在这条路…

Qt TreeWidget详细说明

一.定义 Qt的TreeWidget是一个用于展示树状数据的控件,可以显示带有父子关系的数据。TreeWidget可以包括一列或多列数据,并且可以提供用户对数据进行展开和折叠的功能。 TreeWidget中的数据是以树的形式展示的,每个节点可以包含子节点&#x…

React useState数组新增和删除项

在React中,我们可以使用useState钩子来管理组件的状态,其中包括数组。如何在React函数组件中对数组进行增加和删除项的操作? 新增项时:我们可以对原数组进行解构,并把新增项一起加入到新数组; 删除项时&…

LeetCode 264 —— 丑数 II

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 第一个丑数是 1 1 1,由于丑数的质因子只包含 2 、 3 、 5 2、3、5 2、3、5,所以后面的丑数肯定是前面的丑数分别乘以 2 、 3 、 5 2、3、5 2、3、5 后得到的数字。 这样,我…

电脑同时配置两个版本mysql数据库常见问题

1.配置时,要把bin中的mysql.exe和mysqld.exe 改个名字,不然两个版本会重复,当然,在初始化数据库的时候,如果时57版本的,就用mysql57(已经改名的)和mysqld57 代替 mysql 和 mysqld 例如 mysql -u root -p …

LLM 大模型学习必知必会系列(十):基于AgentFabric实现交互式智能体应用,Agent实战

LLM 大模型学习必知必会系列(十):基于AgentFabric实现交互式智能体应用,Agent实战 0.前言 **Modelscope **是一个交互式智能体应用基于ModelScope-Agent,用于方便地创建针对各种现实应用量身定制智能体,目前已经在生产级别落地。AgentFabri…