# 1.理解大语言模型 本章涵盖以下内容: - **大语言模型(LLM)背后基本概念的高级解释** - **对大语言模型(如 ChatGPT 平台上使用的模型)所源自的 Transformer 架构的深入了解** - **从零开始构建大语言模型的计划** ------ - [1.1 LLM 是什么?](#11-llm-是什么) - [1.2 LLM 的应用](#12-llm-的应用) - [1.3 构建和使用 LLM 的步骤](#13-构建和使用-llm-的步骤) - [1.4 介绍 Transformer 架构](#14-介绍-transformer-架构) - [1.5 利用大型数据集](#15-利用大型数据集) - [1.6 深入剖析GPT架构](#16-深入剖析gpt架构) - [1.7 构建大语言模型](#17-构建大语言模型) - [1.8 本章摘要](#18-本章摘要) ------ 大语言模型 (LLM),如 OpenAI 的 ChatGPT,是近年来发展起来的深度神经网络模型。这些模型为自然语言处理 (NLP) 开辟了一个新时代。在大语言模型出现之前,传统方法在电子邮件垃圾分类等分类任务中表现良好,但通常在需要复杂理解和生成能力的语言任务上表现不佳,例如解析详细指令、进行上下文分析,或生成连贯且符合上下文的原创文本。例如,早期的语言模型无法根据关键词列表撰写电子邮件,而这个任务对现代 LLM 来说却非常简单。 LLM 具备理解、生成和解释人类语言的卓越能力。然而,我们需要澄清的是,当我们说语言模型“理解”时,并不是说它们具有人类的意识或理解能力,而是指它们能够以看起来连贯且符合上下文的方式处理和生成文本。 得益于深度学习的进展,深度学习是机器学习和人工智能 (AI) 的一个子集,主要关注神经网络,LLM 可以基于深度学习理论在海量文本数据上进行训练。这使得 LLM 能够捕捉到比以往方法更深层的上下文信息和人类语言的细微差别。因此,LLM 在各种自然语言处理 (NLP) 任务中的表现得到了显著提升,包括文本翻译、情感分析、问答等。 当代 LLM 与早期 NLP 模型之间的另一个重要区别在于,早期的 NLP 模型通常是为特定任务而设计的,例如文本分类、语言翻译等。虽然这些早期模型在其特定应用中表现出色,但 LLM 在各种自然语言处理 (NLP) 任务中展现了更广泛的能力。 LLM 的成功可以归因于支撑 LLM 的 Transformer 架构,以及 LLM 训练所用的海量数据。这使得它们能够捕捉到多种语言的细微差别、上下文和模式,而这些都是难以手动编码的。 这种转向基于 Transformer 架构的模型和大规模训练数据集来训练 LLM,已经从根本上改变了自然语言处理 (NLP) 领域,为理解和与人类语言互动提供了更强大的工具。 从本章开始,我们将奠定实现本书主要目标的基础:通过逐步在代码中实现一个基于 transformer 架构的类似 ChatGPT 的 LLM,以帮助理解 LLM。 ## 1.1 LLM 是什么? LLM(大语言模型)是一个旨在理解、生成和响应人类文本的神经网络。这些模型是深度神经网络,在海量文本数据上训练,基本涵盖了互联网上大部分公开可用的文本数据集。 “大语言模型”中的“大”指的是模型的参数规模和用于训练的庞大数据集。这类模型通常包含数十亿甚至数百亿的参数,这些参数是网络中的可调节权重,训练过程中通过优化来预测序列中的下一个单词。预测下一个单词是合理的,因为这利用了语言的序列特性,帮助模型理解文本中的上下文、结构和关系。然而,这只是一项非常简单的任务,因此许多研究人员对其能够产生如此强大的模型感到惊讶。我们将在后面的章节中逐步讨论并实现下一个单词的训练过程。 LLM 采用了一种称为 Transformer 的架构(在第 1.4 节中将详细讨论),这使得它们在做预测时能够对输入的不同部分进行选择性关注,因此特别擅长处理人类语言的细微差别和复杂性。 由于 LLM 能够生成文本,因此它们通常被称为一种生成式人工智能 (AI),常缩写为生成 AI 或 GenAI。如图 1.1 所示,人工智能涵盖了创造能执行类似人类智能任务的更广泛领域,包括理解语言、识别模式和做出决策,并包括机器学习和深度学习等子领域。