大语言模型-Bert-Bidirectional Encoder Representation from Transformers

一、背景信息:

Bert是2018年10月由Google AI研究院提出的一种预训练模型。
主要用于自然语言处理(NLP)任务,特别是机器阅读理、文本分类、序列标注等任务。
BERT的网络架构使用的是多层Transformer结构,有效的解决了长期依赖问题。

二、整体结构:

BERT由多个Transformer Encoder一层一层地堆叠起来。
BERT全名叫做Bidirectional Encoder Representation from Transformers,下图中用Trm表示Transformer中的Encoder模块。Encoder中在编码一个token的时候会同时利用了其上下文的token,即为Bidirectional双向的体现。

在这里插入图片描述

三、Bert 的输入

Bert 的输入向量,由x的三种向量求和而成,三种向量分别为x的词向量、句子分类向量、位置向量。
其中
词向量Token Embeddings,第一个词是[CLS]标志,通常会用在分类任务中;[SEP]标志分句符号,用于断开输入语料中的两个句子或者表示句子的结束。
句子分类向量Segment Embeddings,用来区别两种句子,有两种情况;问答等任务全部所有token全为0,其余任务第一句句所有token为0第二句所有为1。
位置向量Position Embeddings,这里的位置向量为可学习的绝对位置编码,优点是可以学习到不同位置的不同编码,而不是固定的编码。因为位置编码的维度是固定的,需要设定最大长度,不能预测超过长度的句子。
在这里插入图片描述

四、Bert训练

BERT的训练包含预训练fine-tune两个阶段。

Bert预训练:

Bert预训练(Pre-training)任务是由MLM和NSP两个自监督任务组成。

MLM:

MLM随机在输入语料上Mask掉一些词,并通过上下文预测该词。其中15%的WordPiece Token会被随机Mask掉。

  • 80%的时候会直接替换为[Mask]
  • 10%的时候将其替换为其它任意单词
  • 10%的时候会保留原始Token。
1、若句子中的某个Token 100%都会被mask掉,那么在fine-tuning的时候模型就会有一些没有见过的单词。
2、加入随机Token的原因是因为Transformer要保持对每个输入token的分布式表征。
3、因为一个单词被随机替换掉的概率只有15%*10% =1.5%,单词带来的负面影响可以忽略不计。
4、每次只预测15%的单词,因此模型收敛的比较慢。
# 优点:
# 10%的概率用任意词替换赋予Bert一定文本纠错能力;
# 10%的概率保留原始Token,缓解了finetune时与预训练时的输入不匹配。
# 缺点:
# Mask汉字割裂了连续汉字之间的相关性
NSP:

Next Sentence Prediction(NSP)任务判断句子B是否是句子A的下文。如果是的话输出’IsNext‘,否则输出’NotNext‘。

Bert的微调

基于Bert模型的微调应用近些年来,已经越来越丰富了,下面介绍三种具有代表性的简单版本的微调应用。当然如今的bert微调应用是不仅仅只有下面这零星的几个例子。

1、单文本分类

在需要进行分类的文本的开头和结尾分别加上CLS和SEP标记

[CLS] 文本 [SEP]

Bert模型输出的[CLS]标记的向量,表示整个文本序列的语义信息。
文本分类微调需要新增一个全连接层,将[CLS]标记的向量输入到全连接层,输出各类别的概率分布。

2、问答任务

从给定的上下文中找到问题的答案。输入包含上下文和问题两部分

[CLS] 上下文 [SEP] 问题 [SEP]

Bert模型的顶部添加两个分类层,分别用于预测答案的起始位置和终止位置。

3、信息抽取

对句子中语义连贯的词汇或短语逐个字的标注。
Bert模型的最后一层输出每个token的表示向量。通常在Bert模型顶部添加一个分类器,用于预测每个token是否是命名实体的token。例如:TPLinker

在这里插入图片描述

Reference

1.Attention Is All You Need
2.BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

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

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

相关文章

docker文件挂载和宿主主机文件的关系

一、背景 在排查docker日志时发现在读取docker的文件时找不到文件,在宿主主机上可以查到对应的文件。这里就要理解docker文件目录和宿主主机上的文件的关系。 二、Docker文件系统和宿主系统 Docker文件和宿主文件之间的关系主要体现在Docker容器的运行环境中。Docke…

CSS画边框线带有渐变线和流光边框实例

流光边框css流光边框动画效果_哔哩哔哩_bilibili流光边框css流光边框动画效果_哔哩哔哩_bilibili纯CSS写一个动态流水灯边框的效果~_哔哩哔哩_bilibili荧光边框CSS 动画发光渐变边框特效_哔哩哔哩_bilibili [data-v-25d37a3a] .flow-dialog-custom {background-col…

recursion depth exceeded” error

有些时候不可以用jax.jit装饰器 参考资料:使用 JAX 后端在 Keras 3 中训练 GAN |由 Khawaja Abaid |中等 (medium.com)

字符的统计——423、657、551、696、467、535

423. 从英文中重建数字 最初思路 首先要有一个指针,对于3/4/5为一组地跳跃。起初想的是后瞻性,如果符合0-9任意,则更换index、跳跃。此时写了一个函数,用来判断s的截取段和0-9中有无符合。这个思路并没有进行下去,虽然…

.NET 情报 | 分析某云系统添加管理员漏洞

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

基于java web新生报到系统设计与实现

第1章 绪论 本章首先对建设新生报到系统的背景,传统新生报到管理所存在的问题进行分析,给出建立新生报到系统的意义,同时提出建设网站的设计思路,最后给出本论文的各章结构介绍。 1.1 引言 21世纪是富有挑战性的世纪。在世纪之…

C语言 | Leetcode C语言题解之第282题给表达式添加运算符

题目: 题解: #define MAX_COUNT 10000 // 解的个数足够大 #define NUM_COUNT 100 // 操作数的个数足够大 long long num[NUM_COUNT] {0};long long calc(char *a) { // 计算表达式a的值// 将数字和符号,入栈memset(num, 0, sizeof(num));in…

【每日刷题Day85】

【每日刷题Day85】 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 125. 验证回文串 - 力扣(LeetCode) 2. 43. 字符串相乘 - 力扣(L…

【数据分享】2013-2022年我国省市县三级的逐月SO2数据(excel\shp格式\免费获取)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000——2022年的省市县三级的逐月PM2.5数据和2013-2022年的省市县三级的逐月CO数据(均可查看之前的文章获悉详情)! 本次我们分享的是我国2013——2022年的省…

大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: HadoopHDFSMapReduceHiveFlumeSqoopZookeeperHBaseRedis 章节内容 上一节我们完成了: HBase …

优选算法之二分查找(上)

目录 一、二分查找 1.题目链接:704. 二分查找 2.题目描述: 3.算法流程: 4.算法代码: 二、在排序数组中查找元素的第一个和最后一个位置 1.题目链接:34. 在排序数组中查找元素的第一个和最后一个位置 2.题目描述…

大语言模型-RetroMAE-检索预训练模型

一、背景信息: RetroMAE是2022年10月由北邮和华为提出的一种密集检索预训练策略。 RetroMAE主要应用于检索模型的预训练,模型架构为非对称的Encoder-Decode结构。 二、整体结构: RetroMAE的模型架构为非对称的Encoder-Decode结构。 Encod…

Linux嵌入式学习——数据结构——概念和Seqlist

数据结构 相互之间存在一种或多种特定关系的数据元素的集合。 逻辑结构 集合,所有数据在同一个集合中,关系平等。 线性,数据和数据之间是一对一的关系。数组就是线性表的一种。 树, 一对多 图,多对多 …

k8s中部署Jenkins、SonarQube、StorageClass部署流程

部署Jenkins 系统环境: • kubernetes 版本:1.23.3 • jenkins 版本:2.172 • jenkins 部署示例文件 Github 地址:https://github.com/my-dlq/blog-example/tree/master/jenkins-deploy 一、设置存储目录 在 Kubenetes 环境下…

机器学习·概率论基础

概率论 概率基础 这部分太简单,直接略过 条件概率 独立性 独立事件A和B的交集如下 非独立事件 非独立事件A和B的交集如下 贝叶斯定理 先验 事件 后验 在概率论和统计学中,先验概率和后验概率是贝叶斯统计的核心概念 简单来说后验概率就是结合了先验概…

【SpingCloud】客户端与服务端负载均衡机制,微服务负载均衡NacosLoadBalancer, 拓展:OSI七层网络模型

客户端与服务端负载均衡机制 可能有第一次听说集群和负载均衡,所以呢,我们先来做一个介绍,然后再聊服务端与客户端的负载均衡区别。 集群与负载均衡 负载均衡是基于集群的,如果没有集群,则没有负载均衡这一个说法。 …

springcolud学习05Feign

Feign Feign是一个声明式的http客户端,我们知道,在不使用Feign之前,在微服务中,一个模块如果想要调用另一个模块中的某个功能,需要向其发起请求http请求,如果不使用Feign,我们就需要通过硬编码的形式去编写构建http请求 新建模型,建立一个和consumer一样的module,不…

Python 实现PDF和TIFF图像之间的相互转换

PDF是数据文档管理领域常用格式之一,主要用于存储和共享包含文本、图像、表格、链接等的复杂文档。而TIFF(Tagged Image File Format)常见于图像处理领域,主要用于高质量的图像文件存储。 在实际应用中,我们可能有时需…

leetcode算法题之接雨水

这是一道很经典的题目,问题如下: 题目地址 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 解法1:动态规划 动态规划的核心就是将问题拆分成若干个子问题求解&#…

TCP与UDP网络编程

网络通信协议 java.net 包中提供了两种常见的网络协议的支持: UDP:用户数据报协议(User Datagram Protocol)TCP:传输控制协议(Transmission Control Protocol) TCP协议与UDP协议 TCP协议 TCP协议进行通信的两个应用进程:客户端、服务端 …