ChatGPT是基于大型语言模型(LLM)的机器学习自然语言处理模型,不断优化并学习大量数据,来提升能力。
ChatGPT的发展历史
Generative Pre-training Transformer(GPT)模型于2018年由openAI作为GPT-1首次推出。这些模型持续发展,2019年发布GPT-2,2020年发布GPT-3,在2022年发布了InstructGPT和ChatGPT。在将人类反馈集成到系统之前,GPT模型的进化是由计算效率的提升推动的,这使得GPT-3能够接受比GPT-2多得多的数据训练,从而赋予它更多样化的知识库和执行更广泛任务的能力。
所有GPT模型都利用了transformer架构,这意味着它们有一个编码器来处理输入序列和一个解码器来生成输出序列。编码器和解码器都有一个多头自注意力机制,允许模型对序列的不同部分进行不同的加权以推断含义和上下文。此外,编码器利用掩码语言建模来理解单词之间的关系并产生更易于理解的响应。
驱动GPT的自注意力机制通过将标记,标记可以是文本片段、单词、句子或其他文本分组,转换为表示标记在输入序列中的重要性的向量来工作。
步骤1:模型为输入序列中的每个标记创建查询、键和值向量。
步骤2:通过取两个向量的点积来计算第一步中的查询向量与每个其他标记的键向量之间的相似度。
步骤3:通过将步骤2的输出输入softmax函数来生成归一化权重。
步骤4:通过将步骤3中生成的权重乘以每个标记的值向量,生成一个最终向量,表示标记在序列中的重要性。
GPT使用的“多头”注意机制是自我注意的演变。该模型不是执行一次步骤1-4,而是多次迭代此机制,每次生成查询、键和值向量的新线性投影。通过以这种方式扩展自注意力,该模型能够掌握输入数据中的子含义和更复杂的关系。
尽管GPT-3在自然语言处理方面取得了显着进步,但它在符合用户意图方面的能力有限。
ChatGPT是InstructGPT的衍生产品,它引入了一种新颖的方法,将人类反馈纳入训练过程,以更好地使模型输出与用户意图保持一致。
ChatGPT工作原理
ChatGPT的原理可以简化为以下三个步骤:
1.监督微调(SFT)模型
创建监督训练数据集来微调GPT-3模型,其中输入具有供模型学习的已知输出。输入或提示是从实际用户输入到Open API中收集的。然后,贴标签者对提示做出适当的回应,从而为每个输入创建一个已知的输出。然后使用这个新的监督数据集对GPT-3模型进行微调,以创建GPT-3.5,也称为SFT模型。
2.奖励模式
在训练SFT模型后,该模型会对用户提示生成更一致的响应。下一个改进以训练奖励模型的形式出现,其中模型输入是一系列提示和响应,输出是一个缩放值,称为奖励。需要奖励模型以利用强化学习,在强化学习中模型学习产生输出以最大化其奖励。
3.强化学习
在这一阶段,模型会收到随机提示并返回响应。响应是使用模型在2中学习的“策略”生成的。策略表示机器已经学会使用以实现其目标的策略;在这种情况下,最大化其奖励。然后奖励反馈到模型中以改进策略。