241123_基于MindSpore学习Bert

news/2024/11/27 19:02:49/

241123_基于MindSpore学习Bert

bert和transformer都有Embedding操作,包括词嵌入(word embedding)和位置嵌入(positional embedding)

但是transformer中的位置信息是三角函数

bert中的位置信息是可学习的,并增加了用于区分不同句子的段嵌入(Segment Embeddings)。

三个embedding作相加得到最后的embedding

image-20241123172001666

bert就是多层的transformer encoder层构成的

bert_14">bert训练

训练分为两个阶段:pre-train和fine-tune

pre-train阶段模型是在无标注的标签数据上进行训练

fine-rune阶段,模型先被pre-train模型参数初始化,然后所有的参数用下游的有标注的数据进行训练

预训练

由两个自监督任务组成。即MLM和NSP

MLM是在原句上挖洞,类似于完形填空,在输入的句子上mask掉一些单词,然后通过上下文预测该词(给模型做完形填空)。这个mask的概率是15%。也就是说,一共只有15%的单词被mask掉,所以训练速度较低。

NSP是判断句子B是不是A的下文。从平行语料中随机抽取的连续两句话,其中50%保留抽取的两句话,它们符合IsNext关系,另外50%的第二句话是随机从预料中提取的,它们的关系是NotNext的。

image-20241123175540884

MLM 和 NSP 一起训练。该模型旨在最小化 MLM 和 NSP 的组合损失函数,从而形成一个强大的语言模型,增强了理解句子内上下文和句子间关系的能力。但是部分模型删除了NSP任务

微调Fine-Tuning

image-20241123175801297

bert当成一个特征提取器,特征输入到word embedding得到一个编码信息,然后送入分类器,做分类,得到loss,反向传播、更新,把得到的梯度送到optim中更新。

bert的下游任务分为

1、单句子分类(情感分析)

2、句子对分类(判断两个句子在语义上是否等效)

3、问答任务(给定描述、找到描述中针对问题的答案)

4、文本标注任务(命名体识别)

3、问答任务(给定描述、找到描述中针对问题的答案)

4、文本标注任务(命名体识别)

打卡截图:image-20241123180624861


http://www.ppmy.cn/news/1550420.html

相关文章

seata 各个微服务回滚的时机

在Seata中,当你在服务方法上使用GlobalTransactional注解时,Seata会为该全局事务创建一个事务上下文,并在远程服务调用时传递这个事务上下文。Seata客户端会拦截你的Feign调用,并在调用前后进行额外的处理。 以下是Seata如何知道…

动态规划之背包问题

0/1背包问题 1.二维数组解法 题目描述:有一个容量为m的背包,还有n个物品,他们的重量分别为w1、w2、w3.....wn,他们的价值分别为v1、v2、v3......vn。每个物品只能使用一次,求可以放进背包物品的最大价值。 输入样例…

Linux—进程概念学习-03

目录 Linux—进程学习—31.进程优先级1.1Linux中的进程优先级1.2修改进程优先级—top 2.进程的其他概念3.进程切换4.环境变量4.0环境变量的理解4.1环境变量的基本概念4.2添加环境变量—export4.3Linux中环境变量的由来4.4常见环境变量4.5和环境变量相关的命令4.6通过系统调用获…

【AI系统】昇腾 AI 架构介绍

昇腾 AI 架构介绍 昇腾计算的基础软硬件是产业的核⼼,也是 AI 计算能⼒的来源。华为,作为昇腾计算产业⽣态的⼀员,是基础软硬件系统的核⼼贡献者。昇腾计算软硬件包括硬件系统、基础软件和应⽤使能等。 而本书介绍的 AI 系统整体架构&#…

RPC学习

一、什么是 RPC RPC(Remote Procedure Call),即远程过程调用,是一种计算机通信协议,它允许运行在一台计算机上的程序调用另一台计算机上的子程序或函数,就好像调用本地程序中的函数一样,无需程序…

web-03

CSS回顾 选择器 标签选择器 标签{}ID选择器 标签中定义ID属性。 #ID值{}类选择器 标签中使用class属性 .类名{}关于DIV/span div任意的大小的长方形,大小css: width, height控制。—换行 span-- 一行内 CSS常用属性 width/height 宽度/高度 定义&…

鸿蒙多线程开发——sendable共享容器

1、异步锁机制 在介绍共享容器之前,先介绍异步锁机制。 为了解决多线程并发任务间的数据竞争问题,ArkTS引入了异步锁能力。异步锁可能会被类对象持有,因此为了更方便地在并发实例间获取同一个异步锁对象,AsyncLock对象支持跨线程…

docker-compose部署java服务

文章目录 一、下载安装docker-compose二、编写Dockerfile文件三、编写docker-compose.yml文件配置说明 四、服务启动五、测试与验证 一、下载安装docker-compose 在安装docker时,并不会同时把docker-compose安装好,需要额外安装一下 下载docker-compos…