首页 大语言模型 LLM 基础:从 Transformer 到大语言模型的核心原理
大语言模型

LLM 基础:从 Transformer 到大语言模型的核心原理

作者: yaozhenyuanblog.cn 2026-05-29

1. 什么是 LLM


LLM(Large Language Model,大语言模型) 是一类基于 Transformer 架构、通过海量文本数据训练而成的深度学习模型。它通过学习文本中的统计规律和语义关系,具备了理解和生成自然语言的能力。

LLM 的核心能力:

  • 文本生成:给定一段提示(Prompt),生成连贯的后续文本
  • 语言理解:理解语义、情感、指代关系
  • 推理能力:逻辑推理、数学计算、代码分析
  • 多任务泛化:同一个模型可以翻译、总结、问答、写代码,无需针对每个任务单独训练
  • 上下文学习(In-Context Learning):通过 Prompt 中的示例学习新任务,无需微调

核心洞察
LLM 的本质是一个概率模型——给定前面的 Token 序列,预测下一个 Token 的概率分布。所有看似「智能」的行为,都是这个简单的自回归目标在大规模数据和参数下的涌现。

2. Transformer 架构


Transformer 是 LLM 的基础架构,由 Vaswani 等人在 2017 年的论文《Attention Is All You Need》中提出。它彻底取代了 RNN/LSTM,成为 NLP(以及后来的多模态)领域的主导架构。

2.1 自注意力机制(Self-Attention)

自注意力机制是 Transformer 的核心。它解决了 RNN 的根本问题:无法并行处理长序列,且长距离依赖容易丢失。

自注意力的计算过程:

  1. 每个 Token 生成三个向量:Query(Q)Key(K)Value(V),通过与权重矩阵相乘得到
  2. 计算每对 Token 之间的注意力分数:Attention(Q, K, V) = softmax(QK^T / √d_k) V
  3. 注意力分数决定了每个 Token 在表示当前位置时应该「关注」哪些其他 Token

直观理解:

  • Query:「我在找什么信息?」
  • Key:「我能提供什么信息?」
  • Value:「我的实际内容是什么?」
  • 注意力分数:Query 和 Key 的匹配程度,决定了 Value 的权重

例子
句子「猫坐在垫子上,因为它累了」中,当模型处理「它」这个词时,自注意力机制会计算「它」与每个词的注意力分数。「猫」的分数会很高,因为「它」最可能指代「猫」。这就是模型理解指代关系的方式。

2.2 多头注意力(Multi-Head Attention)

单个注意力头只能学习一种注意力模式。多头注意力通过并行运行多个注意力头,让模型同时关注不同的语义关系:

  • 一个头可能关注语法关系(主谓宾)
  • 另一个头可能关注语义相似性
  • 另一个头可能关注位置邻近性

多头注意力的输出是所有头的拼接后经过线性变换的结果。

2.3 前馈网络与残差连接

Transformer 的每个层除了注意力模块,还包含:

  • 前馈网络(Feed-Forward Network, FFN):两层线性变换 + 激活函数(GELU)。注意力负责「信息聚合」,FFN 负责「信息处理」
  • 残差连接(Residual Connection):将输入直接加到输出上,缓解深层网络的梯度消失问题
  • 层归一化(Layer Normalization):稳定训练过程。现代 LLM 多使用 RMSNorm(去掉均值中心化,只做缩放)

2.4 Encoder-Decoder vs Decoder-Only

架构 代表模型 特点 适用场景
Encoder-Decoder T5、BART 编码器理解输入,解码器生成输出 翻译、摘要
Encoder-Only BERT 只做理解,不做生成 分类、NER、语义匹配
Decoder-Only GPT 系列、LLaMA、Claude 自回归生成,统一架构 通用语言模型(当前主流)

当前几乎所有主流 LLM(GPT-4、Claude、LLaMA、Gemini)都采用 Decoder-Only 架构。原因:

  • 统一的训练目标(下一个 Token 预测)简单且可扩展
  • 架构简单,工程实现更容易
  • 经过海量数据训练后,Decoder-Only 模型同样能完成 Encoder-Decoder 的任务
  • 自然支持自回归生成和上下文学习

3. 分词与词嵌入


3.1 Tokenizer

模型处理的是 Token,不是原始文本。Tokenizer 负责将文本切分为 Token 序列。

常见分词算法:

算法 原理 代表模型
BPE(Byte Pair Encoding) 从字符开始,迭代合并最频繁出现的相邻对 GPT 系列、LLaMA
WordPiece 类似 BPE,但基于似然而非频率选择合并 BERT
SentencePiece 语言无关的分词框架,支持 BPE 和 Unigram T5、LLaMA
Byte-Level BPE 在字节级别而非字符级别做 BPE,支持任意语言 GPT-4、Claude

分词的影响:

  • 同一个句子在不同 Tokenizer 下的 Token 数量不同,直接影响上下文窗口的有效长度
  • 中文在大多数 Tokenizer 下 Token 数量比英文多(因为训练数据以英文为主,中文字符没有充分合并)
  • 代码的 Token 效率通常较高(因为 BPE 能很好地合并重复的代码模式)

3.2 词嵌入与位置编码

词嵌入(Embedding):将每个 Token 映射为一个高维向量(通常 4096 维或更高)。语义相近的 Token 在向量空间中距离更近。

位置编码(Positional Encoding):自注意力机制本身不包含位置信息(置换不变性),需要额外注入位置信息。

  • 绝对位置编码:原始 Transformer 使用正弦/余弦函数生成固定的位置向量
  • 旋转位置编码(RoPE):通过旋转矩阵编码相对位置关系,是当前 LLM 的主流方案(LLaMA、GPT-NeoX、Qwen)
  • ALiBi:在注意力分数上添加线性偏置,不需要额外的位置嵌入参数

4. 预训练


4.1 训练目标

LLM 的预训练目标是自回归语言建模(Autoregressive Language Modeling)

  • 给定前面的 Token 序列,预测下一个 Token
  • 损失函数:交叉熵损失(Cross-Entropy Loss)
  • 数学表达:最大化 P(x_t | x_1, x_2, ..., x_{t-1})

这个目标看似简单,但迫使模型学习:语法结构、语义关系、事实知识、推理模式、世界模型。所有涌现能力都来自这个目标函数。

4.2 数据工程

预训练数据的质量和多样性对模型能力至关重要。典型数据来源:

  • 网页数据:Common Crawl(经过清洗过滤)、Wikipedia
  • 书籍:BookCorpus、Gutenberg、书籍扫描数据
  • 代码:GitHub 开源代码、StackOverflow
  • 学术论文:arXiv、PubMed、Semantic Scholar
  • 对话数据:论坛、Reddit、社交媒体

数据处理流程:

  1. 去重:精确去重(URL 级别)和模糊去重(SimHash、MinHash)
  2. 质量过滤:去除低质量内容(乱码、广告、自动生成文本)
  3. 安全过滤:去除 PII(个人身份信息)、有害内容
  4. 数据混合(Data Mixing):按照一定比例混合不同来源的数据

注意
数据质量比数据数量更重要。经过精心清洗的小数据集训练出的模型,可能比用大量噪声数据训练的模型效果更好。这也是为什么很多团队不愿意公开数据配方——数据工程是核心竞争力。

4.3 缩放定律(Scaling Laws)

Kaplan et al.(2020)和 Chinchilla et al.(2022)的研究发现,模型性能与三个因素之间存在幂律关系:

  • 模型参数量 N
  • 训练数据量 D
  • 计算量 C

核心结论:

  • 增加任何一个因素都能提升性能,但存在收益递减
  • 最优分配:模型参数和数据量应该等比例增长(Chinchilla 定律)
  • 同等计算预算下,更小的模型 + 更多数据 > 更大的模型 + 更少数据

实践意义
Chinchilla 定律推动了「小模型 + 大数据」的趋势。LLaMA 系列就是典型代表——用较少的参数但更多的 Token 数量训练,效果媲美参数量更大的模型。这也使得开源模型更容易部署到消费级硬件上。

5. 对齐与微调


预训练模型虽然知识丰富,但并不「听话」。对齐(Alignment)的目标是让模型按照人类期望的方式使用这些知识。

5.1 指令微调(SFT)

Supervised Fine-Tuning(SFT) 是最基本的对齐方式:

  • 准备高质量的「指令-回答」数据对
  • 在预训练模型上继续训练,但只计算回答部分的损失
  • 模型学会:收到指令 → 生成符合格式和期望的回答

SFT 数据的质量关键在于:

  • 多样性:覆盖各种任务类型(问答、总结、翻译、代码、推理等)
  • 准确性:回答必须正确,否则模型会学习错误知识
  • 风格一致性:回答风格统一(详细程度、格式、语气)

5.2 RLHF

RLHF(Reinforcement Learning from Human Feedback) 通过人类偏好信号进一步优化模型:

  1. 收集偏好数据:对同一个问题,模型生成多个回答,人类标注哪个更好
  2. 训练奖励模型(Reward Model):学习人类的偏好排序
  3. PPO 优化:用强化学习(PPO 算法)调整语言模型,使其生成的回答能得到更高的奖励分数

RLHF 解决的问题:有些回答虽然语法正确、信息准确,但人类就是不喜欢(太啰嗦、太机械、不安全等)。这些微妙的偏好很难用监督学习表达,但可以通过人类对比标注来学习。

5.3 DPO 与 RLHF 的替代方案

RLHF 的 PPO 阶段复杂且不稳定,近年出现了替代方案:

方法 原理 优势
DPO(Direct Preference Optimization) 直接从偏好数据优化策略,不需要单独训练奖励模型 实现简单、训练稳定
RLAIF 用 AI 替代人类做偏好标注 成本更低、可扩展
KTO(Kahneman-Tversky Optimization) 只需要「好/坏」二元标签,不需要对比对 数据要求更低
GRPO(Group Relative Policy Optimization) DeepSeek 提出,基于组内相对优势优化 在推理任务上效果突出

6. 推理与解码策略


6.1 自回归生成

LLM 的推理过程是逐个 Token 生成的:

  1. 将输入文本编码为 Token 序列
  2. 模型前向传播,得到下一个 Token 的概率分布
  3. 从概率分布中采样一个 Token
  4. 将新 Token 追加到序列中,重复步骤 2-3
  5. 直到生成结束标记(EOS)或达到最大长度

每生成一个 Token 都需要一次完整的模型前向传播,这就是为什么长文本生成比处理慢得多。

6.2 采样策略

策略 参数 效果
Greedy 每次选概率最高的 Token。输出确定但可能重复
Temperature 0.0-2.0 控制随机性。低温度趋近 Greedy,高温度更随机
Top-K K 值 只从概率最高的 K 个 Token 中采样
Top-P(Nucleus) P 值(0-1) 从累积概率达到 P 的最小 Token 集合中采样
Repetition Penalty >1.0 降低已出现 Token 的概率,减少重复

推荐设置
创意写作:Temperature 0.7-0.9 + Top-P 0.9。代码生成:Temperature 0.0-0.2(确定性优先)。事实问答:Temperature 0.0-0.3。

6.3 KV Cache

自回归生成中,每一步都需要计算所有之前 Token 的 Key 和 Value。如果不做缓存,每次生成都要重新计算整个序列的注意力,极其低效。

KV Cache:缓存已经计算过的 Key 和 Value 向量,每步只需要计算新 Token 的 Q、K、V,然后与缓存拼接。

KV Cache 的挑战:

  • 显存占用随序列长度线性增长,是长上下文推理的主要瓶颈
  • 每个注意力头的每个层都需要独立缓存
  • **GQA(Grouped Query Attention)**和 **MQA(Multi-Query Attention)**通过减少 KV 头的数量来减少缓存大小

7. 推理优化技术


7.1 量化

将模型权重从高精度(FP32/FP16)转换为低精度(INT8/INT4/FP8),减少显存占用和计算量。

量化方式 精度 显存节省 质量损失
FP16 16-bit 基准 几乎无
INT8(W8A8) 8-bit ~50% 极小
INT4(GPTQ/AWQ) 4-bit ~75% 轻微可接受
FP8 8-bit ~50% 极小

常用量化工具:

  • GPTQ:基于逐层量化的后训练量化方法
  • AWQ(Activation-Aware Weight Quantization):考虑激活值分布的量化方法,效果优于 GPTQ
  • GGUF/GGML:llama.cpp 使用的量化格式,支持 CPU 推理
  • bitsandbytes:HuggingFace 生态中的量化库

7.2 推理框架

框架 特点 适用场景
vLLM PagedAttention、连续批处理、高吞吐 API 服务、高并发场景
llama.cpp C/C++ 实现、CPU/GPU 混合推理、GGUF 格式 本地部署、边缘设备
TensorRT-LLM NVIDIA 官方、极致 GPU 优化 NVIDIA GPU 上的生产部署
ollama 一行命令启动、本地运行 个人使用、快速原型
SGLang 结构化生成、RadixAttention Agent 应用、复杂 Prompt

7.3 长上下文处理

将上下文窗口从 4K 扩展到 100K+ 需要解决几个问题:

  • 位置编码外推:RoPE 的频率缩放(NTK-aware Scaling)、YaRN
  • KV Cache 优化:StreamingLLM(保留注意力汇聚点)、H2O(Heavy Hitter Oracle)
  • 注意力机制改进:Ring Attention(分布式长序列)、Flash Attention(IO 优化的精确注意力)
  • 分层注意力:将长序列分块处理,不同层使用不同的注意力范围

8. 大模型生态


8.1 主流模型家族

模型 开发方 架构特点
GPT-4 / GPT-4o OpenAI 多模态、MoE(疑似)、最强推理能力之一
Claude 3.5 / Claude 4 Anthropic 长上下文(200K)、安全性、Agent 能力
Gemini Google DeepMind 原生多模态、超长上下文(1M+)
LLaMA 3 Meta 开源、高质量、多种尺寸(8B-405B)
Mixtral Mistral AI MoE 架构、高效率
DeepSeek 深度求索 开源、MoE、推理模型(DeepSeek-R1)
Qwen 阿里通义 开源、多模态、中文优化

8.2 开源 vs 闭源

维度 开源(LLaMA、Qwen、DeepSeek) 闭源(GPT-4、Claude)
成本 自行部署,GPU 成本可控 按 Token 计费
数据安全 数据不出本地 数据发送到第三方服务器
定制化 可微调、可修改架构 只能通过 Prompt 工程
性能 快速追赶,部分领域已持平 目前仍有优势(推理、长上下文)
部署难度 需要 GPU 集群或量化到消费级硬件 API 调用即可

9. 从 LLM 到 Agent


LLM 从「文本生成器」进化为「Agent」的关键在于赋予它使用工具和执行动作的能力。

Agent 的核心组件:

  • LLM 核心:负责理解和推理
  • 工具调用(Tool Use):让模型能够调用外部工具(搜索、代码执行、API 调用)
  • 记忆系统:短期记忆(上下文窗口)和长期记忆(向量数据库、文件系统)
  • 规划能力:将复杂任务分解为子任务,制定执行计划
  • 行动执行:通过代码、API、操作界面与环境交互

Agent 框架:

  • LangChain / LangGraph:灵活的 Agent 编排框架
  • CrewAI:多 Agent 协作框架
  • AutoGPT / Open Interpreter:自主执行任务的 Agent
  • Anthropic Claude Code:代码领域的 Agent,基于 Claude 模型
  • OpenAI Assistants API:云端 Agent 服务

趋势
2024-2025 年 LLM 的发展方向已经从「更大的模型」转向「更强的 Agent 能力」。模型的推理能力(Reasoning)、工具使用能力(Tool Use)、多步骤规划能力(Planning)成为新的竞争焦点。DeepSeek-R1、Claude 的 extended thinking、OpenAI o1/o3 都体现了这一趋势。