我的创作纪念日兼GPT模型简单介绍

目录

一、引言

二、收获与开端

2.1 问题:在创作的过程中都有哪些收获?

2.2 模型开端

三、日常与深入

3.1 问题:当前创作和你的学习是什么样的关系?

3.2 模型深入介绍

3.2.1 无监督预训练

3.2.2 有监督下游任务精调

四、憧憬与应用

4.1 问题:你的创作规划和终极目标是什么?

4.2 适配不同的下游任务


一、引言

今天的文章比较特别,原因在于我想在其中尝试融入两个不同元素。一方面介绍自然语言处理中有关GPT模型的知识,另一方面简单谈谈自己的创作历程。下面的每一大节都将由这两方面组成。

二、收获与开端

2.1 问题:在创作的过程中都有哪些收获?

在培根的《谈读书》一文中有三句最为经典的话:“Reading maketh a full man; conference a ready man; and writing an exact man.”  我喜欢把他们翻译为:“读书使人丰富,辩论使人机敏,写作使人严谨。” 

细细品味,发现其中已经将创作的意义说得十分清楚,所以这里不在继续下去。

2.2 模型开端

OpenAI 公司在2018年提出了一种生成式预训练(Generative Pre Training,GPT)模型用来提升自然语言理解任务的效果,正式将自然语言处理带入“预训练”时代。
“预训练”时代意味着利用更大规模的文本数据以及更深层的神经网络模型学习更丰富的文本语义表示。同时,GPT的出现打破了自然语言处理各个任务之间的壁垒,使得搭建一个面向特定任务的自然语言处理模型不再需要了解非常多的任务背景,只需要根据任务的输入输出形式应用这些预训练语言模型,就能够达到一个不错的效果。因此,GPT提出了“生成式预训练+判别式任务精调”的自然语言处理新范式,使得自然语言处理模型的搭建变得不再复杂。
 
(1)生成式预训练:在大规模文本数据上训练一个高容量的语言模型,从而学习更加丰富的上下文信息;
(2)判别式任务精调:将预训练好的模型适配到下游任务中,并使用有标注数据学习判别式任务。
 
接下来将从两个部分介绍GPT模型。首先介绍GPT模型的基本结构及其预训练方法,然后介绍GPT模型在不同下游任务中的应用。

三、日常与深入

3.1 问题:当前创作和你的学习是什么样的关系?

创作与学习更多的应该是一种互补的关系。通过创作我们总结学习的内容,以便加深对知识的理解和技能的掌握;而学习是滋生创作的土壤,创作的灵感来源于学习,不断的学习使我们有能力可以继续创作。

3.2 模型深入介绍

3.2.1 无监督预训练

GPT的整体结构是一个基于Transformer的单向语言模型,即从左至右对输入文本建模,如下图所示:

GPT利用常规语言建模的方法优化给定文本序列 X=X_{1}\cdots X_{n}  的最大似然估计L^{PT}

式中,k表示语言模型的窗口大小,即基于k个历史词X_{i-k}\cdots X_{i-1}预测当前时刻的词X_{i} θ 表示神经网络模型的参数,可使用随机梯度下降法优化该似然函数。
 
具体地,GPT使用了多层Transformer作为模型的基本结构。对于长度为k的窗口词序列{X}'=X_{-k}\cdots X_{-1},通过以下方式计算建模概率 P:

式中, e_{​{X}'}\in \mathbb{R}^{k\times |V|}表示 x′ 的独热向量表示; W^{e}\in {R}^{|V|\times d}表示词向量矩阵;W^{p}\in {R}^{n\times d}表示位置向量矩阵(此处只截取窗口 x′ 对应的位置向量);L表示Transformer的总层数。

3.2.2 有监督下游任务精调

在预训练阶段,GPT利用大规模数据训练出基于深层Transformer的语言模型,已经掌握了文本的通用语义表示。精调(Fine-tuning)的目的是在通用语义表示的基础上,根据下游任务(Downstream task)的特性进行领域适配,使之与下游任务的形式更加契合,以获得更好的下游任务应用效果。接下来,将介绍如何将预训练好的GPT应用在实际的下游任务中。
 
下游任务精调通常是由有标注数据进行训练和优化的。假设下游任务的标注数据为C,其中每个样例的输入是X=X_{1}\cdots X_{n}构成的长度为n的文本序列,与之对应的标签为y。首先将文本序列输入预训练的GPT中,获取最后一层的最后一个词对应的隐含层输出 h_{n}^{[L]},如下面的式子所示。紧接着,将该隐含层输出通过一层全连接层变换,预测最终的标签。

式中,W^{y}\in {R}^{d\times k}表示全连接层权重,k表示标签个数。
 
最终,通过优化以下损失函数精调下游任务。
 

另外,为了进一步提升精调后模型的通用性以及收敛速度,可以在下游任务精调时加入一定权重的预训练任务损失。这样做是为了缓解在下游任务精调的过程中出现 灾难性遗忘 (Catastrophic Forgetting)问题。因为在下游任务精调过程中,GPT的训练目标是优化下游任务数据上的效果,更强调特殊性。因此,势必会对预训练阶段学习的通用知识产生部分的覆盖或擦除,丢失一定的通用性。通过结合下游任务精调损失和预训练任务损失,可以有效地缓解灾难性遗忘问题,在优化下游任务效果的同时保留一定的通用性。在实际应用中,可通过下式精调下游任务。

式中, L^{FT}表示精调任务损失; L^{PT}表示预训练任务损失;λ表示权重,通常λ的取值介于[0,1]。特别地,当λ=0时, L^{PT}一项无效,表示只使用精调任务损失L^{FT}优化下游任务。而当λ=1时,L^{PT}L^{FT}具有相同的权重。在实际应用中,通常设置λ=0.5,因为在精调下游任务的过程中,主要目的还是要优化有标注数据集的效果,即优化 。
L^{PT}的引入主要是为了提升精调模型的通用性,其重要程度不及L^{FT},因此设置 λ=0.5是一个较为合理的值(不同任务之间可能有一定的区别)。

四、憧憬与应用

4.1 问题:你的创作规划和终极目标是什么?

我是一个比较惫懒的人,没有什么明确的创作规划。具体来说,当某一个时间端突然对一个领域感兴趣时,我会根据自己的学习情况创作文章。文章可能是自己的心得体会、对某一种技术的看法或者笔记等等。至于终极目标,对一个懒散的人来说,先写满100篇文章吧。

4.2 适配不同的下游任务

由于不同任务之间的输入形式各不相同,应如何根据不同任务适配GPT的输入形式成为一个问题。本节介绍自然语言处理中几种典型的任务在GPT中的输入输出形式,其中包括:单句文本分类、文本蕴含、相似度计算和选择型阅读理解,如下图所示。

 

(1)单句文本分类。单句文本分类是最常见的自然语言处理任务之一,其输入由单个文本构成,输出由对应的分类标签构成。假设输入为X=X_{1}\cdots X_{n},单句文本分类的样例将通过如下形式输入GPT中。

式中,<s>表示开始标记;<e>表示结束标记。
 
(2)文本蕴含。文本蕴含的输入由两段文本构成,输出由分类标签构成,用于判断两段文本之间的蕴含关系。需要注意的是,文本蕴含中的前提(Premise)和假设(Hypothesis)是有序的,即在所有样例中需要使用统一格式,两者顺序必须固定(前提在前或者假设在前)。
 
假设文本蕴含的样例分别为X^{(1)}=X_{1}^{(1)}\cdots X_{n}^{(1)}X^{(2)}=X_{1}^{(2)}\cdots X_{m}^{(2)},其将通过如下形式输入GPT中。

 

式中,$表示分隔标记,用于分隔两段文本;n和m分别表示X^{(1)}X^{(2)}的长度。
 
(3)相似度计算。相似度计算任务也由两段文本构成。但与文本蕴含任务不同的是,参与相似度计算的两段文本之间不存在顺序关系。假设相似度计算的样例分别为X^{(1)}=X_{1}^{(1)}\cdots X_{n}^{(1)}X^{(2)}=X_{1}^{(2)}\cdots X_{m}^{(2)},其将通过如下形式输入GPT中,得到两个相应的隐含层表示。最终将这两个隐含层表示相加,并通过一个全连接层预测相似度。

(4)选择型阅读理解。选择型阅读理解任务是让机器阅读一篇文章,并且需要从多个选项中选择出问题对应的正确选项,即需要将〈篇章,问题,选项〉作为输入,以正确选项编号作为标签。
 
根据上述任务形式,假设篇章为p=p_{1}\cdots p_{n},问题为q=q_{1}\cdots q_{m},第i个选项为c^{(i)}=c_{1}^{(i)}\cdots c_{k}^{(i)},并假设N为选项个数,其将通过如下形式输入GPT中。

将〈篇章,问题,选项〉作为输入,通过GPT建模得到对应的隐含层表示,并通过全连接层得到每个选项的得分。最终,将N个选项的得分拼接,通过Softmax函数得到归一化的概率(单选题),并通过交叉熵损失函数学习。
想深入学习相关知识的读者,可以参考作者的其他文章。

reference:

GPT-3模型简单介绍_gpt3模型_云隐雾匿的博客-CSDN博客

 

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

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

相关文章

云原生——什么是云原生数据库?

❄️作者介绍:奇妙的大歪❄️ 🎀个人名言:但行前路,不负韶华!🎀 🐽个人简介:云计算网络运维专业人员🐽 前言 突然间,云原生数据库就火了。根据IDC《2021年下半…

Spring 是什么?IoC 和 DI的区别

1. Spring 是什么?2. IoC是什么? 2.DI概念说明 1. Spring 是什么? 我们通常讲的Spring指的是Spring Framework(Spring框架),它是一个开源的框架,有着活跃而庞大的社区,这也是它之所谓经久不衰的原因。官方的解读是:Spring官网 翻译过来就是:Spring使Java编程对每…

React03-props 和 state 详解

一、props 组件传参 1. props 基本使用 我们在使用组件时可以向组件传递数据&#xff0c;在组件内可以使用 props 对象来调用传入的数据。 function Person(props) {return <div><h3>姓名&#xff1a;{props.name}</h3><h3>年龄&#xff1a;{props.…

接口测试-postman,JMeter与LoadRunner比较

目录 JMeter与LoadRunner比较 JMeter缺点 一.创建测试用例集、子集 二.创建测试用例 三.设置变量 四.添加响应处理 五.批量执行测试用例 总结&#xff1a; postman是一个谷歌出的轻量级的专门测试接口的小工具~&#xff08;PS&#xff1a;postman包括两种&#xff1a;C…

【项目部署】NGINX原生部署前端

如有拼错的单词感谢提醒~ 一.准备工作 为了方便文件的管理&#xff0c;我们先在服务器上创建一个专门存放项目的目录。 # 1.查看当前所在目录 pwd # 1.1 可以切换到根目录管理 cd /root # 2.创建一个专门存放项目的文件夹 mkdir services # 3.可以查看我们创建的文件夹 ls # …

【精致的美少女-InsCode Stable Diffusion 美图活动一期】

&#x1f4a7; 【精致的美少女 − I n s C o d e S t a b l e D i f f u s i o n 美图活动一期】 \color{#FF1493}{【精致的美少女-InsCode Stable Diffusion 美图活动一期】} 【精致的美少女−InsCodeStableDiffusion美图活动一期】&#x1f4a7; &#x1f337; 仰望…

Abaqus_Python 基于abqpy的python3版本的二次开发【没写完,慢慢更新】

前言 介绍abaqus和python二次开发的教程较少&#xff0c;而比较常见的一种python二次开发方法是&#xff1a;使用PythonReader.exe去读取Abaqus运行后的内部生成代码&#xff08;即对应temp目录下的abaqus.rpy&#xff0c;例如“Abaqus\temp\abaqus.rpy”&#xff09;再粘贴到…

【Linux】Selinux基本了解

文章目录 SElinux1.简介2.基本概念3.规则4.策略5.工作模式 SElinux 1.简介 SELinux是一个内核级别的安全机制&#xff0c;从Linux2.6内核之后就将SELinux集成在了内核当中。因为SELinux是内核级别的&#xff0c;所以我们对于其配置文件的修改都是需要重新启动操作系统才能生效…

小狐狸ChatGPT付费创作系统V2.1.0独立版 +WEB端+ H5端 + 小程序端安装教程

播播资源针对ChatGPT付费创作系统V2.1.0提供最新的对应版本小程序端全套测试&#xff0c;上一版本增加了PC端绘画功能&#xff0c;绘画功能采用其他绘画接口-意间AI&#xff0c;本版新增了百度文心一言接口。后台一些小细节的优化及一些小BUG的处理&#xff0c;前端进行了些小细…

【运维知识进阶篇】zabbix5.0稳定版详解6(zabbix自动化监控:自动发现+自动注册+监控项目主动式)

本篇文章继续给大家介绍zabbix自动化监控&#xff0c;包括zabbix自动注册&#xff0c;zabbix自动发现&#xff0c;将主机添加进服务端之后需要做的监控项目更改为主动式&#xff0c;zabbix说多不多&#xff0c;说少不少&#xff0c;其实远没有监控那么简单&#xff0c;更深层次…

【实证分析】地区竞争、推广数字普惠金融与绿色经济效率

研究内容 基于考虑非期望产出的 Super-SBM 模型测算了 2011—2018 年中国 265 个地级市的绿色经济效率,综合运用面板模型、空间杜宾模型,系统分析了地区竞争下推广数字普惠金融对绿色经济效率的影响效应。研究发现:(1)绿色经济效率存在显著正向空间溢出效应,地理距离与经济差异…

部署LVS-DR群集博客

文章目录 部署LVS-DR群集一.LVS数据包流向分析1.数据包流向2.DR 模式的特点 二.LVS-DR中ARP的问题1.问题11.1 解决办法 2.问题22.1 解决办法 三.LVS-DR特性1.LVS-DR模式需要注意2.优点3.缺点 四.案例&#xff0c;构建LVS-DR集群部署1.LVS-DR集群构架图2.DR模式 LVS负载均衡群集…