找回密码
 注册会员
查看: 171|回复: 1

ChatGPT 技术原理探究解析

[复制链接]
online_member 发表于 2023-2-22 07:16:12 | 显示全部楼层 |阅读模式
OpenAI,在美国成立的人工智能研究公司,微软投资与其合作,核心宗旨在于“实现安全的通用人工智能(AGI)”,使其有益于人类。OpenAI于2015年由一群科技领袖,包括山姆·阿尔特曼(Sam Altman)、彼得·泰尔(Peter Thiel)、里德·霍夫曼(Reid Hoffman)和埃隆·马斯克(Elon Musk)等人创办。
2018年自然语言处理(NLP)领域诞生两个绝代双骄的模型,BERT(Google)GPT(OpenAI),开启了NLP实际应用的爆发,国内大厂们看重了BERT模型,在此基础上衍生出不少新模型,基础结构相似。GPT采用一个词接着一个词的进行预测,比BERT要更难训练,而BERT关注的是上下文的语意理解。
2022年斯坦福AI指数已经指出NLP领域中出现偏见较大和所问非所答等问题,但是今天的ChatGPT已经基本解决这样的问题了,圈里流传这样一段话:万物皆可GPT,但是世界不仅仅是GPT,GPT其实也只是冰山一角,因为2022年每4天就有一个大型模型问世。
GPT系列发展简史

GPT是Generative Pre-Training的简称,生成式的预训练。2022年5月GPT-3模型每天产生450亿词,每小时生成100万本书,预计到2023年ChatGPT放开后,生成词量能达到2022年的百倍左右。
2018年GPT-1的损失函数就是预测下一个词,整体架构就是Transformer解码器,如下图所示。所有下游任务都需要微调再训练。

ChatGPT 技术原理探究解析543 / 作者:素身素 / 帖子ID:112606
GPT-1的模型架构如下图所示:

ChatGPT 技术原理探究解析226 / 作者:素身素 / 帖子ID:112606
2019年GPT-2提出以不变应万变的理论和Zero-Shot概念,下游任务不进行训练,也不进行微调,采用暗示原则,通过一些提示告诉模型需要完成什么任务,总体来说,模型更宏大了,需要再进行微调或者训练。另外GPT-2也提出了采样策略相关理论,提高回答的多样性,避免陷入重复循环。
2020年GPT-3训练的数据包罗万象,上通天文下知地理,面向人类编程,但是暴露出来的缺点就是模型可能太宽泛,答非所问。它提出3种核心的下游任务方式,Zero-Shot、One-Shot和Few-Shot。

  • Zero-Shot:该模型预测的答案只给出任务的自然语言描述。
  • One-Shot:除了任务描述之外,模型还看到一个任务示例。
  • Few-Shot:除了任务描述之外,模型还看到了一些任务示例。
网络参数结构:

ChatGPT 技术原理探究解析317 / 作者:素身素 / 帖子ID:112606
GPT系列从1到3,通通采用的是Transformer架构,可以说模型结构并没有创新性的设计。在微软的资金支持下:1750亿的参数,31个分工明确的人工,超强算力的计算机 (285,000个CPU,10,000个GPU) ,1200万美金的训练费用,45TB的训练数据(维基百科的全部数据只相当于其中的0.6% )。这种规模的模型是一般中小企业无法承受的,而个人花费巨金配置的单卡机器也就只能做做微调或者打打游戏了。甚至在训练GPT-3时出现了一个bug,OpenAl自己也没有资金重新训练了。

ChatGPT 技术原理探究解析209 / 作者:素身素 / 帖子ID:112606
ChatGPT

Optimizing Language Models for Dialogue,简称ChatGPT,优化的对话语言模型,它以对话的方式相互作用。对话格式使ChatGPT能够回答后续问题,承认它的存在。ChatGPT是InstructGPT的同级模型,它被训练成在提示时遵循指令并提供详细的响应。
ChatGPT在GPT-3模型上做了拓展,使我们看到了NLP的未来,它最大的应用价值可能就在于未来取代搜索引擎。另外ChatGPT未来将成为一个基础设施,所有跟数字技术相关的产业都需要接入,最后会变成一个底层的超级API。基于这一认知,现阶段大多数互联网和科技公司真正要争夺的应该是ChatGPT的应用场景。
ChatGPT在预训练模型的基础上加入了有监督学习、强化学习等理论,但ChatGPT在2023年2月13日节点之前并没有公布论文以及源码,实现原理部分描述很少,且看且信且理解
官方描述:
我们使用人类反馈强化学习(Reinforcement Learning from Human Feedback,RLHF)的方式来训练这个模型,使用与InstructGPT相同的方法,但在数据收集设置上略有不同。
我们使用监督 微调(Fine Tuning)训练了一个初始模型:Al训练员提供对话,他们在对话中玩两边的游戏--用户和AI助手。我们让训练员获得模型书面建议,以帮助他们撰写他们的回答。(有多少智能就有多少人工--人工标注)
为了建立强化学习的奖励模型,我们需要收集比较数据,这些数据包括两个或多个按质量排序的模型响应。为了收集这些数据,我们进行了人工智能训练员与chatbot的对话。我们随机选择了一个模型写的消息,抽样了几个替代完成,并让AI培训员对他们进行排名。利用这些奖励模型,我们可以使用最优策略优化对模型进行微调,我们对这个过程执行了几次迭代。
官方流程示意图:

ChatGPT 技术原理探究解析5 / 作者:素身素 / 帖子ID:112606
解析原理:
接下来我用自己的理解来描述下ChatGPT的原理,主要分为三部分。
第一部分中,我们使用监督学习的方式去对GPT进行一个微调,首先呢我们需要从数据库中采样一个prompt(一个问题),例如图中表达的,向一个6岁的孩子去解释强化学习是什么,然后prompt会给现实世界中的人来处理,这个人会针对这个问题给出一个答案,或者说一个回复,然后这样一个回复会一起放在GPT-3.5中进行一个微调。由于我们是一个监督学习,有确定的输入和输出,使用梯度下降就可以训练,但是这种方式是需要大量人工的,也就是会耗费大量的资源。
第二部分中,我们需要去学习到一个Reward Model(奖赏模型),它还是散播出一个prompt,然后会让第一部分中已经训练好的GPT-3.5给出若干个回答,图中是整体给出4个回答,这块对于人类反馈强化学习的理解可以认为我们先让人工智能先去做一些尝试,当他尝试出多个结果的时候,我们人类来选择多个结果中最好的那一个,或者对这些结果进行一个排序,而人工智能则可以通过我们的排序结果进行学习。回到例子中,例子表达是D比C好,C比A好,最后A比B好,然后模型会在四个回答中挑出2个,假设我们这里挑出了C和B,然后根据工作人员的排序给这两个回答打出标签,因为C的排序在B之前,所以C被打上 √ 标签,而B被打上 × 标签,最后会根据损失函数

ChatGPT 技术原理探究解析69 / 作者:素身素 / 帖子ID:112606
来训练一个奖赏模型,损失函数的本质就是让被打了√的回答尽可能高。通过这种方式,ChatGPT实现了使用用户给出的这种 偏好 关系来去训练奖赏模型,而这个偏好就体现为用户觉得C比B好。在这个例子中,排列组合的方式来说,模型最多可以挑出C42,也就是6种组合,用这6个组合分别去构造损失函数,然后对奖赏模型进行训练。
另外这个训练好的奖赏模型只是强化学习所使用的奖赏模型中的一部分,图中进行了公式展开。

ChatGPT 技术原理探究解析492 / 作者:素身素 / 帖子ID:112606
另一部分则是参与了强化学习的ChatGPT和它的原始版本,也就是GPT3.5的差距。我们并不希望这个差距太大,因为担心在训练的过程中,ChatGPT太过于放飞自我,学会了通过某种刁钻的方式取悦人类,而不是老老实实的针对人类提出的问题给出正确答案。同时呢,公式后面的一项可以被看作KL散度,而KL散度可以进行拆分,变成交叉熵减去熵的形式,这体现了强化学习中的思想,就是让策略的熵在允许的范围内尽可能的大,这是为了促进策略的探索。这个奖赏函数是针对X和Y而言的,X是我们提出的问题,Y是智能体给出的回答,但是我们又在之前的图中看到智能体是通过一个一个词来拼凑出整个回答的,上面的公式只能给出完整回答的奖赏,所以可以这么理解,在智能体在生成回答的过程中,对应的奖赏只在最终生成回答之后才给出的,在中间的过程是不给出奖赏的。
实际上,人类反馈强化学习就是为了解决我们无法对一个离散的训练进行求导的问题,而使用强化学习来解决这个问题,也不是ChatGPT所独创的,早在2016年,SeqGAN的作者就已经使用这样的方法了。
第三部分简单来说就是使用最优策略优化(PPO)对模型进行微调,然后对这个过程执行了几次迭代。大致的整体的训练逻辑图如下所示:

ChatGPT 技术原理探究解析195 / 作者:素身素 / 帖子ID:112606
思维观点探讨

深度学习领域获得了图灵奖的Yann LeCun教授,对 GPT系列的观点不太乐观,基于以下几点:

  • 数据驱动:GPT系列模型的能力取决于大量的训练数据,而不是技术本身。
  • 泛化能力:GPT系列模型的泛化能力不佳,在处理复杂任务时容易出错。
  • 缺乏理解:GPT系列模型缺乏对语言和世界的真实理解,不能像人类一样进行推理和思考。
  • 不符合人工智能的正确方向:真正的人工智能应该基于知识和概念,而不是大量的数据。

<hr/>声明
本博客属个人所有,不涉及商业目的。遵守中华人民共和国法律法规、中华民族基本道德和基本网络道德规范,尊重有节制的言论自由和意识形态自由,反对激进、破坏、低俗、广告、投机等不负责任的言行。所有转载的文章、图片仅用于说明性目的,被要求或认为适当时,将标注署名与来源。若不愿某一作品被转用,请及时通知本人。对于无版权或自由版权作品,本博客有权进行修改和传播,一旦涉及实质性修改,本博客将对修改后的作品享有相当的版权。二次转载者请再次确认原作者所给予的权力范围。
本博客所有原创作品,包括文字、资料、图片、网页格式,转载时请标注作者与来源。非经允许,不得用于赢利目的。本博客受中国知识产权、互联网法规和知识共享条例保护和保障,任何人不得进行旨在破坏或牟取私利的行为。
online_member 发表于 2023-2-22 07:16:48 | 显示全部楼层
国内开源地址,基于GPT-3二次开发,仅供学习体验(截至2023/2/14测试有效):AI EDU
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|UFO中文网

GMT+8, 2024-12-23 08:58

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表