diff --git a/Book/1.理解大语言模型.md b/Book/1.理解大语言模型.md index cfc2d61..6dc5a1c 100644 --- a/Book/1.理解大语言模型.md +++ b/Book/1.理解大语言模型.md @@ -6,7 +6,7 @@ -[TOC] + 大型语言模型 (LLMs),如 OpenAI 的 ChatGPT,是近年来发展起来的深度神经网络模型。这些模型为自然语言处理 (NLP) 开辟了一个新时代。在大型语言模型出现之前,传统方法在电子邮件垃圾分类等分类任务中表现良好,但通常在需要复杂理解和生成能力的语言任务上表现不佳,例如解析详细指令、进行上下文分析,或生成连贯且符合上下文的原创文本。例如,早期的语言模型无法根据关键词列表撰写电子邮件,而这个任务对现代 LLMs 来说却非常简单。 @@ -34,7 +34,7 @@ LLMs 采用了一种称为 transformer 的架构(在第 1.4 节中将详细讨 由于 LLMs 能够生成文本,因此它们通常被称为一种生成式人工智能 (AI),常缩写为生成 AI 或 GenAI。如图 1.1 所示,人工智能涵盖了创造能执行类似人类智能任务的更广泛领域,包括理解语言、识别模式和做出决策,并包括机器学习和深度学习等子领域。 - + 用于实现人工智能的算法是机器学习领域的核心。机器学习具体涉及开发可以从数据中学习并基于数据做出预测或决策的算法,而不需要明确的编程。举例来说,垃圾邮件过滤器就是机器学习的一个实际应用。与其手动编写规则来识别垃圾邮件,不如将标记为垃圾邮件和合法邮件的电子邮件示例输入给机器学习算法。通过最小化训练数据集上的预测误差,模型能够学习识别垃圾邮件的模式和特征,从而将新邮件分类为垃圾邮件或合法邮件。 @@ -120,11 +120,7 @@ GPT 模型主要是为文本补全任务设计和训练的,但它们在能力 -``` -TRANSFORMERS 与 LLMS - -如今的 LLM 大部分是基于上一节提到的 Transformer 架构来实现。因此,在文献中,Transformers 和 LLMs 常常被视为同义词。然而,值得注意的是,并非所有的 Transformers 都是 LLM,因为它们也可以用于计算机视觉。同时,并非所有的 LLM 都是基于 Transformers 的,市场上也有一些基于递归和卷积架构的大语言模型。这些替代方法的主要目的是提高 LLM 的计算效率。不过,这些替代架构能否与基于 Transformer 的 LLM 的能力相竞争,以及它们是否会在实际中得到应用,还需要进一步观察。为了简单起见,本书将“LLM”一词用来指代类似于 GPT 的基于 Transformer 的 LLM。(感兴趣的读者可以在本章末尾的进一步阅读部分找到相关文献。) -``` +[^TRANSFORMERS 与 LLMS]: 如今的 LLM 大部分是基于上一节提到的 Transformer 架构来实现。因此,在文献中,Transformers 和 LLMs 常常被视为同义词。然而,值得注意的是,并非所有的 Transformers 都是 LLM,因为它们也可以用于计算机视觉。同时,并非所有的 LLM 都是基于 Transformers 的,市场上也有一些基于递归和卷积架构的大语言模型。这些替代方法的主要目的是提高 LLM 的计算效率。不过,这些替代架构能否与基于 Transformer 的 LLM 的能力相竞争,以及它们是否会在实际中得到应用,还需要进一步观察。为了简单起见,本书将“LLM”一词用来指代类似于 GPT 的基于 Transformer 的 LLM。(感兴趣的读者可以在本章末尾的进一步阅读部分找到相关文献。) @@ -156,11 +152,27 @@ GPT-3 论文的作者没有公开训练数据集,但有一个与其相当的 ## 1.6 深入剖析GPT架构 +在本章之前,我们提到了GPT类模型、GPT-3和ChatGPT。现在让我们更深入地了解通用的GPT架构。首先,GPT 是“生成预训练变换器”(Generative Pretrained Transformer)的缩写,最初是在以下论文中提出的: ++ 《通过生成预训练改善语言理解(2018)》是由 OpenAI 的 Radford 等人撰写的,链接:http://cdn.openai.com/researchcovers/language-unsupervised/language_understanding_paper.pdf -## - - +GPT-3 是该模型的增强版,具有更多参数,并在更大的数据集上进行训练。而在 ChatGPT 中提供的原始模型是通过在一个大型指令数据集上微调 GPT-3 而创建的,这一过程使用了 OpenAI 的 InstructGPT 论文中的方法,我们将在第 7 章“使用人类反馈进行微调以遵循指令”中详细介绍。如图 1.6 所示,这些模型在文本完成方面表现出色,并且还能够进行拼写纠正、分类和语言翻译等其他任务。考虑到 GPT 模型是在相对简单的下一个单词预测任务上进行预训练的,这一点确实非常惊人,如图 1.7 所示。 + + + +下一个单词预测任务是一种自我监督学习的方法,这是一种自我标注的形式。这意味着我们不需要专门收集训练数据的标签,而是可以利用数据本身的结构:我们可以把句子或文档中的下一个单词作为模型需要预测的标签。由于下一个单词预测任务允许我们“动态”生成标签,因此我们可以利用大量未标记的文本数据集来训练 LLM,这在第 1.5 节中也有讨论,即利用大型数据集。 + +与我们在 1.4 节讨论的原始 transformer 架构相比,通用 GPT 架构相对简单。实际上,它仅包含解码器部分,而没有编码器,如图 1.8 所示。由于像 GPT 这样的解码器模型是通过逐字预测生成文本,因此它们被视为一种自回归模型。自回归模型会将之前的输出作为未来预测的输入。因此,在 GPT 中,每个新词的选择都是基于之前的文本序列,这样可以提高生成文本的连贯性。 + +像 GPT-3 这样的架构明显大于原始的 transformer 模型。例如,原始的 transformer 将编码器和解码器块重复了六次,而 GPT-3 具有 96 层 transformer,总共有 1750 亿个参数。 + + + +GPT-3 于 2020 年推出,按照深度学习和大语言模型(LLM)开发的标准,如今看来,已经是很久以前了。然而,像 Meta 的 Llama 模型这样的最新架构依然基于相同的基本概念,仅做了些许修改。因此,理解 GPT 的重要性依旧不减。本书将专注于实现 GPT 背后的核心架构,并提供有关其他 LLM 所采用的特定调整的参考。 + +最后,值得注意的是,原始的 transformer 模型由编码器和解码器块组成,专门为语言翻译设计,但 GPT 模型虽然架构更大且仅包含解码器,主要用于下一个词预测,但也具备执行翻译任务的能力。这一能力最初让研究人员感到意外,因为它出现在一个主要针对下一个词预测任务的模型中,而这个任务并没有专门针对翻译。 + +模型能够执行未明确训练的任务被称为“涌现行为”。这种能力不是通过明确的训练传授的,而是模型接触大量多语言数据和多样化上下文后自然而然涌现的结果。GPT 模型能够“学习”不同语言之间的翻译模式,并执行翻译任务,尽管它们并没有专门针对这些任务进行训练,这展示了这些大规模生成语言模型的优势和能力。我们可以在不需要为每个任务使用不同模型的情况下,完成多种任务。 diff --git a/Image/figure1.7.png b/Image/figure1.7.png new file mode 100644 index 0000000..721d470 Binary files /dev/null and b/Image/figure1.7.png differ diff --git a/Image/figure1.8.png b/Image/figure1.8.png new file mode 100644 index 0000000..34bb9d4 Binary files /dev/null and b/Image/figure1.8.png differ diff --git a/Image/figure1.1.png b/Image/figure11.png similarity index 100% rename from Image/figure1.1.png rename to Image/figure11.png