人人看得懂的ChatGPT技能原了解析

编者按:自ChatGPT问世以来,咱们在热切挖掘其丰富运用的一起,也在孜孜探求其背面的作业原理。

今天咱们为大家带来的文章,浅显易懂地阐释了ChatGPT背面的技能原理,没有NLP或算法经历的小伙伴,也能够轻松了解ChatGPT是怎么作业的。

以下是译文,Enjoy!

作者|Molly Ruby

编译| 岳扬

人人看得懂的ChatGPT技术原理解析

这是对支撑ChatGPT作业的机器学习模型的一段简略的介绍:以大型言语模型为根底,然后深化研究使GPT-3能够被练习的自注意力机制,再从人类的反应中进行强化学习,这便是使ChatGPT与众不同的新技能。

大型言语模型 Large Language Models

ChatGPT是一种机器学习自然言语处理模型的扩展,称为大言语模型(LLMs)。LLMs能够读取学习大量文本数据,并揣度文本中单词之间的联系。跟着核算才能的前进,大言语模型在曩昔几年中得到不断发展。跟着输入数据集和参数空间(parameter space)的增加,LLMs的才能也会随之增加。

言语模型最基本的练习触及猜测词单词序列中的单词。在一般状况下,这样就能够观察到next-token-prediction(模型被给定一个词序列作为输入,并被要求猜测序列中的下一个词)和masked-language-modeling(其输入语句中的一些词被替换为特别 token,例如[MASK],模型被要求猜测应该插入到 [MASK] 方位的正确的词)。

人人看得懂的ChatGPT技术原理解析

作者任意罗列的关于next-token-prediction和masked-language-modeling的一个比如

在这种基本的序列建模技能中,通常是以长短期记忆网络(LSTM)模型来布置的,模型依据语境,用核算意义上最有可能的词来填补空缺的词组。这种序列建模结构首要有两种约束:

1. 这种模型不能让某些词比其他词的权重更高。在上述比如中,虽然‘reading’可能最常与‘hates’联络在一起。但在数据库中,‘Jacob’可能是一个酷爱阅览的阅览者,以至于模型应该给‘Jacob’更多的权重而不是‘reading’,并挑选‘love’而不是‘hates’。

2. 输入的数据都是独登时和按次序进行处理的,而不是作为一个整体语料库进行处理。这意味着,当LSTM被练习时,上下文(context)的窗口是固定的,只扩展到序列中几个进程的单个输入之外。这就会约束单词之间联系的复杂性以及能够导出的意义。

在2017年,为了应对这个问题,Google Brain的一个团队推出了transformers。与LSTMs不同,transformers能够一起处理一切输入数据。运用自注意力机制(self-attention mechanism),该模型能够依据言语序列的任何方位给输入数据的不同部分赋予不同的权重。这一特性让LLMs具有更大的成长空间,并能够处理更大的数据集。

GPT和自注意力 GPT and Self-Attention

Generative Pre-training Transformer(GPT)模型在2018年初次由openAI推出,其名为GPT-1。随后在2019年推出了GPT-2、2020年推出了GPT-3以及最近在2022年的InstructGPT和ChatGPT。在将人类的反应整合到体系中之前,GPT模型演进的最大前进是由核算效率方面的成就推动的,这使得GPT-3能够在比GPT-2多得多的数据上进行练习,使其拥有更多样化的知识库和执行更多样任务的才能。

人人看得懂的ChatGPT技术原理解析
GPT-2(左)和GPT-3(右)的比较,该图由作者制作

一切的GPT模型都运用了 Transformer 架构,这意味着它们有一个编码器来处理输入序列,一个解码器来生成输出序列。编码器和解码器都有多头自注意力机制,允许模型对序列的各个部分分配有差异的权重,以揣度词义(meaning)和语境(context)。此外,编码器运用masked-language-modeling来了解单词之间的联系,并产生更简略了解的回应。

驱动GPT的自注意力机制是经过将tokens(文本片段,能够是一个词、一个语句或其他文本组)转换为代表该tokens在输入序列中的重要性的向量。为了做到这一点,该模型:

1. 为输入序列中的每个token创立一个query、key和value向量。

2. 经过取两个向量的点积,核算进程1中的query向量与其他每个token的key向量之间的相似性。

3. 经过将第2步的输出输入一个softmax函数[1],生成归一化权重。

4. 经过将进程3中产生的权重与每个token的value向量相乘,产生一个final向量,代表该token在序列中的重要程度。

GPT运用的“多头”注意力机制是自注意力的进化产物。模型不是一次性执行进程1-4,而是并行迭代这种机制几回,每次生成query、key和value向量的新线性投影(linear projection)。经过以这种办法扩展自注意力(Self-Attention),模型能够捉住输入数据中的子意义和更复杂的联系。

人人看得懂的ChatGPT技术原理解析
作者截取的关于ChatGPT回应的图片

虽然GPT-3在自然言语处理方面取得了显著地前进,但它了解用户目的的才能有限。例如,GPT-3可能会产生以下这些状况的输出:

●缺少协助性意味着他们不遵从用户的明确指示。

●包括反映不存在或不正确事实的内容。

●模型缺少可解释性使得人类很难了解模型是怎么做出特定决议或猜测的。

●包括有害或冒犯性的、有毒或有偏见的内容,并传播虚伪信息。

ChatGPT中引入了立异性的练习办法来解决惯例LLMs存在的一些固有问题。

ChatGPT

ChatGPT是InstructGPT的衍生产品,它引入了一种新的办法,将人类反应纳入练习进程中,使模型的输出与用户的目的更好地结合。来自人类反应的强化学习(RLHF)在openAI的2022年论文《Training language models to follow instructions with human feedback》中进行了深化描绘,在下文咱们将进行简略的介绍。

第一步:监督微调(SFT)模型

第一个开发进程触及微调GPT-3模型,先是需求雇佣40个承包商创立一个有监督的练习数据集,其中的输入有一个已知的输出供模型学习。输入或提示(prompts)是从实际用户输入到 Open API中收集的。然后标示人员依据提示(prompts)写一个适当的回复,从而为每个输入创立一个已知的输出。然后运用这个有监督的新数据集对GPT-3模型进行微调,从而创立GPT-3.5,也称为SFT模型。

为了最大化提示(prompts)数据集的多样性,任何给定的用户ID只能有200个提示(prompts),而且任何同享长公共前缀的提示(prompts)都被删除了。而且一切包括个人辨认信息(PII)的提示(prompts)都被删除了。

在汇总来自OpenAI API的提示(prompts)后,标示师需求创立示例提示(prompts)以填写只要最少真实样本数据的类别。这些类别包括:

●简略提示(prompts):任意问询。

●小样本提示(prompts):包括多个查询/呼应对的指令。

●根据用户的提示(prompts):向OpenAI API恳求的特定用例。

在生成回应内容时,要求标示者尽最大努力揣度用户的指令是什么。下面供给了提示(prompts)恳求回应信息的三种首要办法:

●直接恳求:“告诉我……”

●小样本(Few-shot)恳求:给定这两个故事的比如,再写一个关于同一主题的故事。

●继续恳求:给定一个故事的开始,完结它。

来自OpenAI API的提示(prompts)和标示员输入的提示(prompts)汇总产生了13,000个输入/输出样本,可用于监督模型。

人人看得懂的ChatGPT技术原理解析

图片来自论文 Training language models to follow instructions with human feedback OpenAI et al., 2022 arxiv.org/pdf/2203.02…. Additional context added in red (right) by the author.

第二步:奖赏模型 Reward Model

在第一步中练习完SFT模型后,模型能够对用户提示词(prompts)进行更好的匹配呼应。下一个改善是练习奖赏模型的方式,其中模型输入是一系列提示(prompts)和呼应(responses),输出是一个缩放值,称为奖赏(reward)。为了运用强化学习(Reinforcement Learning),奖赏模型是必需的,在强化学习中模型会学习怎么产生输出以最大化其奖赏(见第三步)。

为了练习奖赏模型,为单个输入提示词(input prompt)供给4到9个SFT模型输出。他们被要求对这些输出从最佳到最差进行排名,得到如下的输出排名组合。

人人看得懂的ChatGPT技术原理解析

回应的排序组合示例。由作者生成。

将每个组合作为一个独自的数据点纳入模型,会导致过拟合(无法揣度出所见数据之外的内容)。为了解决这个问题,咱们建立了一个模型,把每组排名作为一个独自的数据点。

人人看得懂的ChatGPT技术原理解析

图片来自Training language models to follow instructions with human feedback OpenAI et al., 2022 arxiv.org/pdf/2203.02…. 赤色文字由作者标示增加。

第三步:强化学习模型

在最终阶段,模型会出现一个随机的提示词(prompt),并回来一个回应(response)。回应(response)是运用模型在第二步学到的“战略”产生的。产生了这个“战略”代表了机器已经学会用来完成其方针的战略——在这种状况下,便是将其奖赏(reward)最大化。根据第二步开发奖赏模型,然后为提示(prompt)和呼应(response)对确认一个缩放奖赏值,然后将奖赏反应到模型中以演化战略。

人人看得懂的ChatGPT技术原理解析

图片来自Training language models to follow instructions with human feedback OpenAI et al., 2022 arxiv.org/pdf/2203.02…. 赤色文字由作者标示增加。

该进程的第二、三步能够重复进行,虽然这并没有得到广泛实践证明。

人人看得懂的ChatGPT技术原理解析

作者截取的关于ChatGPT回应的图片

模型评价

模型评价是经过运用练习期间留出的未用于模型练习的测验集来执行的。在测验集上进行一系列评价,以确认模型是否比其前身GPT-3更好地匹配。

●实用性:即模型推理和遵从用户指令的才能。标示人员在853%的时间里更喜爱InstructGPT的输出。

●真实性:即模型的“错觉”倾向。当运用TruthfulQA数据集进行评价时,PPO模型产生的输出表现出真实性和信息量略有增加。

●无害性:即模型避免输出不当、贬损和诽谤内容的才能。能够运用RealToxityPrompts数据集测验无害性。该测验需求分别在以下三种状况下进行:

1. 指示模型供给具有尊重的回应(responses):导致“有毒”回应(responses)显著削减。

2. 指示模型供给一般的回应(responses):毒性没有明显变化。

3. 指示模型供给“有毒”的回应(responses):回应(responses)实际上比GPT-3模型毒性更大。

有关创立ChatGPT和InstructGPT所用办法的更多信息,请阅览OpenAI Training language models to follow instructions with human feedback, 2022 arxiv.org/pdf/2203.02…

人人看得懂的ChatGPT技术原理解析
作者截取的关于ChatGPT回应的图片

参考文献

1. deepai.org/machine-lea…

2. openai.com/blog/chatgp…

3. arxiv.org/pdf/2203.02…

4. www.assemblyai.com/blog/how-ch…

5. towardsdatascience.com/proximal-po…

本文经原作者授权,由Baihai IDP编译。如需转载译文,请联络获取授权。

原文链接:towardsdatascience.com/how-chatgpt…

本文正在参加技能视角深化 ChatGPT 征文活动