【期末复习向】长江后浪推前浪之ChatGPT概述

参考文章:GPT系列模型技术路径演进-CSDN博客

这篇文章讲了之前称霸NLP领域的预训练模型bert,它是基于预训练理念,采用完形填空和下一句预测任务2个预训练任务完成特征的提取。当时很多的特定领域的NLP任务(如情感分类,信息抽取,问答等)都是采用bert加上领域数据微调解决。

【期末向】“我也曾霸榜各类NLP任务”-bert详解-CSDN博客文章浏览阅读208次,点赞4次,收藏3次。首先我们要了解一下什么是预训练模型,举个例子,假设我们有大量的维基百科数据,那么我们可以用这部分巨大的数据来训练一个泛化能力很强的模型,当我们需要在特定场景使用时,例如做文本相似度计算,那么,只需要简单的修改一些输出层,再用我们自己的数据进行一个增量训练,对权重进行一个轻微的调整。NSP属于二分类任务,在此任务中,我们输入两个句子,B有50%的可能是A的下一句,也有50%的可能是来自语料库的随机句子,预测B是不是A的下一句。即对于给定的输入序列,我们随机屏蔽15%的单词,然后训练模型去预测这些屏蔽的单词。https://blog.csdn.net/weixin_62588253/article/details/135002295?spm=1001.2014.3001.5501但是2022年底,随着ChatGPT的兴起,大模型开始全面替代各种特定领域的NLP任务。下面就讲讲ChatGPT的发展史以及对NLP带来的影响。

(1)GPT及其结构

ChatGPT(Chat Generative Pre-trained Transformer)系列,最早由OpenAI(也叫CloseAI,开玩笑)于2018年提出第一版GPT,也是预训练语言模型。GPT的任务最初就是从网上爬取完整的句子数据,用于训练预测给定上下文信息后的下一个单词。仅仅凭借这一预训练方式和未标注的数据集GPT就可以完成对话任务,但是效果并不好 。

GPT与bert不同,bert采用的是transformer中的encoder结构;而GPT采用的则是decoder结构,如下图所示:

(2)GPT-2

2019年OpenAI又提出了GPT-2,其目标旨在训练一个泛化能力更强的词向量模型,但是它并没有对GPT的网络进行过多的结构的创新与设计,而是采用更多的网络参数和更大的数据集。但是它提出了一个后来成为大模型称霸NLP的理念:zero-shot即零少样本学习。它认为可以将预训练好的模型直接应用到下游任务,而不用根据特定领域的标注数据再次微调,只需要模型根据给定的指令(prompt或instruction)来理解任务。OpenAI作者认为,当一个语言模型的容量足够大时,它就能足以覆盖所有的有监督任务,也就是说所有的有监督学习都是无监督语言模型的一个子集,当模型的容量非常大且数据量足够丰富时,仅仅靠训练语言模型的学习便可以完成其他有监督学习的任务,这个思想也是提示学习(Prompt Learning)的前身。

(3)GPT-3

2020年,GPT-3发布。相比之前的GPT,GPT-3的显著特点是参数很多,是一个巨型模型,参数量高达1750亿参数量。与此同时,GPT-3还验证了GPT-2中提出的zero-shot的理念。所谓的zero-shot,就是零样本学习,它是直接应用到下游任务的,不会改变模型的参数。具体想法是利用过去的知识(预训练获得的信息),在脑海中推理出新的知识,从而能在没有微调的情况下完成原来需要利用特殊领域数据微调才能完成的下游任务。值得一提的是,这种理念可以用在各种领域,而非局限在NLP。

除了zero-shot,还有one-shot和few-shot。one-shot是指在预测时将一个例子也作为输入输入模型;few-shot是指在预测时加上几个例子作为输入。


 (4)ChatGPT

预训练模型自诞生之始,一个备受诟病的问题就是预训练模型的偏见性。因为预训练模型都是通过海量数据在超大参数量级的模型上训练出来的,对比完全由人工规则控制的专家系统来说,预训练模型就像一个黑盒子。没有人能够保证预训练模型不会生成一些包含种族歧视,性别歧视等危险内容,因为它的几十GB甚至几十TB的训练数据里几乎肯定包含类似的训练样本。这也就是InstructGPT和ChatGPT的提出动机,论文中用3H概括了它们的优化目标:

  • 有用的(Helpful)
  • 可信的(Honest)
  • 无害的(Harmless)

因此在2021和2022年OPenAI分别发表InstructCPT和ChatGPT,并提出了全新的训练步骤,这也是ChatGPT与bert等传统预训练语言模型。

 第一步-预训练。当然是预训练步骤(上图没有展示出来),利用大量的网上爬取的数据做无监督的预训练,任务应该还是预测下一个字。

第二步-微调(SFT)。利用人工标注的数据做微调,注意这里的微调并非针对特定的下游任务。而是针对预训练过程中部分数据存在的偏见等问题,由人类标注一些符合人类伦理道德、喜好的数据对其进行纠正。并且这里并不需要太多的人工标注的数据,是因为模型本身预训练已经知道了正确答案,只是受到了脏数据的影响不一定能够生成符合人类需要的数据。因此只需要一部分数据来告诉那些数据符合人类偏好即可。

第三步-训练打分模型(RM)。这里分2步,第一步因为ChatGPT开放使用所以可以收集用户与ChatGPT之间的对话数据。然后由人工对这些对话数据进行打分得到一个新的数据集。然后利用这个数据集来训练一个打分模型RM,它可以对ChatGPT不同的回复进行打分,用于模拟人类的打分。

第四步-强化学习(RLFM,Reinforcement Learning from Human Feedback) 。这里是利用强化学习PPO算法,通过前面RM模型给出的分数来调整ChatGPT的参数,使得其得分更高,也就是ChatGPT的回答更符合人类的需求。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决下载huggingface模型权重无法下载的问题

文章目录 方法一(推荐)方法二方法三依然存在的问题 由于某些原因,huggingface的访问速度奇慢无比,对于一些模型(比如大语言模型LLM)的权重文件动辄几十上百G,如果用默认下载方式,很可能中断,这里推荐几种方式。 方法一…

论文自己改过后怎么降重 papergpt

大家好,今天来聊聊论文自己改过后怎么降重,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 论文自己改过后如何降重 在论文修改过程中,我们往往会对…

最新AI绘画Midjourney绘画提示词Prompt教程

一、Midjourney绘画工具 SparkAi【无需魔法使用】: sparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的…

VR云游打造沉浸式文旅新体验,延伸智慧文旅新业态

从“跃然纸上”到“映入眼帘”,随着国家数字化战略的深入实施,文旅产业的数字化转型正在不断加快,“沉浸式”逐渐成为了文旅消费新热点。VR技术与文旅产业相融合,新产品、新模式、新业态不断涌现,文旅资源逐渐“活”起…

ACT、NAT、NATPT和EASY-IP

目录 一、ACL 1.ACL 2.ACL的两种应用匹配机制 3.ACL的基本类型 4.ACL命令操作 5.ACL实验: 4.ACL的应用原则: 5.匹配原则: 二、NAT 1.NAT的原理及作用: 2.NAT分类 3.NAT配置 三、EASY-ip实验 四、NATPT 五、通配符 …

Nginx七层代理,四层代理 + Tomcat多实例部署

目录 1.tomcat多实例部署 准备两台虚拟机 进入pc1 pc2同时安装jdk 进入pc1 pc2安装tomcat PC1配置(192.168.88.50) 安装tomcat多实例 tomcat2中修改端口 启动tomcat1 tomcat2 分别在三个tomcat服务上部署jsp的动态页面 2.nginx的七层代理&…

使用opencv的Canny算子实现图像边缘检测

1 边缘检测介绍 图像边缘检测技术是图像处理和计算机视觉等领域最基本的问题,也是经典的技术难题之一。如何快速、精确地提取图像边缘信息,一直是国内外的研究热点,同时边缘的检测也是图像处理中的一个难题。早期的经典算法包括边缘算子方法…

使用set和emit在uni-app中实现响应式属性和自定义事件

在uni-app中,我们经常需要动态设置响应式属性,并且通过自定义事件来实现组件间的通信。这时,我们可以使用set和emit来轻松实现这些功能。 使用$set动态设置响应式属性 在Vue中,我们可以使用来动态设置响应式属性。在uniapp中使用…

java基础知识④:设计模式

目录 一、设计模式 1️⃣创建型设计模式(常用:单例、工厂、抽象工厂) 2️⃣结构型设计模式(常用:适配器、装饰者、外观、代理) 3️⃣行为型设计模式(常用:观察者、策略、模板方法、命…

如何使用ArcGIS Pro裁剪影像

对影像进行裁剪是一项比较常规的操作,因为到手的影像可能是多种范围,需要根据自己需求进行裁剪,这里为大家介绍一下ArcGIS Pro中裁剪的方法,希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的影像和行政区…

Springboot的火车票订票系统(有报告)。Javaee项目,springboot项目。

演示视频: Springboot的火车票订票系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&#…

Spring Boot整合Sharding-JDBC实现数据脱敏

目录 背景ShardingSphere脱敏规则sharding-jdbc数据脱敏数据脱敏配置数据分片 数据脱敏配置 背景 对互联网公司、传统行业来说,数据安全一直是极为重视和敏感的话题。数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护…

【Avue】点击新增再点击表单得radio选项出现新表单,且编辑页面关不掉新表单处理方法

一、问题描述 1、点击新增 2、 点击radio选择值 1、点击否得时候没反应 2、点击是得时候出现新表单 2.1、旧代码 {label: 是否危险源,prop: isBigdanger,searchLabelWidth: 120,overHidden: true,span: 24,rules: [{required: true,message: 请选择是否重大危险源,trigger: bl…

Mapreduce小试牛刀(2)--java api

1.同hdfs 的java api,我们首先要在IDE中建立一个maven项目 pom.xml中配置如下&#xff1a; <dependencies><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-mapreduce-client-common</artifactId><version>3.…

磁盘坏道扫描工具 Macrorit Disk Scanner v6.7.0 中文免费版 -供大家学习研究参考

非常方便实用的磁盘坏道修复软件。Wipe Bad Disk功能强大好用&#xff0c;通过特殊的算法来强制将硬盘的坏道删除清空格式化&#xff0c;从而拯救因产生坏道而不敢继续使用的硬盘!要注意的是经过这块软件清空的硬盘数据基本上是不能被恢复的&#xff0c;所以操作前请一定要备份…

武林风云之linux组软raid0

小y可喜欢玩文明系列的游戏了&#xff0c;因为小y也一直喜欢造轮子&#xff0c;属于自己的轮子。 每次小y听到”要向雄鹰一样&#xff0c;定要遨游于天际。”感觉自己给自己打了一针强心剂&#xff0c;要求自己拼搏进取。 众所周知&#xff0c;文明是个原生的linux游戏&#xf…

Linux 系统 yum 安装 jdk1.8

1、首先检查是否存在jdk java -version上图这样就是系统没有找到已经安装的jdk 2.查看jdk版本列表 yum -y list java*执行此命令会显示所有版本 jdk 安装包 3、下载安装jdk 这里安装的是jdk1.8 yum install java-1.8.0-openjdk-devel.x86_64这里输入回车y继续安装 4、再次检…

学习Django从零开始之三

搭建虚拟python环境 搭建开发环境有多种方式&#xff0c;其中包括本地直接安装Python的可执行文件&#xff0c;使用virtualenv&#xff0c;以及使用Anaconda和Miniconda等工具。这些工具在创建Python虚拟环境方面各有特点。具体不同之处感兴趣的同学可以自行查阅相关资料。 简…

docker consul 容器的自动发现与注册

consul相关知识 什么是注册与发现 服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的&#xff0c;不保障高可用性&#xff0c;也不考虑服务的压力承载&#xff0c;服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构&#xff0c;起初的…

大创项目推荐 深度学习 opencv python 实现中国交通标志识别

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 &#x1f525; 优质…