李亚南 发表于 2023-3-27 17:16:47

ChatGPT工作原理与技术细节 自ChatGPT发布以来,ChatGPT的能力一直在刷新

ChatGPT工作原理与技术细节自ChatGPT发布以来,ChatGPT的能力一直在刷新大家对人工智能的认知,但 ChatGPT究竟是如何工作的呢?虽然其内部运作的细节尚未公布,但我们可以从最近的研究中拼凑出它的工作原理。  ChatGPT 的工作原理ChatGPT 是 OpenAI 的最新语言模型,比其前身 GPT-3 有了重大改进。与许多大型语言模型类似,ChatGPT 能够为不同任务生成多种样式的文本,且具有更高的精确度、细节和连贯性。它代表了 OpenAI 大型语言模型系列的下一代产品,其设计非常注重交互式对话。 通过结合使用监督学习和强化学习来微调学习ChatGPT,其中强化学习是使得 ChatG...自ChatGPT发布以来,ChatGPT的能力一直在刷新大家对人工智能的认知,但 ChatGPT究竟是如何工作的呢?虽然其内部运作的细节尚未公布,但我们可以从最近的研究中拼凑出它的工作原理。  ChatGPT 的工作原理ChatGPT 是 OpenAI 的最新语言模型,比其前身 GPT-3 有了重大改进。与许多大型语言模型类似,ChatGPT 能够为不同任务生成多种样式的文本,且具有更高的精确度、细节和连贯性。它代表了 OpenAI 大型语言模型系列的下一代产品,其设计非常注重交互式对话。 通过结合使用监督学习和强化学习来微调学习ChatGPT,其中强化学习是使得 ChatGPT 独一无二的关键。创作者使用一种称为人类反馈强化学习 (RLHF) 的特殊技术,该技术在训练循环中使用人类反馈来最大限度地减少有害、不真实和/或有偏见的输出。 在了解 RLHF 的工作原理和 ChatGPT 如何使用 RLHF 来克服这些问题之前,我们将研究ChatGPT 的前身 GPT-3 的局限性以及这些局限性如何源于其训练过程。 大型语言模型中的"准确性(alignment)与精确度(capability)" "alignment vs capability"可以被认为是"准确性与精确度"的更抽象的类比 In the context of machine learning, the term capability refers to a model's ability to perform a specific task or set of tasks. A model's capability is typically evaluated by how well it is able to optimize its objective function, the mathematical expression that defines the goal of the model. For example, a model designed to predict stock market prices might have an objective function that measures the accuracy of the model's predictions. If the model is able to accurately predict the movement of stock prices over time, it would be considered to have a high level of capability for this task. 在机器学习中,术语 capability 是指模型执行特定任务或一组任务的能力。模型的 capability 通常通过优化其目标函数来评估,目标函数是定义模型目标的数学表达式。例如,设计用于预测股票市场价格的模型可能具有衡量模型预测准确性的目标函数。如果该模型能够准确预测股票价格随时间的变化,则可以认为它具有完成此任务的高水平能力。 另一方面,Alignment 关注的是我们实际希望模型做什么而不是训练它做什么。它问的问题是"目标函数是否符合我们的意图?并指模型的目标和行为与人类价值观和期望相一致的程度。举一个简单的具体例子,假设我们训练一个鸟类分类器将鸟类分类为"麻雀"或"知更鸟",我们使用 log loss(衡量模型预测概率分布与真实分布之间的差异)作为训练目标,即使我们的最终目标是高分类精度。该模型可能具有低对数损失,即模型的能力很高,但在测试集上的准确性很差。事实上,log loss与分类任务的准确性并不完全相关。这是一个misalignment的例子,模型能够优化训练目标,但与我们的最终目标不一致。 原始的GPT-3模型就存在"misaligned"问题大型语言模型(例如 GPT-3)根据来自互联网的大量文本数据进行训练,能够生成类似人类的文本,但它们可能并不总是产生与人类期望或理想值一致的输出。事实上,他们的目标函数是单词序列(或标记序列)的概率分布,使他们能够预测序列中的下一个单词是什么(下面有更多详细信息)。 然而,在实际应用中,这些模型旨在执行某种形式的有价值的认知工作,并且这些模型的训练方式与我们希望使用它们的方式之间存在明显差异。尽管从数学上讲,机器计算出的单词序列的统计分布可能是对语言建模的一种非常有效的选择,但作为人类,我们通过选择最适合给定情况的文本序列来生成语言,并使用我们的背景知识和常识来指导这个流程。当语言模型用于需要高度信任或可靠性的应用程序(例如对话系统或智能个人助理)时,这可能会成为一个问题。 虽然这些强大、复杂的模型在过去几年中经过大量数据训练变得非常有能力,但当用于生产系统以使人类生活更轻松时,它们往往无法发挥这种潜力。 Large Language Models 中的对齐问题通常表现为: 缺乏提示:不遵循用户的明确指示。 事实错误:模型编造了不存在的或错误的事实。 缺乏可解释性:人类很难理解模型是如何做出特定决定或预测的。 生成有偏见或的输出:在有偏见/有害数据上训练的语言模型可能会在其输出中重现该结果,即使没有明确指示这样做。 但是这个"alignment"问题具体是从哪里来的呢?语言模型的训练方式是否天生就容易出现错位? 语言模型训练策略如何产生错位misalignmentNext-token-prediction 和 masked-language-modeling 是用于训练语言模型的核心技术,例如 transformers 。在第一种方法中,模型被赋予一个单词序列(或"tokens",即单词的一部分)作为输入,并被要求预测序列中的下一个单词。例如,如果给模型输入句子 "The cat sat on the" 它可能会预测下一个词是"mat"、"chair"或"floor",因为在给定先前上下文的情况下,这些词出现的可能性很高;语言模型实际上能够估计给定先前序列的每个可能单词(在其词汇表中)的可能性。 掩码语言建模方法是下一个标记预测的变体,其中输入句子中的某些单词被替换为特殊标记,例如 。然后要求模型预测应该插入的正确单词来代替掩码。例如,如果模型给出了句子 "The sat on the" 作为输入,它可能会预测下一个单词为 "cat", "dog", 或者 "rabbit"。 这些目标函数的一个优点是它允许模型学习语言的统计结构,例如常见的单词序列和单词使用模式。这通常有助于模型生成更自然、更流畅的文本,是每个语言模型预训练阶段必不可少的步骤。然而,这些目标函数也会导致问题,主要是因为模型无法区分重要错误和不重要错误。举个很简单的例子,如果给模型输入句子: "The Roman Empire with the reign of Augustus." 它可能会预测 "began" 或*"ended"*,因为这两个词出现的可能性都很高(事实上,这两个句子在历史上都是正确的),即使第二个选择为完全不同的含义。更一般地说,这些训练策略可能会导致语言模型在某些更复杂的任务中出现偏差,因为仅经过训练以预测文本序列中的下一个词(或掩码词)的模型可能不一定会学习一些其含义的更高层次的表示。因此,该模型难以泛化到需要更深入地理解语言的任务或上下文。 研究人员和开发人员正在研究各种方法来解决大型语言模型中的对齐问题。 ChatGPT 基于原始的 GPT-3 模型,但通过使用人工反馈来指导学习过程,以减轻模型的错位问题为特定目标,进一步进行了训练。所使用的具体技术,称为从人类反馈中强化学习(RLHF)。 ChatGPT 代表了将此技术用于生产模型的第一个案例。 下面介绍ChatGPT是如何利用人类反馈来解决对齐问题的呢? Reinforcemen
非会员试读20%,加入社区后可阅读全文

一堆薄码 发表于 2023-3-27 17:19:22

太干了,看不懂

Aimmon 发表于 2023-3-27 17:27:16

定位美国?!是个大佬

ttyml 发表于 2023-3-27 21:49:23

让我差点以为这是,他GPT写的

临西 发表于 2023-3-29 15:01:13

看懂了一半,鉴定完毕,这是高手!
页: [1]
查看完整版本: ChatGPT工作原理与技术细节 自ChatGPT发布以来,ChatGPT的能力一直在刷新