引言
本文旨在以浅显易懂的方式,向读者阐释大型语言模型(LLM)的工作原理。
我们首先看一下文档补全器模型的工作原理:
user prompt:
A banana is
model response:
an elongated, edible fruit
然后,文档生成器模型的工作原理如下:
user prompt:
I want to buy a new car
model response:
What kind of car do you want to buy?
了解上面两个模型的不同之处。
第一个模型是文档补全器,只会根据最有可能成为下一个字符的内容来补全提示。这是我们用一部分互联网数据训练的基础模型。
第二个模型是文档生成器,会根据提示问题生成更像人类的回答。这就是 ChatGPT 模型。
ChatGPT 模型是一种推理模型,能够根据提示问题生成响应。它与基础模型的区别在于增加了两个训练步骤:微调和从人类反馈中进行强化学习。
预训练:基础模型
这正是 AI 革命的核心,也是其神奇之处。训练模型的过程是向它提供大量数据,并让它从中学习。
如 GPT-3 论文所述,基础模型是在大量互联网数据上训练的。对于像你我这样的个人来说,这并不容易。它不仅需要获取数据,还需要大量的计算能力,比如 GPU 和 TPU。
但不用担心,我们仍然可以在自己的电脑上学习训练一个小型 GPT 模型。
LLM 训练的创新之处在于引入了 Transformer 架构,这使得模型能够在保留输入各部分之间关键上下文关系的同时,从海量数据中学习。
通过保持这些联系,模型可以基于提供的上下文有效推断新的见解,不论是单词、句子、段落,还是更多。凭借这一能力,LLM 训练为自然语言处理和生成任务开辟了新的可能性,使机器能够更好地理解和回应人类的交流。
以下是用于训练基础模型的 Transformer 架构示意图:
这是一个基于神经网络的模型训练,结合了一些旧的和新的技术,包括:标记化、嵌入、位置编码、前馈、归一化、 softmax 、线性变换,尤其是多头注意力机制。
这是你我都非常感兴趣的部分。我们想要明确了解该架构的理念以及具体的训练过程。因此,从下一篇文章开始,我们将深入探讨用于训练基础模型的论文、代码和数学原理。
微调:训练助手
微调是一种非常巧妙的技术实现。据我所知,OpenAI可能是首个采用这种方法的机构。其核心思想虽然简单,但执行起来非常高效:聘请人工标注员来构建大量的问答对话对(比如达到10万对)。接着,将这些对话对输入到模型中,让模型通过它们进行学习。
这个过程就是所谓的微调。想象一下,当模型经过这10万个对话样本的训练后,它将能够像人类一样进行回应!现在,让我们来审视一下这些经过标注的对话样本:
Human labeled Q&A
Q: What is your name?
A: My name is John.
Human labeled Q&A
Q: What's the capital of China?
A: China's capital is Beijing.
Human labeled Q&A
Q: Summarize the plot of the movie Titanic.
A: The movie Titanic is about a ship that sinks in the ocean.
通过向模型灌输这些回应风格,模型对相关上下文的回应概率将大幅提升,从而能够针对用户的提问给出回应。我们通过让模型在多样化的对话风格中进行训练,提高了它对用户提示给出恰当且相关回答的可能性。
这就是语言模型能够表现得如此聪明且接近人类的原因;它们通过学习模仿现实对话的节奏和模式,能够令人信服地与用户进行互动对话。
下面是一个图表,展示了从基础模型的预训练到助手模型微调过程中的一些关键亮点:
RLHF:根据人类反馈进行强化学习
2022 年 1 月,OpenAI 发表了他们关于对齐语言模型以遵循指令的作品。在他们的博客文章中,他们描述了如何根据人类反馈进一步微调模型:
这个问题稍显复杂。核心思想在于让模型通过人类的反馈进行学习。不同于直接提供大约10万个预标记的问答对,我们收集用户提出的问题和模型给出的回答,然后由人类对这些回答进行排序。将这些经过排序的对话作为最理想的问答样本,再次输入模型,让模型学习这些样本以提升其整体性能。
OpenAI在其博客中介绍了这一过程:
为了使我们的模型更加安全、更有帮助、更符合预期,我们采用了一种称为人类反馈强化学习(RLHF)的技术。我们的客户通过API提交提示后,我们的标注者会展示出期望的模型行为,并对我们模型生成的多个回答进行排序。然后,我们利用这些数据对GPT-3进行微调。
以下是一个基础模型与经过微调/RLHF处理后的模型响应的对比示例:
你可以看到,没有fine-tune和RLHF,模型只是一个文档补全器。
Prompt 工程
尽管采用了微调和人类反馈强化学习(RLHF),模型有时仍需额外辅助才能生成我们期望的回答。这正是提示工程大显身手的地方。
简单来说,我们可以通过精心构思提示来引导模型给出我们想要的答案,有时这甚至可以在不进行微调的情况下实现。
如果你不想深入数学和编程的复杂性,那么专注于提示工程是个不错的选择,因为它仅通过更巧妙地设计提示,就能让大型语言模型(LLM)发挥出最佳性能。
现在,让我们通过一个实例来进一步了解:
prompt: The sky is
output: blue.
prompt: Complete the sentence:The sky is
output: blue during the day and dark at night.
精心设计的Prompt能够引导模型完成诸如解决数学问题或概括文本等复杂工作。因此,Prompt工程在大型语言模型(LLM)的生态系统中发挥着至关重要的作用
总结
你已经耐心阅读到这里,我确信要完全理解这些信息需要花费一些时间,尤其是对于那些新接触大型语言模型(LLM)领域的读者。