Agents 课程文档
什么是 LLM?
并获得增强的文档体验
开始使用
什么是 LLM?

在上一节中,我们了解到每个 Agent 都需要一个核心 AI 模型,而 LLM 是此目的最常见的 AI 模型类型。
现在我们将学习什么是 LLM 以及它们如何驱动 Agent。
本节简明扼要地技术性地解释了 LLM 的使用。如果您想深入了解,可以查看我们的免费自然语言处理课程。
什么是大型语言模型?
LLM 是一种擅长理解和生成人类语言的 AI 模型。它们在大量的文本数据上进行训练,使它们能够学习语言的模式、结构,甚至是细微之处。这些模型通常由数百万个参数组成。
现在大多数 LLM 都是基于 Transformer 架构构建的——这是一种基于“注意力”算法的深度学习架构,自 2018 年谷歌发布 BERT 以来,引起了广泛的关注。

Transformer 有 3 种类型
编码器
基于编码器的 Transformer 接收文本(或其他数据)作为输入,并输出该文本的密集表示(或嵌入)。- 示例:谷歌的 BERT
- 用例:文本分类、语义搜索、命名实体识别
- 典型大小:数百万个参数
解码器
基于解码器的 Transformer 专注于生成新的 token 以完成序列,一次生成一个 token。- 示例:Meta 的 Llama
- 用例:文本生成、聊天机器人、代码生成
- 典型大小:数十亿(美国意义上的,即 10^9)个参数
Seq2Seq(编码器-解码器)
序列到序列 Transformer *结合了*编码器和解码器。编码器首先将输入序列处理成上下文表示,然后解码器生成输出序列。- 示例:T5、BART
- 用例:翻译、摘要、释义
- 典型大小:数百万个参数
虽然大型语言模型有多种形式,但 LLM 通常是具有数十亿参数的基于解码器的模型。以下是一些最知名的 LLM
模型 | 提供商 |
---|---|
Deepseek-R1 | DeepSeek |
GPT4 | OpenAI |
Llama 3 | Meta(Facebook AI 研究院) |
SmolLM2 | Hugging Face |
Gemma | |
Mistral | Mistral |
LLM 的基本原理简单而高效:其目标是预测下一个 token,给定先前的 token 序列。“Token”是 LLM 处理的信息单元。您可以将“token”视为“单词”,但出于效率原因,LLM 不使用整个单词。
例如,虽然英语估计有 600,000 个单词,但 LLM 可能有大约 32,000 个 token 的词汇量(Llama 2 就是这种情况)。Token 化通常在可以组合的子词单元上进行。
例如,考虑一下 token “interest” 和 “ing” 如何组合形成 “interesting”,或者如何附加 “ed” 形成 “interested”。
您可以在下面的交互式 Playground 中体验不同的 tokenizers
每个 LLM 都有一些特殊 token,这些 token 针对模型而特定。LLM 使用这些 token 来打开和关闭其生成的结构化组件。例如,指示序列、消息或响应的开始或结束。此外,我们传递给模型的输入提示也使用特殊 token 进行结构化。其中最重要的是序列结束 token (EOS)。
特殊 token 的形式在不同的模型提供商之间差异很大。
下表说明了特殊 token 的多样性。
模型 | 提供商 | EOS Token | 功能 |
---|---|---|---|
GPT4 | OpenAI | <|endoftext|> | 消息文本结束 |
Llama 3 | Meta(Facebook AI 研究院) | <|eot_id|> | 序列结束 |
Deepseek-R1 | DeepSeek | <|end_of_sentence|> | 消息文本结束 |
SmolLM2 | Hugging Face | <|im_end|> | 指令或消息结束 |
Gemma | <end_of_turn> | 对话轮次结束 |
我们不希望您记住这些特殊 token,但重要的是要理解它们的多样性以及它们在 LLM 文本生成中发挥的作用。如果您想了解更多关于特殊 token 的信息,您可以查看模型在其 Hub 存储库中的配置。例如,您可以在 SmolLM2 模型的 tokenizer_config.json 中找到特殊 token。
理解下一个 token 预测。
LLM 被称为是自回归的,这意味着一次传递的输出成为下一次传递的输入。这个循环持续进行,直到模型预测下一个 token 为 EOS token,此时模型可以停止。

换句话说,LLM 将解码文本直到达到 EOS。但是,在单个解码循环期间会发生什么呢?
虽然对于学习 agent 而言,完整的过程可能相当技术性,但这里有一个简要概述
- 一旦输入文本被token 化,模型就会计算序列的表示,该表示捕获有关输入序列中每个 token 的含义和位置的信息。
- 此表示进入模型,模型输出分数,这些分数对词汇表中每个 token 作为序列中下一个 token 的可能性进行排名。

基于这些分数,我们有多种策略来选择 token 以完成句子。
- 最简单的解码策略是始终选择得分最高的 token。
您可以在此 Space 中使用 SmolLM2 亲自与解码过程互动(请记住,它会解码直到达到 EOS token,对于此模型,它是 <|im_end|>)
- 但是有更高级的解码策略。例如,束搜索探索多个候选序列,以找到具有最大总分的序列——即使某些单独的 token 的得分较低。
如果您想了解更多关于解码的信息,您可以查看NLP 课程。
注意力机制至关重要
Transformer 架构的一个关键方面是注意力机制。在预测下一个单词时,句子中的每个单词并非同等重要;在句子“法国的首都是……”中,“法国”和“首都”等词语承载着最重要的含义。

虽然自 GPT-2 以来,LLM 的基本原理(预测下一个 token)一直保持不变,但在扩展神经网络和使注意力机制适用于更长序列方面取得了重大进展。
如果您与 LLM 互动过,您可能熟悉术语上下文长度,它指的是 LLM 可以处理的最大 token 数量,以及它所拥有的最大注意力跨度。
提示 LLM 很重要
考虑到 LLM 的唯一工作是通过查看每个输入 token 来预测下一个 token,并选择哪些 token 是“重要的”,因此您的输入序列的措辞非常重要。
您提供给 LLM 的输入序列称为提示。仔细设计提示可以更轻松地引导 LLM 的生成朝着期望的输出方向发展。
LLM 是如何训练的?
LLM 在大型文本数据集上进行训练,它们通过自监督或掩码语言建模目标学习预测序列中的下一个单词。
通过这种无监督学习,模型学习语言的结构和文本中的潜在模式,使模型能够泛化到未见过的数据。
在最初的预训练之后,可以针对监督学习目标对 LLM 进行微调,以执行特定任务。例如,一些模型针对对话结构或工具使用进行训练,而另一些模型则侧重于分类或代码生成。
我该如何使用 LLM?
您有两个主要选择
本地运行(如果您有足够的硬件)。
使用云/API(例如,通过 Hugging Face Serverless Inference API)。
在本课程中,我们将主要通过 Hugging Face Hub 上的 API 使用模型。稍后,我们将探索如何在本地硬件上运行这些模型。
LLM 如何在 AI Agent 中使用?
LLM 是 AI Agent 的关键组成部分,为理解和生成人类语言奠定基础。
它们可以解释用户指令、在对话中保持上下文、定义计划并决定使用哪些工具。
我们将在本单元中更详细地探讨这些步骤,但就目前而言,您需要理解的是,LLM 是 Agent 的大脑。
信息量很大!我们已经介绍了 LLM 的基本知识,它们如何运作,以及它们在驱动 AI agent 中的作用。
如果您想更深入地探索迷人的语言模型和自然语言处理世界,请不要犹豫,查看我们的免费 NLP 课程。
现在我们了解了 LLM 的工作原理,是时候看看 LLM 如何在对话上下文中构建其生成内容。
要运行此 notebook,您需要一个 Hugging Face token,您可以从 https://huggingface.co/settings/tokens 获取。
有关如何运行 Jupyter Notebook 的更多信息,请查看 Hugging Face Hub 上的 Jupyter Notebook。
您还需要请求访问 Meta Llama 模型。
< > 在 GitHub 上更新