ChatGPT到底是如何工作的?

发布于: 雪球转发:0回复:0喜欢:1

说明。此文是美国一名系统设计师发布的视频文字转录。原文是英文,我通过OpenAI的Whisper模型将音频文字转成英文,然后利用 GPT-3.5-Turbo翻译成中文。这是我见到的对大语言模型通俗解释最好的文章之一,所以特别分享给朋友们。

我们来看一下ChatGPT是如何工作的。我们从制作这个视频中学到了很多东西,希望你们也能学到一些。让我们开始吧。ChatGPT于2022年11月30日发布,仅用两个月就达到了1亿活跃用户。而Instagram则花费了两年半的时间才达成同样的里程碑。这是历史上增长最快的应用程序。那么ChatGPT是如何工作的呢?ChatGPT 的核心是一个LLM(大型语言模型),默认使用 GPT 3.5 模型,也可以使用最新的 GPT-4 模型,但目前还没有太多关于 GPT-4 的技术细节可供讨论。

LLM是一种基于神经网络模型类型,通过对海量文本数据进行训练以理解和生成人类语言,并利用训练数据来学习语言中单词之间的统计模式和关系,并预测后续单词逐个输出结果。

LLM往往根据其大小和包含参数数量进行表征,在神经网络中有96层、1750亿参数规模为最大规格。

该模型输入和输出由标记组织, 标记是单词或更准确地说部分单词数值表示形式, 使用数字代替单词因为它们可以更有效地处理。

GPT 3.5 是在大量的互联网数据上进行训练的,源数据包含5000亿个标记。换句话说,该模型是在数千亿单词上进行训练以预测给定输入标记序列的下一个标记。它能够生成结构良好、语法正确且与其所训练的互联网数据在语义上相似的文本。但如果没有适当引导,则该模型也可能生成不真实、有毒或反映有害情感的输出。

即使存在这种严重缺陷,该模型本身已经非常有用,但只能以一种非常结构化的方式使用,并可以通过精心设计的文本指令或 PROMs 来教授执行自然语言任务。这就是新领域 PROM 工程学问产生之处。

为了使模型更安全并具备类似于聊天机器人式问题和答案功能,还需要进一步微调模型成为 Chat GPT 版本。微调是将不完全符合人类价值观念的模型转变为 Chat GPT 可以使用的精调版本过程, 称作来自人类反馈强化学习(LLHF)。

OpenAI 解释了他们如何对该模型运行 LLHF 的方法,但对于非 ML 专业人士来说并不容易理解。让我们试着用一个类比来理解它。想象一下 GPT 3.5 是一位高技能的厨师,可以准备各种各样的菜肴。使用 LLHF 对 GPT 3.5 进行微调就像是提升这位厨师的技能,使得他做出来的菜更加美味。

最初,该模型通过大量食谱和烹饪技巧进行培训。然而,有时候这位厨师不知道如何满足特定客户要求。为了解决这个问题,我们从真实人员那里收集反馈以创建新数据集。

第一步是创建比较数据集。我们要求厨师根据客人的要求准备多道菜,并让人们根据口味和外观对这些菜进行排名。这有助于厨师了解哪些菜受到客户的青睐。接下来是奖励建模。厨师利用这个反馈创建一个奖励模型,类似于理解客户偏好的指南。奖励越高,菜品就越好。然后,我们使用PPO或近端策略优化来训练模型。在这个类比中,厨师按照奖励模型制作菜肴并练习技巧。他们使用称为近端策略优化的技术来提高自己的技能水平。这就像厨师将当前的菜肴与稍微不同版本进行比较,并根据奖励模型学习哪一个更好一样。该过程会重复多次,每次都会根据更新后的客户反馈改进自己的技能水平。随着每次迭代,厨师变得更擅长准备符合客户偏好的美食。

换句话说,在通过收集用户反馈、创建基于其偏好的奖励模型以及使用PPO迭代地改进模型性能的过程中,GPT 3.5被RLHF微调。这使得GPT 3.5能够生成更好的、针对特定用户请求量身定制的响应。

现在我们了解了该模型是如何训练和微调的,让我们来看看该模型在ChatGPT中如何用于回答提示。从概念上讲,它就像将提示输入到ChatGPT模型中并返回输出一样简单。但实际上,情况要复杂一些。首先,ChatGPT知道聊天会话的上下文。这是通过每次输入新提示时由ChatGPT UI向模型提供整个过去对话来完成的。这称为会话提示注入。这就是为什么ChatGPT似乎具有上下文感知能力。

其次,ChatGPT包括主要提示工程技术。这些指令片段在用户提示之前和之后注入以引导模型进行对话语气方面的处理,并且对用户不可见。

第三,在传递给审核API之前警告或阻止某些类型不安全内容可能也需要经过审核API生成结果才能返回给用户。

以上就是我们探索 ChatGpt 这个迷人世界所做出贡献背后涉及到大量工程设计与技术创新, 不断开启新的可能性并重塑我们之间交流方式。现在请系好安全带,享受这段旅程吧!