文章目录
- 1.前言
- 2.初识ChatGPT
- 2.1.什么是ChatGPT
- 2.2.ChatGPT和其他模型对比具有的特性
- 3.ChatGPT技术演进历程
- 3.1.Transformer(转移学习)和基础模型
- 3.2.GPT-1:简化模型,使其更适合自然语言生成
- 3.2.1.什么是GPT-1
- 3.2.1.GPT-1的优势
- 3.3.GPT-2:支持多任务模型
- 3.3.1.GPT-2介绍
- 3.3.2.GPT-2的目标
- 3.3.3. GPT-2存在的瓶颈
- 3.4.GPT-3:图像生成领域的无监督学习
- 3.5.InstructGPT:在GPT-3基础上进一步强化
- 3.6.ChatGPT核心技术优势:提升了理解人类思维的准确性
- 4.总结
1.前言
最近ChatGPT真是火的不行啊,准备针对ChatGPT出一个系列,帮助大家更好的理解,今天我们就简单聊聊ChatGPT的底层技术支持以及演进历程。
2.初识ChatGPT
2.1.什么是ChatGPT
ChatGPT是由OpenAI团队研发创造, OpenAI是由创业家埃隆·马斯克、美国创业孵化器YCombinator总裁阿尔特曼、全球在线支付平台PayPal联合创始人彼得·蒂尔等人于2015年在旧金山创立的一家非盈利的AI研究公司,拥有多位硅谷重量级人物的资金支持,启动资金高达10亿美金;OpenAI的创立目标是与其它机构合作进行AI的相关研究,并开放研究成果以促进AI技术的发展。
GPT即Generative Pre-training Transformer,于2018年6月由OpenAI首次提出。是一种自然语言处理模型,使用多层变换器来预测下一个单词的概率分布,通过训练在大型文本语料库上学习到的语言模式来生成自然语言文本从 GPT-1 到 GPT-3 智能化程度不断提升,ChatGPT 的到来也是 GPT-4 正式推出之前的序章。
2.2.ChatGPT和其他模型对比具有的特性
- 更大的语料库: ChatGPT使用了更大的语料库,以更好地捕捉人类语言的复杂性。
- 更高的计算能力: ChatGPT使用了更高的计算资源,以获得更好的训练效果。
- 更加通用的预训练: ChatGPT的预训练是通用的, 因此它可以更好地适应各种不同的任务。
- 更高的准确性: ChatGPT的训练效果比以往的大语言模型更好,因此它的准确性更高。
- 更高的适应性: ChatGPT具有较高的适应性,可以根据不同的场景和任务进行微调,以提高其在特定领域的效果。
- 更强的自我学习能力: ChatGPT具有自我学习能力,可以在不断接触新语料的过程中持 续提高自己的性能。
3.ChatGPT技术演进历程
3.1.Transformer(转移学习)和基础模型
转移学习的思想是将从一项任务中学习到的“知识”(例如,图像中的对象识别)应用于另一项任务(例如,视频中的活动识别)。在深度学习中,预训练又是转移学习的主要方法:在替代任务上训练模型(通常只是达到目的的一种手段),然后通过微调来适应感兴趣的下游任务。 基础模型通过转移学习和规模得以实现,因此转移学习使基础模型成为可能。
另外一个点就是基础模型的规模化训练。大规模化使基础模型更强大,因而GPT模型得以形成
大规模需要三个要素:
- 计算机硬件的改进——例如,GPU吞吐量和内存在过去四年中增加了10倍;
- Transformer模型架构的开发,该架构利用硬件的并行性来训练比以前更具表现力的模型 ;以及
- 更多训练数据的可用性。
基于Transformer的序列建模方法现在应用于文本、图像、语音、表格数据、蛋白质序列、有机分子和强化学习等,这些例子的逐步形成使得使用一套统一的工具来开发各种模态的基础模型这种理念得以成熟。例如, GPT-3与GPT-2的15亿参数相比,GPT-3具有1750亿个参数,允许上下文学习,在上下文学习中,只需向下游任务提供提示,语言模型就可以适应下游有务, 这是产生的一种有兴属性。
Transformer摆脱了人工标注数据集的缺陷,模型在质量上更优、更易于并行化,所需训练时间明显更少
3.2.GPT-1:简化模型,使其更适合自然语言生成
3.2.1.什么是GPT-1
GPT-1模型基于Transformer解除了顺序关联和依赖性的前提,采用生成式模型方式,重点考虑了从原始文本中有效学习的能力,这对于减轻自然语言处理中对监督学习的依赖至关重要
GPT(Generative Pre-training Transformer)于2018年6月由OpenAI首次提出。 GPT模型考虑到在自然语言理解中有大量不同的任务,尽管大量的未标记文本语料库非常丰富,但用于学习这些特定任务的标记数据却很少,这使得经过区分训练的模型很难充分执行。 同时,大多数深度学习方法需要大量手动标记的数据,这限制了它们在许多缺少注释资源的领域的适用性。
在考虑以上局限性的前提下, GPT论文中证明,通过对未标记文本的不同语料库进行语言模型的生成性预训练 ,然后对每个特定任务 进行区分性微调,可以实现这些任务上的巨大收益。和之前方法不同,GPT在微调期间使用任务感知输入转换,以实现有效的传输,同时对模型架构的更改最小。
3.2.1.GPT-1的优势
GPT-1模型的核心手段是预训练,GPT相比于Transformer等 模型进行了显著简化,相比于Transformer,GPT训练了一个12层仅decoder的解码器 。相比于Google的BERT,GPT仅采用上文 预测单词。
注: ChatGPT的表现更贴近人类意图,部分因为一开始GPT是基于上文的预测,这更贴近人类的话语模式,因为人类言语无法基于将来的话来做分析。
3.3.GPT-2:支持多任务模型
3.3.1.GPT-2介绍
GPT-2在GPT-1的基础上进行诸多改进,实现执行任务多样性,开始学习在不需要明确监督的情况下执行数量惊人的任务。
在GPT-2阶段,OpenAI去掉了GPT-1阶段的有监督微调,成为无监督模型。大模型GPT-2是一个1.5B参数的Transformer,在其相关论文中它在8个测试语言建模数据集中的7个数据集上实现了当时最先进的结果。模型中,Transfomer堆叠至48层。 GPT-2的数据集增加到8 million的网页、大小40GB的文本。
机器学习系统通过使用大型数据集、高容量模型和监督学习的组合,在训练任务方 面表现出色,然而这些系统较为脆弱,对数据分布和任务规范的轻微变化非常敏感,因而使得AI表现更像狭义专家,并非通才。
3.3.2.GPT-2的目标
GPT-2转向更通用的系统,使其可以执行许多任务,最终无需为每个任务手动创建和标记训练数据集。
- 解决零次学习问题:零次学习问题就是针对AI在面对不认识的事物时,也能进行推理。
- 多任务模型的特点:跟传统ML需要专门的标注数据集不同(从而训练出专业AI), 多任务模型不采用专门AI手段,而是在海量数据喂养训练的基础上,适配任何任务形式。
GPT-2聚焦在无监督、 zero-shot(零次学习)上,然而GPT-2训练结果也有不达预期之处,所存在的问题也亟待优化。
3.3.3. GPT-2存在的瓶颈
在GPT-2阶段,尽管体系结构是任务无关的,但仍然需要任务特定的数据集和任务特定的微调:要在所需任务上实现强大的性能,通常需要对特定于该任务的数千到数十万个示例的数据集进行微调。
- 从实用的角度来看,每一项新任务都需要一个标记示例的大数据集,这限制了语言模型的适用性; 对于其中的许多任务,很难收集一个大型的监督训练数据集,特别是当每个新任务都必须重复该过程时。
- 预训练加微调范式中,可能在这种范式下实现的泛化可能很差 ,因为该模型过于特定于训练分布, 并且在其之外无法很好地泛化。微调模型在特定基准上的性能,即使名义上是人类水平,也可能夸大基础任务的实际性能。
- 因为人类学习大多数语言任务不需要 大型受监督的数据集,当前NLP技术 在概念上具有一定的局限性。
3.4.GPT-3:图像生成领域的无监督学习
GPT-3是一个具有1750亿个参数的自回归语言模型,比之前的任何非稀疏语言模型多10倍。对于所有任务,GPT-3都是在没有任何梯度更新或微调的情况下应用的,仅通过与模型的文本交互来指定任务和few-shot演示。
GPT-3在许多NLP数据集上都有很强的性能,包括翻译、问题解答和完形填空任务,以及一些需要动态推理或领域适应的任务,如解译单词、在句子中使用一个新单词或执行三位数算术。 GPT-3可以生成新闻文章样本,并且已很难将其与人类撰写的文章区分开来。
当前openAi开源得最新模型就位GPT3,Git地址为:https://github.com/openai/gpt-3
3.5.InstructGPT:在GPT-3基础上进一步强化
InstructGPT使用来自人类反馈的强化学习方案RLHF,通过对大语言模型进行微调,从而能够在参数减少的情况下,实现优于GPT-3的功能
InstructGPT提出的背景:使语言模型更大并不意味着它们能够更好地遵循用户的意图,例如大型语言模型可以生成不真实、有毒或对 用户毫无帮助的输出,即这些模型与其用户不一致。另外, GPT-3虽然选择了少样本学习和继续坚持了GPT-2的无监督学 习,但基于few-shot的效果,其稍逊于监督微调的方式。
基于以上背景,OpenAI在GPT-3基础上根据人类反馈的强化学习方案RHLF,训练出奖励模型去训练学习模型(即:用AI训练AI的思路)
InstructGPT的训练步骤为:对GPT-3监督微调——训练奖励模型——增强学习优化SFT(第二、第三步可以迭代循环多次)
3.6.ChatGPT核心技术优势:提升了理解人类思维的准确性
InstructGPT与ChatGPT属于相同代际的模型,ChatGPT只是在InstructGPT的基础上增加了Chat属性,并且开放了公众测试。ChatGPT提升了理解人类思维的准确性的原因在于利用了基于人类反馈数据的系统进行模型训练
注:根据官网介绍, GhatGPT也是基于InstructGPT构建,因而可以从InstructGPT来理解ChatGPT利用人类意图来增强模型效果
4.总结
机器学习(ML)中的计算历史分为三个时代:前深度学习时代、深度学习时代和大规模时代,在大规模时代,训练高级ML系统的需求快速增长,计算、数据和算法的进步是指导现代机器学习进步的三个基本因素。在2010年之前,训练计算的增长符合摩尔定律,大约每20个 月翻一番。自2010年代早期深度学习问世以来,训练计算的规模已经加快,大约每6个月翻一番。 2015年末,随着公 司开发大规模ML模型,训练计算需求增加10至100倍,出现了一种新趋势——训练高级ML系统的需求快速增长。
2015-2016年左右,出现了大规模模型的新趋势。这一新趋势始于2015年末的AlphaGo ,并持续至今,ChatGPT大模型架构也是机器学习发展到第三阶段的必然产物。