第一章 LLM 基础原理¶
本章概览¶
本章建立对大语言模型 (Large Language Model, LLM) 的基础认知: 它是什么、如何工作、能做什么、做不了什么。从发展脉络到 Transformer 架构, 从预训练范式到主流模型谱系, 最后落到能力边界与提示工程, 为后续 Agent 章节奠定理论地基。
小节目录¶
- 1.1 LLM 概览
- 1.2 Transformer 架构
- 1.3 注意力机制
- 1.4 预训练范式
- 1.5 Tokenizer 与分词
- 1.6 主流 LLM 谱系
- 1.7 LLM 能力与局限
- 1.8 提示工程基础
1.1 LLM 概览¶
定义¶
大语言模型 (Large Language Model, LLM) 是基于深度学习、参数规模通常达数十亿到万亿、在海量文本上自监督预训练的统计语言模型。它通过预测下一个 token 生成文本, 将语言理解与生成统一到同一个概率框架下。"大"既指参数规模, 也指训练数据量与算力投入, 三者共同构成现代 LLM 的基本形态。
原理¶
LLM 的发展可粗略划分为四个阶段。第一阶段是统计语言模型, 以 n-gram 为代表, 用词频统计估计下一词概率, 受限于稀疏性与上下文窗口。第二阶段是神经网络语言模型 (NNLM/RNN/LSTM), 引入分布式词向量与循环结构, 缓解维度灾难并捕捉长程依赖, 但训练受限于序列串行。第三阶段是预训练时代 (Pre-training Era), ELMo/GPT/BERT 引入自监督预训练加下游微调范式, 将 NLP 推进到统一架构阶段。第四阶段是 LLM 时代, GPT-3 起 scaling law 带来涌现能力 (emergent ability), 单一模型在零样本下完成多任务, Claude/Gemini 等进一步扩展能力边界。
关键点¶
理解 LLM 需把握四个核心维度。参数规模决定模型容量, 从早期的亿级到当前的万亿级; 训练数据量决定知识广度, 通常以 token 计数, 现代模型达到万亿级; 上下文窗口决定单次推理可处理的信息量, 从早期 2K 扩展到当前的 1M 以上; 涌现能力指模型在某个规模阈值后突然出现的复杂能力, 如少样本学习、链式推理, 是 scaling 带来的非平凡现象。
应用·对比¶
传统 NLP 流水线由分词、词性标注、句法分析、命名实体识别等多个专用模型串联组成, 每个任务需独立标注数据与训练模型。LLM 用单一预训练模型加提示即可完成多任务, 显著降低开发成本, 但在可解释性与确定性上弱于传统流水线。
| 维度 | 传统 NLP | LLM |
|---|---|---|
| 开发方式 | 多任务专用模型串联 | 单一模型 + 提示 |
| 泛化能力 | 弱, 依赖标注数据 | 强, 零/少样本迁移 |
| 可解释性 | 强, 中间步骤可追溯 | 弱, 黑箱生成 |
| 部署成本 | 模型小, 多模型 | 单模型大, 算力高 |
1.2 Transformer 架构¶
定义¶
Transformer 是 2017 年 Google 在《Attention is All You Need》中提出的基于自注意力 (Self-Attention) 的序列建模架构, 摒弃了 RNN 的循环结构, 实现完全并行的序列处理。它是所有现代 LLM 的基础架构, GPT/Claude/Gemini/Llama/Qwen 等均在其上演化。
原理¶
Transformer 有三种主要变体。Encoder-Decoder (编码器-解码器) 是原始结构, 编码器负责理解输入序列, 解码器负责生成输出, 代表为 T5/BART, 适合翻译等序列到序列任务。Decoder-only (仅解码器) 只保留解码器堆栈, 以因果自注意力建模, 代表为 GPT 系/Llama/Qwen, 是当前 LLM 主流。Encoder-only (仅编码器) 只保留编码器, 以双向注意力建模, 代表为 BERT, 适合分类与抽取等理解任务。架构层面, 位置编码 (Positional Encoding) 注入序列顺序信息, 分为绝对位置编码与旋转位置编码 (RoPE, Rotary Position Embedding), 后者通过旋转矩阵实现相对位置建模且利于外推。残差连接 (Residual Connection) 缓解深层网络梯度消失, LayerNorm (层归一化) 稳定训练, 分为 Pre-Norm (归一化在残差前, 训练更稳定, LLM 主流) 与 Post-Norm (归一化在残差后, 原始 Transformer, 训练需 warmup)。
关键点¶
Transformer 用自注意力替代循环结构, 实现序列级并行计算, 大幅提升训练效率, 是其能扩展到千亿参数的工程前提。位置编码弥补了自注意力本身无序的缺陷, RoPE 因良好的外推性成为现代 LLM 主流选择。残差连接让深层网络可训, LayerNorm 让训练稳定, 二者共同支撑百层以上堆叠。
应用·对比¶
| 变体 | 代表模型 | 任务适配 | 训练效率 | 主流采用 |
|---|---|---|---|---|
| Encoder-Decoder | T5/BART | 序列到序列 (翻译/摘要) | 中 | 早期主流 |
| Decoder-only | GPT/Llama/Qwen | 生成/对话/通用 | 高 | 当前主流 |
| Encoder-only | BERT/RoBERTa | 理解 (分类/抽取) | 高 | 领域专用 |
Decoder-only 之所以成为 LLM 主流, 一是其统一性, 预训练目标单一, 易扩展; 二是生成任务对推理能力要求更高, 而现代 Agent 与对话场景几乎都是生成任务; 三是工程上更易 scale。
1.3 注意力机制¶
定义¶
注意力 (Attention) 是让模型在处理当前 token 时, 动态地关注序列中其他相关 token 的机制, 权重由相似度计算得出。自注意力 (Self-Attention) 指 Query/Key/Value 三个投影矩阵来自同一输入序列, 让序列内部任意两个 token 都能直接交互, 突破 RNN 的距离衰减。
原理¶
注意力的核心是 Q/K/V 计算。给定输入 X, 通过三个权重矩阵投影得到 Query (Q)、Key (K)、Value (V); 注意力输出为 softmax(Q·K^T / √d_k)·V, 即用 Q 与 K 的点积衡量相关性, softmax 归一化为权重, 再加权 V 得到输出。Multi-Head Attention (MHA, 多头注意力) 将 Q/K/V 投影到多个子空间并行计算, 每个头学习不同的关注模式, 再拼接投影回原维度, 显著提升表达能力。Grouped-Query Attention (GQA, 分组查询注意力) 将多个 Query 头共享一组 K/V, 在显存与质量之间取折中。Multi-Query Attention (MQA, 多查询注意力) 更极端, 所有 Query 头共享同一组 K/V, 显存最低但质量略降。推理时, KV cache 缓存历史 token 的 K/V, 避免每生成一个 token 都重新计算前缀, 是自回归推理加速的基石。
关键点¶
自注意力的计算复杂度为 O(n²), 序列长度翻倍则计算量四倍, 是长上下文的核心瓶颈。MHA/GQA/MQA 三者在显存/质量/速度上权衡, GQA 已成为 Llama 3/Qwen 等主流 LLM 的折中选择。KV cache 是推理加速的命脉, 但显存占用随序列线性增长, 是长上下文部署的关键约束。
应用·对比¶
| 变体 | Query 头数 | K/V 头数 | 显存占用 | 输出质量 | 代表模型 |
|---|---|---|---|---|---|
| MHA | h | h | 高 | 最高 | GPT-2/BERT |
| GQA | h | h/g (g 组) | 中 | 较高 | Llama 3/Qwen 2 |
| MQA | h | 1 | 低 | 略低 | PaLM/Gemma |
Llama 3/Qwen 2 等采用 GQA 的原因: KV cache 显存占用是长上下文部署的主要瓶颈, MHA 在 100K+ 上下文下显存难承受; MQA 质量损失过大; GQA 在显存节省与质量保持间取得最优折中, 是当前工业实践的事实标准。
1.4 预训练范式¶
定义¶
预训练 (Pre-training) 是在海量无标注文本上, 以自监督学习方式让模型习得语言规律与世界知识的过程。自监督指不依赖人工标注, 而是利用数据自身结构生成训练信号, 让海量互联网文本成为可用的训练资源。预训练是 LLM 能力的源头, 后续 SFT 与对齐都建立在其之上。
原理¶
自监督学习无需人工标注, 从数据自身构造监督信号。两种主要预训练目标: CLM (Causal Language Modeling, 因果语言建模) 预测下一个 token, 仅用左侧上下文, 是 GPT 系与当前生成式 LLM 的标准目标; MLM (Masked Language Modeling, 掩码语言建模) 随机遮盖部分 token 让模型还原, 可用双向上下文, 是 BERT 的目标。Scaling Law (Kaplan et al. 2020) 描述了模型 loss 与参数量、数据量、算力的幂律关系, 在对数坐标下近似线性, 为规模预测提供了量化工具。Chinchilla 定律 (DeepMind 2022) 修正了 Kaplan 的结论, 指出在算力最优分配下, 数据量与参数量应等比例增长, 即每参数约 20 个 token, 之前许多模型实际训练数据严重不足。
关键点¶
数据质量优先于数据量, 高质量过滤数据胜过海量低质数据, 是 Chinchilla 之后业界共识。Chinchilla 最优比例约 20 token/参数, 偏离此比例会导致算力浪费或数据饥饿。涌现能力 (emergent ability) 在某个规模阈值后出现, 小模型不具备, 这意味着无法用小模型实验完全预测大模型行为。
应用·对比¶
| 维度 | CLM | MLM |
|---|---|---|
| 任务适配 | 生成任务 | 理解任务 |
| 上下文方向 | 单向 (左到右) | 双向 |
| 生成能力 | 强 | 弱 |
| 代表模型 | GPT 系/Llama | BERT/RoBERTa |
生成式 LLM 普遍采用 CLM 的原因: 一是 CLM 与推理时自回归生成天然一致, 训练目标即使用目标; 二是 CLM 在 scaling 后展现出 zero-shot/few-shot 通用能力, 而 MLM 需要任务特定微调; 三是 CLM 统一了理解与生成, 而 MLM 难以生成。
1.5 Tokenizer 与分词¶
定义¶
Tokenizer (分词器) 将原始文本切分为模型可处理的 token 序列, 是文本与模型之间的接口层。它决定了模型如何"看见"文本, 直接影响序列长度、词表大小与多语言覆盖。同一个模型对同一段文本, 不同 tokenizer 切出的 token 数可能差数倍。
原理¶
主流分词算法有四种。BPE (Byte Pair Encoding, 字节对编码) 从字符级开始, 迭代合并最高频的相邻对, 直至达到目标词表大小, 是 GPT 系/tiktoken/Llama 的选择。WordPiece 与 BPE 类似, 但合并依据是似然提升而非频率, 是 BERT 的算法。SentencePiece 直接处理原始字节流, 不依赖预分词, 对多语言友好, 是 Llama/Qwen/T5 的选择。tiktoken 是 OpenAI 开源的高效 BPE 实现, 用于 GPT-3.5/4。词表大小 (vocab size) 是关键超参, 大词表序列短但嵌入层参数多, 小词表序列长但嵌入层参数少, 需权衡。
关键点¶
中文 token 效率是中文场景的关键问题, 一个汉字常对应 1-3 个 token, 导致中文场景 token 成本显著高于英文。词表大小需权衡序列长度与嵌入参数, 现代 LLM 多在 30K-200K 区间。BPE 因实现简单、效果稳定, 是当前 LLM 主流选择, GPT/Llama/Qwen 均采用其变体。
应用·对比¶
| 算法 | 合并依据 | 处理单元 | 代表模型 | 适用场景 |
|---|---|---|---|---|
| BPE | 频率 | 字符/字节 | GPT/Llama | 通用, 生成式 LLM |
| WordPiece | 似然提升 | 字符 | BERT | 理解任务 |
| SentencePiece | 频率/似然 | 原始字节 | Llama/Qwen/T5 | 多语言 |
| tiktoken | 频率 (BPE) | 字节 | GPT-3.5/4 | 高效推理 |
1.6 主流 LLM 谱系¶
定义¶
截至 2025-2026, 主流 LLM 分为闭源与开源两大阵营。闭源以 GPT (OpenAI)、Claude (Anthropic)、Gemini (Google) 为代表, 能力领先但通过 API 调用; 开源以 Llama (Meta)、Qwen (阿里)、DeepSeek (深度求索)、Mistral (欧洲) 为代表, 可私有部署与微调。两者能力差距在持续缩小。
原理¶
GPT 是 OpenAI 的闭源标杆, GPT-3 起开启 LLM 时代, GPT-4 引入多模态, GPT-4o/o1 推动统一多模态与推理模型。Claude 是 Anthropic 的旗舰, 强调宪法 AI (Constitutional AI) 与长上下文 (200K+), 在写作与代码任务上口碑突出。Gemini 是 Google 的原生多模态模型, 从头训练支持图文音视频统一输入输出。Llama 是 Meta 开源生态的基石, Llama 2/3 推动开源浪潮, 是众多衍生模型的基础。Qwen 是阿里通义千问系列, 中文表现突出, 提供多尺寸覆盖端到云。DeepSeek 是深度求索的代表作, 以 MoE 架构与推理模型 (DeepSeek-R1) 著称, 开源且性价比高。Mistral 是欧洲代表, Mixtral 8x7B 是开源 MoE 标杆。
关键点¶
开源与闭源的能力差距在快速缩小, DeepSeek-R1/Llama 3/Qwen 2.5 等开源模型在多数基准上已逼近 GPT-4 级别。开源优势在可私有部署、可微调、成本低, 适合对数据隐私与定制化有要求的场景。中文场景下 Qwen 与 DeepSeek 表现突出, 是国内应用的首选。
应用·对比¶
| 模型 | 开闭源 | 参数规模 | 上下文长度 | 特色能力 | 适用场景 |
|---|---|---|---|---|---|
| GPT-4o | 闭源 | 未公开 | 128K | 原生多模态 | 通用, 商用 |
| Claude 3.5 | 闭源 | 未公开 | 200K | 长上下文, 写作 | 长文档, 代码 |
| Gemini 1.5 | 闭源 | 未公开 | 2M | 超长上下文, 多模态 | 视频, 长文档 |
| Llama 3 | 开源 | 8B/70B/405B | 128K | 通用基座 | 微调, 私有部署 |
| Qwen 2.5 | 开源 | 0.5B-72B | 128K | 中文, 多尺寸 | 中文场景, 端到云 |
| DeepSeek-V3/R1 | 开源 | 236B MoE | 128K | MoE + 推理 | 推理任务, 高性价比 |
| Mistral/Mixtral | 开源 | 8x7B/8x22B MoE | 128K | MoE | 欧洲, 多语言 |
1.7 LLM 能力与局限¶
定义¶
LLM 展现出强大的语言理解、生成、推理能力, 在翻译、摘要、代码、问答等任务上接近甚至超越人类平均水平。但它也存在结构性局限, 理解这些局限是合理使用 LLM 的前提, 也是 Agent 工程化要解决的问题。
原理¶
涌现能力 (emergent ability) 指模型在某个规模阈值后突然出现的能力, 如少样本学习、链式推理、指令遵循, 小模型不具备, 难以从小模型外推。幻觉 (hallucination) 指模型生成看似合理但事实错误的内容, 根因是 LLM 本质是统计拟合而非事实检索, 训练数据中的偏见与噪声会被放大。上下文窗口限制指模型单次推理可处理的信息量有上限, 超出则需外部机制 (如 RAG/记忆)。知识截止 (training cutoff) 指模型知识停留在预训练数据时间点, 无法获知最新事件。推理能力边界指复杂多步推理仍不稳定, 即使是推理模型在数学与逻辑上仍会出错。
关键点¶
幻觉无法根除只能缓解, 主要手段包括 RAG (检索事实约束)、事实约束提示、自我验证 (self-check); 实际工程需假设 LLM 会出错并设计兜底。长上下文不等于长理解, "lost in the middle" 现象表明模型对上下文中段信息利用率低, 长上下文仍需配合精炼与重排。推理能力可通过 CoT 与推理模型显著提升, 但简单任务上 overthinking 反而降低效率。
应用·对比¶
| 能力 | 对应局限 | 缓解手段 |
|---|---|---|
| 流畅生成 | 幻觉 | RAG, 事实约束 |
| 知识广度 | 知识截止 | 检索增强, 时效数据 |
| 上下文窗口 | 中间遗忘 (lost in middle) | 重排, 摘要 |
| 推理能力 | 复杂多步不稳定 | CoT, 推理模型 |
| 多语言 | 低资源语言差 | 针对性微调 |
1.8 提示工程基础¶
定义¶
提示工程 (Prompt Engineering) 是通过设计输入提示 (prompt) 来引导 LLM 输出期望结果的技术, 是使用 LLM 的核心技能。它在不修改模型参数的前提下, 通过改变输入文本结构来影响输出, 是低成本调优的第一手段。
原理¶
Zero-shot 直接给出指令让模型回答, 不提供示例, 依赖模型预训练能力。Few-shot 在提示中提供少量示例 (通常 3-5 个), 让模型从示例中学习输出模式, 适用于格式约束或任务特定场景。Chain-of-Thought (CoT, 链式思考) 让模型展示推理步骤而非直接给答案, 显著提升数学与逻辑任务表现, "Let's think step by step" 即经典 CoT 提示。Role Prompting 赋予模型角色 (如"你是一位资深 Python 工程师"), 引导其以特定视角与风格输出。结构化输出通过要求 JSON/Markdown 等格式约束输出, 便于下游解析, 但需配合指令微调 (instruction tuning) 才稳定。In-Context Learning (上下文学习) 是 LLM 从提示中示例学习的能力, 是 Few-shot 与 CoT 的理论基础。
关键点¶
CoT 对推理任务提升显著, 简单任务收益有限甚至有害。Few-shot 示例的多样性比数量更重要, 3 个差异化示例常优于 10 个相似示例。结构化输出需配合模型训练, 未微调模型在复杂结构输出上仍不稳定, 需用约束解码或重试机制兜底。
应用·对比¶
| 方式 | 适用任务 | token 成本 | 效果稳定性 | 实现难度 |
|---|---|---|---|---|
| Zero-shot | 简单分类/问答 | 低 | 中 | 极低 |
| Few-shot | 格式约束/模式学习 | 中 | 较高 | 低 |
| CoT | 推理/多步任务 | 高 (输出长) | 高 | 中 |
延伸阅读¶
- AI 知识库目录 - 系统教程与课程 - Hello-Agents 教程中第三章大语言模型基础
- AI 知识库目录 - 论文与文档 - Transformer / Scaling Law / Chinchilla 等关键论文