Chapter 1 Understanding Large Language Models
文章目录
- Understanding Large Language Models
- What is an LLM?
- Applications of LLMS
- Stages of building and using LLMs
- Using LLMS for different tasks
- A closer look at the GPT architecture
- Building a large language model
- Summary
Understanding Large Language Models
What is an LLM?
-
LLMs 利用
transformer
的架构,这使得它们在进行预测时能够选择性地关注输入的不同部分,使它们特别擅长处理细微差别和复杂性人类语言的。
正如对不同领域之间关系的分层描述所示,LLMs 代表深度学习技术的特定应用,利用其处理和生成类人文本的能力。深度学习是机器学习的一个专门分支,专注于使用多层神经网络。机器学习和深度学习是旨在实现算法的领域,使计算机能够从数据中学习并执行通常需要人类智能的任务。
Applications of LLMS
-
如今,LLMs 用于机器翻译、小说文本生成、情感分析、文本摘要和许多其他任务。 LLMs 最近被用于内容创作,例如撰写小说、文章,甚至计算机代码。
-
还可以为复杂的聊天机器人和虚拟助手提供支持,例如 OpenAI 的 ChatGPT 或 Google 的 Gemini(以前称为 Bard),它们可以回答用户查询并增强传统搜索引擎(例如 Google Search 或 Microsoft Bing)。
-
此外,LLMs 可用于从医学或法律等专业领域的大量文本中进行有效的知识检索。这包括筛选文档、总结冗长的段落以及回答技术问题。
-
简而言之,LLMs 对于自动化几乎所有涉及解析和生成文本的任务来说都是无价的
Stages of building and using LLMs
-
研究表明,在建模性能方面,定制的 LLMs(针对特定任务或领域定制的)可以胜过通用的 LLMs。创建LLM的一般过程包括预训练和微调。
-
预训练:在大型、多样化的数据集(有时称为原始文本)上进行训练以形成对语言的广泛理解的。这里的“原始”是指这些数据只是普通文本,没有任何标签信息。
-
微调:两个最流行的微调类别LLMs包括指令微调和分类任务微调。
1️⃣指令微调:标记的数据集由指令和答案对组成,例如翻译文本的查询以及正确翻译的文本
2️⃣分类微调:在分类微调中,标记数据集由文本和关联的类标签组成,例如与垃圾邮件和非垃圾邮件标签关联的电子邮件。
-
Using LLMS for different tasks
-
简化版本的原始 transformer 架构
上图所示的 Transformer 架构由两个子模块组成:编码器和解码器。编码器模块处理输入文本并将其编码为一系列数字表示或向量,以捕获输入的上下文信息。然后,解码器模块获取这些编码向量并从中生成输出文本。例如,在翻译任务中,编码器将源语言的文本编码为向量,解码器将这些向量解码以生成目标语言的文本。编码器和解码器都由通过所谓的自注意力机制(上图未显示)连接的许多层组成。
-
Transformer 架构的后来变体
-
BERT(bidirectional encoder representations from transformers)
BERT 建立在原始 Transformer 的编码器子模块之上,BERT 及其变体专门用于屏蔽词预测,其中模型预测给定句子中的屏蔽词或隐藏词。这种独特的训练策略为 BERT 提供了文本分类任务的优势,包括情感预测和文档分类。
-
GPT(generative pretrained transformers)
GPT 专注于原始 Transformer 架构的解码器部分,专为需要生成文本的任务而设计。这包括机器翻译、文本摘要、小说写作、编写计算机代码等等。
-
-
GPT 模型主要是为执行文本完成任务而设计和训练的,也表现出了非凡的多功能性。这些模型擅长执行零样本和少样本学习任务。零样本学习是指在没有任何先前具体示例的情况下泛化到完全未见过的任务的能力。另一方面,小样本学习涉及从用户提供的最少数量的示例作为输入进行学习,如 下图所示。
A closer look at the GPT architecture
-
ChatGPT 中提供的原始模型是通过使用 OpenAI 的 InstructGPT 论文中的方法在大型指令数据集上微调 GPT-3 来创建,利用人类反馈进行微调以遵循指令。
-
在 GPT 模型的下一个单词预训练任务中,系统通过查看句子之前的单词来学习预测句子中即将出现的单词。这种方法有助于模型理解单词和短语通常如何在语言中组合在一起,形成可应用于各种其他任务的基础。
-
与原始 Transformer 架构相比,通用 GPT 架构相对简单,本质上,它只是解码器部分。由于像 GPT 这样的解码器式模型通过一次预测一个单词来生成文本,因此它们被认为是一种自回归模型。自回归模型将之前的输出合并为未来预测的输入。因此,在 GPT 中,每个新单词都是根据其前面的序列来选择的,这提高了生成文本的连贯性。
GPT 架构仅采用原始transformer的解码器部分。它专为单向、从左到右的处理而设计,非常适合文本生成和下一个单词预测任务,以迭代方式一次一个单词地生成文本
-
GPT-3 等架构也比原始 Transformer 模型大得多。原始transformer将编码器和解码器块重复六次。 GPT-3有96个transformer层,总共1750亿个参数
Building a large language model
-
本书涵盖的构建LLMs的阶段包括实现LLM架构和数据准备过程、预训练LLM以创建基础模型以及微调成为个人助理或文本分类器的基础模型。
Summary
-
现代LLMs的训练主要分为两个步骤。首先,它们在一个大规模的无标签文本语料库上进行预训练,使用句子中下一个单词的预测作为“标签”。接着,它们在一个较小的、有标签的目标数据集上进行微调,以遵循指令或执行分类任务。
-
LLMs基于Transformer架构。Transformer架构的关键思想是一种注意力机制,这种机制使得LLM在每次生成一个单词的输出时,能够有选择性地访问整个输入序列。
原始的Transformer架构由一个用于解析文本的编码器和一个用于生成文本的解码器组成。而用于生成文本和遵循指令的LLMs,如GPT-3和ChatGPT,仅实现了解码器模块,从而简化了架构。
-
尽管类似于GPT的模型的通用预训练任务是预测句子中的下一个单词,但这些LLMs展现出了“涌现”的特性,例如分类、翻译或总结文本的能力。
-
一旦LLM完成预训练,所得到的基础模型可以更高效地进行微调,以适应各种下游任务。在自定义数据集上微调的LLMs在特定任务上可以超越通用LLMs的表现。
-
传统的机器学习模型和通过传统监督学习范式训练的深度神经网络通常需要标签信息。然而,LLMs的预训练阶段并非如此。在这一阶段,LLMs利用自监督学习,模型从输入数据中生成自己的标签