详解GPT模型的前世今生

news2024/11/22 15:03:48

省流版:

GPT模型是一种基于神经网络的自回归语言模型。该模型使用了一个称为“Transformer”的架构,从而有效避免了传统的循环神经网络产生的梯度消失问题。从第一代GPT到现在的GPT4,没带都产生了不同的变化,其性能也越来越强大。

创作不易,内容很多,还请多多支持~文中部分内容来自GPT,他已经是我日常学习和工作中必不可少的工具。我了解到目前部分朋友还不清楚怎么开通和使用GPT,更多相关教程可以参见这篇博客:GPT4.0使用教程

相关论文链接:

GPT Improving Language Understanding by Generative Pre-Training. 2018. Paper

GPT-2 Language Models are Unsupervised Multitask Learners. 2018. Paper

GPT-3 "Language Models are Few-Shot Learners". NeurIPS 2020. Paper

InstructGPT: Training language models to follow instructions with human feedback, Arxiv 2022 Paper

GPT-4 "GPT-4 Technical Report". 2023. Paper

GPT影响 [2303.10130] GPTs are GPTs: An Early Look at the Labor Market Impact Potential of Large Language Models (arxiv.org)

GPT-1(GPT就是Generative Pre-Training):

《Improving Language Understanding by Generative Pre-Training》是2018年由OpenAI的研究团队发布的一篇论文。它介绍了一种名为“生成式预训练”(Generative Pre-Training,简称GPT)的新型语言模型,该模型通过在大规模语料库上进行训练,能够学习自然语言的模式和规律,从而实现更好的语言理解。

GPT模型是一种基于神经网络的自回归语言模型。该模型使用了一个称为“Transformer”的架构,这是一种新型的序列到序列模型,能够在处理长序列数据时避免传统的循环神经网络(Recurrent Neural Network,RNN)中存在的梯度消失问题。Transformer架构中的关键组件包括多头注意力机制和残差连接等。GPT使用了Transformer的解码器部分。为了预训练GPT模型,研究团队使用了两个大规模的语料库:BooksCorpus和英文维基百科。

以下是GPT1的主要技术特点:

基于Transformer架构:GPT1采用了Transformer架构,其中包括多头自注意力机制和前向神经网络。这使得GPT1可以在处理自然语言时捕捉长距离依赖性,并且具有高效的并行性。

预训练技术:GPT-1使用了一种称为“生成式预训练”(Generative Pre-Training,GPT)的技术。预训练分为两个阶段:预训练和微调(fine-tuning)。在预训练阶段,GPT-1使用了大量的无标注文本数据集,例如维基百科和网页文本等。通过最大化预训练数据集上的log-likelihood来训练模型参数。在微调阶段,GPT-1将预训练模型的参数用于特定的自然语言处理任务,如文本分类和问答系统等。

多层模型:GPT-1模型由多个堆叠的Transformer编码器组成,每个编码器包含多个注意力头和前向神经网络。这使得模型可以从多个抽象层次对文本进行建模,从而更好地捕捉文本的语义信息。

通过使用上述预训练任务,研究团队成功地训练出了一个大规模的语言模型GPT。该模型在多项语言理解任务上取得了显著的成果,包括阅读理解、情感分类和自然语言推理等任务。

通过微调GPT模型,可以针对特定的任务进行优化,例如文本生成、机器翻译和对话系统等。

总之,GPT1是一种基于Transformer架构的预训练语言模型,具有多层模型、生成式预训练技术和独特的解码技术等特点。它为后续的自然语言处理技术提供了一个新的标准,并为人工智能技术的发展提供了新的思路。

GPT-2(模型不需要人来指导,要的就是Unsupervise):

《Language Models are Unsupervised Multitask Learners》是一篇介绍GPT-2(Generative Pre-trained Transformer 2)模型的论文,它是2019年发表在OpenAI的博客上。

GPT-2主要解决的问题是如何利用大规模未标注的自然语言文本来预训练一个通用的语言模型,从而提高自然语言处理的能力。与GPT-1模型不同之处在于,GPT-2模型使用了更大的模型规模和更多的数据进行预训练,同时增加了许多新的预训练任务。

以下是GPT-2的主要技术特点(其实除了规模大一点,和GPT-1变化不大):

  1. 大规模预训练:GPT-2使用了一种无监督学习的方法,在大规模文本语料库上进行预训练。在这个阶段,模型从语料库中学习文本序列的统计规律和语义信息。
  2. 非监督多任务学习:GPT-2具有多任务学习的能力,通过训练模型来执行多个不同的自然语言处理任务,从而提高模型的鲁棒性和泛化能力。
  3. Transformer架构:GPT-2使用Transformer架构作为模型的基础,使得模型可以自适应地处理长距离依赖关系,从而更好地理解文本的语义。
  4. 无需人工标注数据:GPT-2在训练过程中不需要人工标注数据,可以自动从大规模文本语料库中学习自然语言的规律。
  5. 零样本学习:GPT-2具有零样本学习的能力,能够在只看到少量样本的情况下学习和执行新任务。

在成果方面,GPT-2模型在许多自然语言处理任务上取得了显著的成果,如问答系统、文本分类、命名实体识别、语言推理等。此外,GPT-2模型还在生成文本方面表现出色,能够生成具有逼真度的连贯文本,并且可以根据用户提供的开头和主题生成长篇文章。GPT-2模型被广泛认为是目前最强大的自然语言处理模型之一。

总之,GPT-2是一种无监督学习的多任务语言模型,具有大规模预训练、Transformer架构、多层结构、无需人工标注数据和零样本学习等特点。它在自然语言处理任务中取得了显著的成果,是自然语言处理领域中的一项重要进展。

GPT-3(模型变大了也变强了):

《Language Models are Few-Shot Learners》是一篇介绍GPT-3(Generative Pre-trained Transformer 3)模型的论文,它是2020年发表在OpenAI的博客上。

GPT-3主要解决的问题是如何使一个预训练的语言模型具有迁移学习的能力,即在只有少量标注数据的情况下,能够快速适应到新的任务中。

GPT-3模型采用了基于Transformer的架构,与前一代GPT-2类似(原话是:We use the same model and architecture as GPT-2),但是在模型规模、预训练数据量和使用的预训练任务上都有所增加。GPT-3的模型规模为1750亿个参数,是前一代GPT-2的100倍以上。

GPT它变大了,也变强了:

GPT-3使用了多个来源的数据,包括互联网上的文本、书籍、新闻和Wikipedia等。这些数据经过清洗和处理后,用于预训练和微调。

GPT-3在多个NLP任务上表现出了惊人的能力。在自然语言推理任务中,GPT-3模型的准确率达到了近80%,超过了当时最好的模型。在问答任务中,GPT-3模型只需要给出几个样例输入就能够完成对新问题的回答。

在生成文本任务中,GPT-3模型能够生成逼真、连贯、富有创造性的文本,甚至可以写出短故事、诗歌和新闻报道等。

此外,GPT-3还具有零样本学习的能力,即能够在没有任何样本数据的情况下进行学习和预测。例如,当给定一个新的任务和一些文字描述时,GPT-3能够基于文字描述自动推理出该任务的执行过程。

总之,GPT-3模型的能力已经超出了传统的自然语言处理模型,展示了无监督学习和迁移学习在自然语言处理领域的潜力和前景。

InstructGPT(还是要指导指导(Instruct)模型啊,要不总出幺蛾子):

《InstructGPT: Training language models to follow instructions with human feedback》是一篇由OpenAI团队发表的论文,于2021年在ICML上发布。

InstructGPT提出的背景:使语言模型更大并不意味着它们能够更好地遵循用户的意图,例如大型语言模型可以生成不真实、有毒或对用户毫无帮助的输出,即这些模型与其用户不一致。InstructGPT主要解决的问题是如何让语言模型能够更好地遵循人类给出的指令,并在实践中实现它们。此类模型可以广泛应用于自然语言生成、对话系统和语言翻译等领域。

InstructGPT模型在GPT-3基础上进一步强化。InstructGPT使用来自人类反馈的强化学习方案RLHF(reinforcement learning from human feedback),通过对大语言模型进行微调,从而能够在参数减少的情况下,实现优于GPT-3的功能。

OpenAI在GPT-3基础上根据人类反馈的强化学习方案RHLF,训练出奖励模型(rewardmodel)去训练学习模型(即:用AI训练AI的思路)

具体来说,该方法包括以下步骤:

定义指令:首先,定义指令集合,即人类需要模型生成的语言指令。这些指令通常是任务相关的,例如完成一项任务或回答某个问题。

生成指令:通过 InstructGPT 生成一个或多个备选指令,每个指令都对应一个相应的生成概率。这些备选指令会显示在屏幕上供人类评估。

人类反馈:人类对生成的备选指令进行评估,并提供一个奖励信号,表示该指令与预期指令的匹配程度。奖励信号可以表示为基于 BLEU、ROUGE 等指标的分数。

强化学习训练:根据人类反馈,训练模型以优化生成指令的质量。具体来说,使用强化学习算法,将生成的指令和人类反馈作为训练数据,迭代训练模型,以最大化生成指令的奖励信号。

该方法的优点是可以让语言模型更加有针对性地生成文本,以适应特定任务或场景,并且可以根据人类反馈进行动态调整,提高生成文本的质量和多样性。

InstructGPT的结果表明,在接受足够反馈的情况下,该模型可以在大多数指令数据集上达到95%以上的准确率,超过了其他常用模型。此外,InstructGPT还展示了其在指令执行、对话系统和游戏中的应用能力。例如,它可以在指令行动游戏中成功地执行多个连续的指令,如“向右移动、跳跃、开门”等,还可以在对话系统中通过遵循用户的指令来进行对话。

总之,InstructGPT通过将人类反馈作为训练和微调的关键组成部分,开发出了一种新的指令遵循框架,该框架可以提高语言模型的实际应用能力。这项工作为训练语言模型以更好地遵循指令提供了一个新的范例,未来可以在更多领域进行应用。

ChatGPT(来聊聊吧)

ChatGPT 是OpenAI在2022年基于 GPT-3 模型的升级版,主要针对对话任务进行了优化,增加了对话历史的输入和输出,以及对话策略的控制。ChatGPT 在对话任务上表现出色,可以与人类进行自然而流畅的对话。不过没有详细的论文说明了,技术细节大致、应该和InstructGPT差不多吧。

GPT-4(这个模型能自己考大学了):

GPT-4是OpenAI在2023年发布的最新一代模型。可以理解图片。GPT-4也是只有技术报告。

在随意谈话中,ChatGPT和GPT-4之间的区别是很微妙的。只有当任务的复杂性达到足够的阈值时,差异就出现了,GPT-4比ChatGPT更可靠、更有创意,并且能够处理更细微的指令。为了了解这两种模型之间的差异,OpenAI在各种基准测试和一些为人类设计的模拟考试上进行了测试,并且取得了非常好的结果。同时GPT-4有很强的多模态能力。在这个报告包括各种爆表的性能,例如:

在随意谈话中,GPT-3.5和GPT-4之间的区别是很微妙的。只有当任务的复杂性达到足够的阈值时,差异就出现了,GPT-4比GPT-3.5 更可靠、更有创意,并且能够处理更细微的指令。为了了解这两种模型之间的差异,OpenAI在各种基准测试和一些为人类设计的模拟考试上进行了测试。

GPT-4在各种考试中,有几个测试几乎接近了满分,如:USABO Semifinal 2020(美国生物奥林匹克竞赛),GRE Writing。以美国 BAR律师执照统考为例,GPT3.5可以达到 10%水平,GPT4可以达到90%水平。生物奥林匹克竞赛从GPT3.5的31%水平,直接飙升到 99%水平

此外,OpenAI 还在为机器学习模型设计的传统基准上评估了 GPT-4。从实验结果来看,GPT-4 大大优于现有的大型语言模型,以及大多数 SOTA 模型

英伟达AI科学家Jim Fan点评道:「GPT-4最强的其实就是推理能力。它在GRE、SAT、法学院考试上的得分,几乎和人类考生没有区别。也就是说,GPT-4可以全靠自己考进斯坦福了。」(Jim Fan自己就是斯坦福毕业的!)

GPT-4在不同语种上的能力表现:中文的准确度大概在 80% 左右,已经要优于GPT-3.5的英文表现了。

许多现有的 ML 基准测试都是用英语编写的。为了初步了解GPT-4其他语言的能力,研究人员使用 Azure翻译将 MMLU 基准(一套涵盖57个主题的14000个多项选择题)翻译成多种语言。

GPT-4模型的一大重点是建立了一个可预测扩展的深度学习栈。因为对于像GPT-4这样的大型训练,进行广泛的特定模型调整是不可行的。因此,OpenAI团队开发了基础设施和优化,在多种规模下都有可预测的行为。为了验证这种可扩展性,研究人员提前准确地预测了GPT-4在内部代码库(不属于训练集)上的最终损失,方法是通过使用相同的方法训练的模型进行推断,但使用的计算量为1/10000。

GPT-4的规模报告里也没有提,不过可以从它Token的数量上大致推测一下:GPT-4最大的模型有32,768个Token,对比GPT-3.5( 4,096 个)及GPT-3 (2,049个)规模有很大提升。

GPT的影响

既然GPT这么厉害,那么对大家的工作会有多少影响呢?OpenAI发布了调研报告《GPTs are GPTs: An Early Look at the Labor Market Impact Potential of Large Language Models》针对GPT-4对于不同工作的影响进行了分析。下面给大家简要介绍以下它的分析方法及部分结论,大家可以看看自己的行业有多大影响。

文章开头,估计是为了吓唬读者一下,OpenAI又给大家亮了一下GPT-4在各种考试上横扫的成绩:

然后是分析方法和各种结论,摘要部分分享给大家。

分析方法

OpenAI的这篇产业报告(下称报告)主要针对美国的职业信息网络数据集O*NET进行了人工加机器的评测。报告里使用了来自该数据集里1016个职业的信息。其中每个职业又被细化为他们的详细职业活动描述和任务类型,共计2087个不同的职业活动描述和19265个不同的任务。报告主要根据O*NET数据集里的描述信息,使用人工和机器(GPT4)来对比判断不同职业受大模型的影响程度。

报告所基于的人工评测主要来自于几位作者以及OpenAI的InstructGPT里雇佣过的标注人群。标注方法主要是基于标注者的主观评判,将不同工作分为三个受影响等级:无影响,直接影响,和受可预见的大模型生态影响。其中直接影响指的是如果直接使用chatGPT可以将完成该工作的职业活动描述或任务的工作时间减少一半以上。受可预见的大模型生态影响指的是虽然直接使用chatGPT不会将工作任务所需时间减半。

部分结论

算法认为如果考虑到当前的大模型的能力和可能营造的生态来说,至少50%的工作有百分之五十以上的工作内容,会在引入AI大模型后缩减至少一半的工作时间。而人类对此的判断更为悲观,接近百分之六十。

现在chatGPT所掀起的风暴,相比于未来所可能得惊涛骇浪,仅仅是小儿科般的前兆。随着OpenAI在2023-03-24日官宣的大模型+工具的生态接口,大模型的能力将会极大提升,而受波及的职业及人口将极速增加。

报告里评测了受大模型所影响的职业和职业人口的相关关系,无论是人工评测还是GPT4模型评测,受影响的深浅程度与就业人口的多寡总体来说有联系,但影响不太直观。即无论该职业的就业人口多寡,在技术浪潮面前没有显著差异。

总体来看,薪酬更高的职业受大模型及其相关生态的影响更大。尽管低薪职业的方差较大(即存在受影响微乎其微的职业,也存在受大幅影响的职业,下面会解释何种职业受影响程度高或低)

所需能力与写作和编程相关的职业受到影响最大。其次是交流能力和主动倾听的能力。从现有的chatGPT所展现出的能力来看,需要写作相关能力的如营销文案策划,需要主动倾听能力的如心理咨询,需要交流能力的如客服等职业都会受到剧烈的冲击。而值得注意的是,需要编程相关的工作,其回归数值的大小远远大于其他能力的数值(程序员痛哭ing)

报告里细化讨论了不同学历,培训周期所对应的职业受影响程度的大小。结论依然是越高学历所受的冲击越大。其中需要人力从事直接体力劳动的职业(如餐饮,保洁等,普遍不需要太长的职业前培训和教育程度的工作)受该轮AI爆发的冲击极小。而相反,如律师,设计师等需要大量时间职业前培训和教育程度的职业反而受到了巨大的冲击。

如果从行业划分的话,所有与体力相关的行业,如制造业,农业,矿业受本轮AI浪潮影响最小。而与之相反的是金融证券,保险行业,出版行业则受到的影响最大。体力劳动行业,和部分中位数收入较低的职业,但所需技能集中在沟通写作类的群体如客服群体,其受影响程度截然不同。


结语

本文介绍了GPT1到GPT4的发展历程和特点,对于求职面试和拓宽视野都是非常有益的~

 创作不易,内容很多,还请多多支持~文中部分内容来自GPT,他已经是我日常学习和工作中必不可少的工具。我了解到目前部分朋友还不清楚怎么开通和使用GPT,更多相关教程可以参见这篇博客:GPT4.0使用教程     GPT4.0使用平台

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

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

相关文章

【Java扫盲篇】String、String Buffer和String Builder的区别

你在面试时,面试官让你讲讲String String Buffer String Builder的区别,你是否能流畅的、完整的叙述出他们三者的区别? ✍先说结论 相同点: 他们的底层都是由char数组实现的。不同点: String对象一旦创建,是不能修…

android安卓餐厅点餐课设

一、引言 随着移动互联网的快速发展,手机应用已经成为我们日常生活中不可或缺的一部分。餐饮行业也积极借助移动应用的力量,提供更便捷、高效的点餐服务。本文将介绍一个基于安卓系统开发的餐厅点餐APP的课程设计项目,探讨其设计理念、功能特…

PostgreSQL数据库如何新建登录用户?

在PostgreSQL数据库中,如何创建新的登录用户呢? 默认情况,PostgreSQL数据库的默认用户是:postgres ,如果我们需要创建一个新的低权限用户角色,应该如何操作?本章教程,简单介绍一下这…

JavaFX的安装和使用

JavaFX的安装 安装可以参考:IDEA安装JavaFx_idea2019 javafx 下载安装-CSDN博客 JavaFX的使用 在JavaFX中,类的成员函数和操作本身被模式化作为在目标类中的类,而参数和返回值被表示为属性。代表目标对象的属性名是“this”。代表返回值的…

【C++初阶】之类和对象(中)

【C初阶】之类和对象(中) ✍ 类的六个默认成员函数✍ 构造函数🏄 为什么需要构造函数🏄 默认构造函数🏄 为什么编译器能自动调用默认构造函数🏄 自己写的构造函数🏄 构造函数的特性 ✍ 拷贝构造…

经纬恒润RTaW-Pegase:车载网络通信建模与时间特性分析工具

▎RTaW简介 RTaW-Pegase是由法国国家信息与自动化研究所(INRIA)旗下的RTaW公司开发的产品。它主要用于构建和优化汽车、航空航天以及工业领域的通信网络,包括时间敏感网络(TSN)、CAN(FD,XL&…

【系统架构师】-第12章-信息系统架构

信息系统架构(ISA)是指对某一特定内容里的信息进行统筹、规划、设计、安排等一系列有机处理的活动。 为了更好地理解信息系统架构的定义, 特作如下说明: (1)架构是对系统的抽象,它通过描述元素、元素的外部可见属性及元素之间的关系来反映这种抽象。因此…

【QT入门】 Qt代码创建布局之水平布局、竖直布局详解

往期回顾: 【QT入门】 Qt实现自定义信号-CSDN博客 【QT入门】 Qt自定义信号后跨线程发送信号-CSDN博客 【QT入门】 Qt内存管理机制详解-CSDN博客 【QT入门】 Qt代码创建布局之水平布局、竖直布局详解 先看两个问题: 1、ui设计器设计界面很方便&#xf…

PyQT5学习--新建窗体模板

目录 1 Dialog 2 Main Window 3 Widget Dialog 模板,基于 QDialog 类的窗体,具有一般对话框的特性,如可以模态显示、具有返回值等。 Main Window 模板,基于 QMainWindow 类的窗体,具有主窗口的特性,窗口…

计算机网络基础——网络安全/ 网络通信介质

chapter3 网络安全与管理 1. 网络安全威胁 网络安全:目的就是要让网络入侵者进不了网络系统,及时强行攻入网络,也拿不走信息,改不了数据,看不懂信息。 事发后能审查追踪到破坏者,让破坏者跑不掉。 网络…

Composer常见错误解决

Composer 是 PHP 开发中常用的依赖管理工具,但在使用过程中可能会遇到各种错误。以下是一些常见的 Composer 错误以及相应的解决方法,希望能帮助你更好地解决这些问题。 Memory exhausted 解决方法: 增加内存限制,可以通过在命令…

基于随机森林与LSTM神经网络的住宅用电比较分析及预测 代码+论文 完整毕设

摘要 本文旨在探讨基于随机森林(Random Forest)与长短期记忆神经网络(Long Short-Term Memory, LSTM)的住宅用电比较分析及预测方法。随机森林是一种集成学习方法,通过构建多个决策树进行预测,具有较强的鲁…

掌握多线程之精髓:优雅地等待线程结果并继续后续操作

在当今这个信息爆炸的时代,多线程编程已成为高效处理并发任务的重要工具。然而,如何在多线程编程中优雅地等待线程结果并继续后续操作,却是一个让人头疼的问题。今天,我们就来探讨如何使用Executors.newFixedThreadPool和executor…

让IIS支持.NET Web Api PUT和DELETE请求

前言 有很长一段时间没有使用过IIS来托管应用了,今天用IIS来托管一个比较老的.NET Fx4.6的项目。发布到线上后居然一直调用不同本地却一直是正常的,关键是POST和GET请求都是正常的,只有PUT和DELETE请求是有问题的。经过一番思考忽然想起来了I…

如何在群晖NAS中创建FTP公网地址实现远程上传下载本地文件

文章目录 1. 群晖安装Cpolar2. 创建FTP公网地址3. 开启群晖FTP服务4. 群晖FTP远程连接5. 固定FTP公网地址6. 固定FTP地址连接 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂,风趣幽默,忍不住分…

基于STELLA系统动态模拟技术及在农业、生态及环境科学中的应用教程

原文链接:基于STELLA系统动态模拟技术及在农业、生态及环境科学中的应用教程http://基于STELLA系统动态模拟技术及在农业、生态及环境科学中的应用教程 前言 STELLA是一种用户友好的计算机软件。通过绘画出一个系统的形象图形,并给这个系统提供数学公式…

WEBSERVICE 大文件上传,断点续传分段

最新版本:6.5.40 在线代码:up6-asp-net: Web大文件上传-asp.net示例 - Gitee.com 视频教程:https://www.ixigua.com/7200367234802418187 NOSQL NOSQL无需任何配置可直接访问页面进行测试 SQL 使用IIS 大文件上传测试推荐使用IIS以获取更…

伦敦金实时行情交易需要了解的3个事实

在伦敦金市场中,我们要交易就要面对伦敦金实时行情。然而,在伦敦金实时行情交易中,有几个事实是我们不得不去了解的,下面我们就来讨论一下。 盈利的经历不等于盈利的能力。我们经常看到一些卖课的或者卖指标、卖策略的人会宣传自己…

大数据篇 一篇讲明白 Hadoop 生态的三大部件

大数据Hadoop 生态的三大部件的目录 往期热门专栏回顾前言1、HDFS2、Yarn3、Hive4、HBase4.1.特点4.2.存储 5、Spark及Spark Streaming关于作者 往期热门专栏回顾 专栏描述Java项目实战介绍Java组件安装、使用;手写框架等Aws服务器实战Aws L…

linux系统systemd使用

一、开机启动 所有支持systemd的服务,在安装后,会在/usr/lib/systemd/system中添加一个配置文件,如果需要让当前的服务在开机的时候自动启动,则需要执行以下命令,以firewalld为例 systemctl enable firewalld.servic…