深入理解深度学习——GPT(Generative Pre-Trained Transformer):在不同任务中使用GPT

news2024/9/20 16:32:45

分类目录:《自然语言处理从入门到应用》总目录


GPT预训练语言模型作为一个标准的语言模型,其输入和输出是固定的,即输入一个词序列,输出该词序列的下一个词。《深入理解深度学习——GPT(Generative Pre-Trained Transformer):基础知识》已经完整地剖析了GPT的模型结构,即使在监督微调阶段添加了针对不同任务的自适应层,GPT的输入和输出依旧没有本质上的改变。对于一些任务(如文本分类任务),可以通过带标签的文本分类数据,然后使用微调方法进行训练,让GPT学会文本分类。文本分类任务的微调数据格式如下:

输入文本:梅西宣布退役。
标签:体育新闻

虽然标签代表的文本与输入文本并没有因果关系,但语义上存在强关联,可以理解为预训练语言模型经过微调训练能够学会这样的映射。对于输入文本包含多个句子(有序的句子对、二元组、三元组)的任务,如问答或常识性推理任务,其训练数据的格式如下:

问:今天天气怎么样?
答1:今天多云转阴,气温23摄氏度。
答2:今天适合去爬山。
答3:周末天气很好。
正确选择:答1

对于由多个句子按照规定组合而成的数据格式,GPT显然无法通过更改其输入数据格式来匹配指定任务。将问答语句揉在一起作为输入序列的简单拼接方式存在明显的隐患,事实上,这样做也无法获得很好的微调效果。思考Self-Attention过程在以下输入语句上的表现:

今天天气怎么样?今天多云转阴,气温23摄氏度。今天适合去爬山。周末天气很好。

隐患一,虽然Self-Attention的计算过程不考虑词与词之间的距离,直接计算两个词的语义关联性,但是位置编码会引入位置关系,人类语言学认知及实验结果均表明,距离越近的词具有的语义相关性越强。因此,直接拼接的输入会导致相同的答案在不同的位置与问句产生不同的相关性,即答案之间存在不公平的现象。

隐患二,模型无法准确分割问句与多个答句,通常,模型可以根据问号区分问句和答句,或根据句号来辨别输入的不同答句。在本例中,模型确实可以判断出输入序列是“问+答+答+答”的形式,但是如果问句不带问号,或者答句内部存在句号,则会出现问题,例如:

怎样用一句话证明你去过北京?
北京很干燥。而且北京风沙很大。北京冬天很冷。
但是北京的烤鸭很好吃。

模型无法根据句号来判断这是两个答案还是四个答案。除此之外,句号作为常见的标点符号,本身就具有终止的含义,将句号作为分隔符会对模型产生较大影响。考虑到以上两个隐患,GPT采用遍历式方法(Traversal-style Approach)做输入数据预处理,从而将预训练语言模型应用于有序句对或者多元组任务。如下图所示,列出了分类、蕴含、相似度、多选这4类任务的输入转化格式。注意,对于每个特定的任务,输入数据的首尾必须添加起始符和终止符,记为<s><e>。接下来介绍转化细节:

  • 蕴含
    • 任务介绍:给定一个前提 P P P(Premise),根据这个前提推断假设 H H H(Hypothesis)与前提 P P P的关系,蕴含关系表示可以根据前提 P P P推理得到假设 H H H。蕴含任务就是计算在已知前提 P P P的情况下,能推理得到假设 H H H成立的概率值。
    • 输入改写:顺序连接前提 P P P和假设 H H H,中间加入分隔符$,如下图中蓝色部分所示。
    • 样例:<s>你借我的球明天还你。$你的球在我这里。<e>
  • 相似度(
    • 任务介绍:给定两个文本序列,判断两个序列的语义相似性,以概率表示。
    • 输入改写:相似度任务中的两个文本序列并没有固定顺序,为了避免序列顺序对相似度计算造成干扰,生成两个不同顺序的输入序列,经过GPT主模型(12个Transformer Block)后,得到语义特征向量 h i m h_i^m him,在输入至任务独有的线性层之前按元素相加,如下图中黄色部分所示。
    • 样例:
      • <s>她很漂亮$她很好看<e>
      • <s>她很好看$她很漂亮<e>
  • 多选
    • 任务介绍:给定上下文文档 Z Z Z(也可以没有)、一个问题 Q Q Q(Wuestion)和一组可能的答案 a k a_k ak(Answer),从可能的答案中选取最佳答案。
    • 输入改写:将上下文 Z Z Z和问题 Q Q Q连在一起作为前提条件,加入分隔符与每个可能的答案 a k a_k ak拼接,得到 [ Z ; W ; a k ] [Z; W; a_k] [Z;W;ak]序列。这些序列都用GPT单独进行处理(包括独有的线性层),最后通过Softmax层进行规范化,在所有可能的答案上计算一个概率分布,如下图中紫色部分所示。
    • 样例:
      • <s>今天天气怎么样?$今天多云转阴,气温23摄氏度。<e>
      • <s>今天天气怎么样?$今天适合去爬山。<e>
      • <s>今天天气怎么样?$周末天气很好。<e>

GPT在特定任务上的输入转化格式
回顾前面提到的两个隐患,可以发现,通过遍历式方法和采用特殊分隔(起始/终止)符可以很好地规避隐患。相似度任务通过交换输入文本的顺序来消除句子相对位置带来的干扰,而多选任务则通过遍历单个问句和答句组合的方式,规避了句子相对位置带来的不公平性。用固定特殊符号$作为分隔符也避免了采用句号等通用标点作为分隔符所产生的不利影响。

参考文献:
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015
[2] Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Dive Into Deep Learning[J]. arXiv preprint arXiv:2106.11342, 2021.
[3] 车万翔, 崔一鸣, 郭江. 自然语言处理:基于预训练模型的方法[M]. 电子工业出版社, 2021.
[4] 邵浩, 刘一烽. 预训练语言模型[M]. 电子工业出版社, 2021.
[5] 何晗. 自然语言处理入门[M]. 人民邮电出版社, 2019
[6] Sudharsan Ravichandiran. BERT基础教程:Transformer大模型实战[M]. 人民邮电出版社, 2023
[7] 吴茂贵, 王红星. 深入浅出Embedding:原理解析与应用实战[M]. 机械工业出版社, 2021.

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

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

相关文章

GAMES101 笔记 Lecture06 Rasterization2(Antialiasing and Z-Buffering)

目录 Antialiasing(反走样)Sampling is Ubiquitous in Computer Graphics(采样在计算机图形学中无处不在)Sampling Artifacts(Errors or Mistakes or Inaccuracies) in Computer Graphics(在计算机图形学中采样的瑕疵)Jaggies(Staircase Pattern)锯齿Moire Pattern in Imaging(…

[进阶]TCP通信实现BS架构,网站开发的原理,线程池优化BS架构

代码演示如下&#xff1a; 服务端 public class Server {public static void main(String[] args) throws Exception{System.out.println("服务端开启&#xff01;");//1.创建ServerSocket的对象&#xff0c;同时为服务端注册端口。ServerSocket serverSocket new…

Wang tile(王浩瓷砖)算法解决贴图平铺重复问题

Wang tile(王浩瓷砖) 大家好&#xff0c;我是阿赵。这次来解决一个贴图重复的问题。 一、问题 做一篇很大面积的草地&#xff0c;一般思路是建立一个地面的面片&#xff0c;然后在材质球里面给他做一个Tiling平铺&#xff0c;增大重复次数。这样整个地面都可以被草地的贴图铺满…

Spring Boot 如何使用 @Validated 注解进行数据校验

Spring Boot 如何使用 Validated 注解进行数据校验 在开发应用程序时&#xff0c;数据校验通常是不可避免的。Spring Boot 提供了许多选项来验证应用程序中的数据&#xff0c;其中一个选项是使用 Validated 注解。本文将介绍如何使用 Validated 注解进行数据校验&#xff0c;并…

操作系统-操作系统结构

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

【计算机组成原理】Yy-z02硬布线模型机设计

目录 一、Yy-z02模型机的系统结构 二、Yy-z02模型机的数据通路 三、Yy-z02模型机的指令执行 四、Yy-z02模型机的硬布线控制器 一、Yy-z02模型机的系统结构 指令系统的实现 <--- 构造它的硬件系统 硬件系统构造过程&#xff1a; 分析指令格式和各指令的功能确定部件连…

《机器学习公式推导与代码实现》chapter16-集成学习对比与调参

《机器学习公式推导与代码实现》学习笔记&#xff0c;记录一下自己的学习过程&#xff0c;详细的内容请大家购买作者的书籍查阅。 集成学习&#xff1a;对比与调参 虽然现在深度学习大行其道&#xff0c;但以XGBoost、LightGBM、CatBoost为代表的Boosting算法仍有其广泛的用武…

【Applied Algebra】有限状态机和模型检测初探

【Applied Algebra】有限状态机和模型检测初探 摘要:有限状态机(FSM)和模型检测有密切的联系。有限状态机提供了一种用状态转换图来表示系统行为的简单方法。而模型检测是一种针对形式化模型&#xff08;例如有限状态机&#xff09;的验证技术&#xff0c;旨在自动验证模型是否…

css基础(一)

目录 思维导图 ​一、css简介 1.1 css语法规范 1.2 css代码规格 1. 样式格式书写 2. 样式大小写 3. 空格规范 二、css选择器 2.1 CSS 选择器的作用 2.2 选择器分类 2.3 标签选择器 2.4 类选择器 2.4 类选择器-多类名 2.5 id 选择器 2.6 通配符选择器 2.7 基础选择器总结 三、CS…

D. Running Miles(公式转换)

Problem - D - Codeforces 有一条长为n的街道&#xff0c;其中第i个景点距离街道起点i英里。第i个景点的美丽值为bi。你想要在离街道起点l英里和r英里处开始和结束慢跑。当你跑步时&#xff0c;你会看到你经过的景点&#xff08;包括起点和终点处的景点&#xff09;。你对沿途慢…

Microsoft365有用吗?2023最新版office有哪些新功能?

office自97版到现在已有20多年&#xff0c;一直是作为行业标准&#xff0c;格式和兼容性好&#xff0c;比较正式&#xff0c;适合商务使用。包含多个组件&#xff0c;除了常用的word、excel、ppt外&#xff0c;还有收发邮件的outlook、管理数据库的access、排版桌面的publisher…

CENTOS上的网络安全工具(二十五)SPARK+NetSA Security Tools容器化部署(1)

一、第三代YAF YAF&#xff08;Yet Another Flowmeter&#xff09;是作为CERT NetSA安全工具套件的传感器部分存在的&#xff0c;支持输入实时数据流和PCAP文件&#xff0c;解析并输出流数据&#xff0c;或针对特定协议的深包检测元数据。目前&#xff0c;YAF在整个系统的作用如…

【js30天挑战】第三天:css变量

效果图&#xff1a; 学到的东西 HTML&CSS部分 css变量写法 //定义:root{ //:root 是 CSS 选择器&#xff0c;它匹配文档的根元素&#xff0c;也就是 html 元素。 --base:#FF0081;--spacing:10px;--blur:0px;} //使用img {filter: blur(var(--blur));}input: range类型…

Redis - 数据结构类型及使用场景详解(一)

一. 简介 Redis 是由 Salvatore Sanfilippo 编写的一个key-value存储系统&#xff0c;是跨平台的非关系型数据库。Redis是一个开源的&#xff0c;使用C语言编写的&#xff0c;遵守BSD协议&#xff0c;支持网络&#xff0c;可基于内存&#xff0c;分布式&#xff0c;可选持久性的…

EMC学习笔记(八)阻抗控制(二)

阻抗控制&#xff08;二&#xff09; 1.差分阻抗控制1.1 当介质厚度为5mil时的差分阻抗随差分线间距的变化趋势1.2 当介质厚度为13mil时的差分阻抗随差分线间距的变化趋势1.3 当介质厚度为25mil时的差分阻抗随差分线间距的变化趋势 2.屏蔽地线对阻抗的影响2.1 地线与信号线之间…

Day_54-55

目录 Day_54基于 M-distance 的推荐 一. 关于M-distance 的推荐 1. 基本数据说明 2. 推荐系统的算法过程 3. 简单思考 二. 代码复现 1. 数据导入 2. 代码的初始化 3. 核心代码 3.1 基础数据的构建 3.2 leave-out-leave测试 3.3 误差计算 Day_55基于 M-distance 的推荐 (续) …

对象的构造顺序

问题 C 中的类可以定义多个对象&#xff0c;那个对象构造的顺序是怎样的&#xff1f; 对于局部对象 当程序执行流到达对象的定义语句时进行构造 下面程序中的对象构造顺序是什么&#xff1f; 对于堆对象 当程序执行流到达 new 语句时创建对象 使用 new 创建对象将自动触发构…

python 使用 openpyxl 处理 Excel 教程

目录 前言一、安装openpyxl库二、新建excel及写入单元格1.创建一个xlsx格式的excel文件并保存2.保存成流(stream)3.写入单元格 三、创建sheet工作表及操作四、读取excel和单元格1.读取 excel 文件2.读取单元格3.获取某一行某一列的数据4.遍历所有单元格5.遍历指定行列范围的单元…

Android卡顿优化

卡顿的定义 如果在一个Vsync周期内&#xff08;60HZ的屏幕上就是16.6ms&#xff09;&#xff0c;按照整个上帧显示的执行的顺序来看&#xff0c;应用UI线程的绘制、RenderThread线程的渲染、SurfaceFlinger/HWC的图层合成以及最终屏幕上的显示这些动作没有全部都执行完成的话&…

【C语言】-- X型图案

今天刷了牛客网上的一道题&#xff0c;不难&#xff0c;但思路很重要&#xff0c;否则你就得写一长串代码&#xff0c;下面是要求。牛客网链接->X形图案。 下面是两组示例。 通过观察示例&#xff0c;我们发现输入的数字是奇数时&#xff0c;图案最中间只有一个*&#xff0c…