语言模型演进
语言模型是生成式 AI 中自回归路线的主线:GPT 类 LLM 同时是自回归生成模型,横跨”NLP/序列建模”与”生成模型”两个分类维度(双维坐标见 生成式 AI 概览)。本页带你从直觉到代码理解语言模型的核心原理和演进脉络。
语言模型的本质只有一件事:预测下一个词。就像手机输入法的”联想输入”,但强大得多:
- n-gram 时代(1948–2000s):最朴素的方法——统计”在前 N 个词之后,哪个词出现得最多”。比如”今天天气”后面经常跟”很好”,所以预测”很好”。简单但有效,缺点是只能看很短的上下文。
- 神经网络时代(2003–2017):用神经网络替代统计计数,能学到词的语义表示(词向量),看得更远。
- Transformer 时代(2017 至今):Attention 机制让模型同时”看到”整个句子,不再受限于固定窗口。GPT 就是”用 Transformer 做下一个词预测”——1750 亿参数的超级联想输入法。
为什么”预测下一个词”如此强大? 因为要准确预测下一个词,模型必须理解语法、世界知识、推理能力……一个足够大的”下一个词预测器”本质上在被迫学习世界的规律。这就是 GPT 能写代码、做翻译、回答问题的根本原因。
LLM 的完整训练流水线分三步:
- 预训练(Pre-training):用互联网上的海量文本做 next-token prediction——学到的”续写器”。
- 指令微调(SFT, Supervised Fine-Tuning):用”人类写的高质量问答”做监督微调——续写器变成”会回答问题的助手”。
- 偏好对齐(RLHF / DPO):用人类反馈做强化学习/偏好优化——助手的回答变得安全、有用、符合人类价值观。
类比:预训练像读了整个图书馆的人——知识渊博但不会聊天,你问”你好”他可能续写”大家好”而不是回答你。SFT 像教他对话礼仪——学会问答的格式。RLHF 像调教他的性格——让回答更有条理、不胡说八道。
三阶段训练流水线
Section titled “三阶段训练流水线”预训练花费 99% 的算力和数据;SFT 和对齐用极少数据(几千~几万条)就够,但它们决定了”续写器”和”助手”的天壤之别。
n-gram → 神经网络 → Transformer 演进
Section titled “n-gram → 神经网络 → Transformer 演进”自回归生成过程
Section titled “自回归生成过程”GPT 生成文本的过程是逐词递推的——每次只生成一个 token,然后把它拼回输入,再预测下一个:
Next-Token Prediction 概念代码
Section titled “Next-Token Prediction 概念代码”以下用 numpy 演示语言模型的核心机制——根据上下文预测下一个 token 的概率分布:
import numpy as np
# 模拟一个极简"语言模型":用 n-gram 统计 + 温度采样# 训练数据:几句话(已分词)corpus = "今天 天气 很好 我们 去 公园 今天 天气 不好 在家 看书 今天 去 公园 玩".split()
# 构建 bigram(二元组)统计:给定前一个词,下一个词的频率from collections import defaultdict, Counterbigram = defaultdict(Counter)for i in range(len(corpus) - 1): bigram[corpus[i]][corpus[i + 1]] += 1
def predict_next(word, temperature=1.0): """预测 word 后面最可能出现的词""" counts = bigram[word] if not counts: return "<未见过>" words = list(counts.keys()) probs = np.array([counts[w] for w in words], dtype=float) probs = probs ** (1 / temperature) # 温度调节:低温更确定,高温更随机 probs = probs / probs.sum() return np.random.choice(words, p=probs)
# 生成文本:从"今天"开始逐词生成text = ["今天"]for _ in range(5): text.append(predict_next(text[-1], temperature=0.8))print(" ".join(text)) # 输出示例: 今天 天气 很好 我们 去Temperature 与 Top-K 采样
Section titled “Temperature 与 Top-K 采样”以下用 numpy 演示 temperature 和 top_k 如何控制生成的随机性:
import numpy as np
# 模拟模型输出的 logits(未归一化的分数),假设词表只有 5 个词vocab = ["猫", "狗", "鱼", "鸟", "的"]logits = np.array([2.1, 1.8, 0.5, -0.3, 0.1]) # 模型对每个词的"偏好"
def sample(logits, temperature=1.0, top_k=None): """带温度的采样:temperature 高→更随机,低→更确定""" logits = logits / temperature # 温度调节:T<1 更确定, T>1 更随机 if top_k: # Top-K 采样:只从概率最高的 K 个词里选 logits[logits < np.sort(logits)[-top_k]] = -np.inf probs = np.exp(logits) / np.exp(logits).sum() # Softmax → 概率分布 return np.random.choice(len(vocab), p=probs) # 按概率随机采样一个词
# 对比不同温度下的采样倾向(重复 5 次)for temp in [0.1, 0.8, 2.0]: picks = [vocab[sample(logits, temperature=temp)] for _ in range(5)] print(f"temperature={temp:<4} → {picks}")# 输出示例:# temperature=0.1 → ['猫', '猫', '猫', '猫', '猫'] ← 几乎总是选最高分# temperature=0.8 → ['猫', '狗', '猫', '猫', '鱼'] ← 多样但有方向# temperature=2.0 → ['鱼', '鸟', '的', '猫', '狗'] ← 接近随机语言模型演进链
Section titled “语言模型演进链”| 年份 | 工作 | 要点 |
|---|---|---|
| 1948 | Shannon 用 n-gram 思想近似英语 | 语言模型的统计学源头 |
| 2003 | Bengio et al. NNLM | 首个神经概率语言模型,首次用神经网络学词向量 |
| 2013 | word2vec(Mikolov et al., Google) | 词嵌入普及(CBOW/Skip-gram);GloVe 2014 |
| 2014 | seq2seq(Sutskever)+ 注意力机制(Bahdanau) | LSTM encoder-decoder,Transformer 的直接前驱 |
| 2017 | Transformer(Vaswani et al., Google) | “Attention Is All You Need”,NeurIPS 2017 |
| 2018 | GPT-1(OpenAI,decoder-only 自回归路线)/ BERT(Google,encoder-only 掩码路线) | 预训练+微调范式确立。注意:BERT 是掩码编码器,不是生成模型 |
| 2019–2020 | GPT-2(2019)→ GPT-3(2020,175B 参数,few-shot 涌现)+ Scaling Laws(Kaplan et al.) | “规模化”范式确立 |
| 2022 | InstructGPT(RLHF 对齐)→ ChatGPT(2022-11-30,5 天破百万用户) | “对齐 + 产品化”范式确立 |
| 2023 | GPT-4(3 月);LLaMA(Meta,2 月)开启开源权重时代;GPT-4V 多模态 | 闭源前沿 vs 开放权重两线并行 |
| 2024 | GPT-4o(5 月,原生多模态);Claude 3(3 月)/ 3.5 Sonnet(6 月);Llama 3(4 月,405B 密集);DeepSeek-V3(12 月,671B MoE);o1(9 月)开启推理模型时代 | 多模态融合、MoE 成主流、推理模型兴起 |
| 2025 | DeepSeek-R1(1 月,RLVR 开源推理模型);Claude 4 / Opus 4;GPT-4.5 / o3;Gemini 2.5 Pro(1M 上下文);Qwen3(MoE+密集双版本);Llama 4 | 开源推理模型追平闭源、MoE 全面普及、Agent 化、超长上下文成标配 |
RLHF 对齐技术的详细讨论见 RLHF 与 LLM 训练。
现代 LLM 架构关键创新
Section titled “现代 LLM 架构关键创新”理解现代 LLM 的架构细节,有助于在选型和调优时做出正确判断。以下是 2022–2025 年间影响深远的架构创新:
注意力机制优化
Section titled “注意力机制优化”Transformer 的核心是自注意力(Self-Attention)——让序列中每个位置同时”看到”其他所有位置。但标准注意力的计算和内存开销随序列长度平方增长(O(n²)),这催生了一系列优化:
- MHA → MQA → GQA:标准多头注意力(MHA)每个注意力头都有独立的 Key/Value 投影矩阵。多查询注意力(MQA, 2019)让所有头共享同一组 KV,大幅减少推理时的 KV Cache(推理时缓存的键值对,用于避免重复计算)内存。分组查询注意力(GQA, 2023)是 MHA 和 MQA 的折中——将注意力头分成若干组,组内共享 KV。Llama 2/3、Mistral 等主流模型均采用 GQA。
- MLA(Multi-head Latent Attention):DeepSeek-V2 引入的创新,将 KV 压缩到一个低维潜在向量中再恢复,在保持注意力质量的同时将 KV Cache 内存降低 93%。这是 DeepSeek 能以极低成本提供长上下文推理的关键技术。
混合专家模型(MoE)
Section titled “混合专家模型(MoE)”混合专家模型(Mixture of Experts, MoE)的思路是:模型有很多”专家”子网络,但每次推理只激活其中少数几个。就像医院分科——患者不需要所有医生同时看诊,只需挂对应科室。
- 稀疏激活:一个拥有 6710 亿参数的 MoE 模型(如 DeepSeek-V3),每次推理只激活约 370 亿参数。这意味着推理成本接近一个 370 亿参数的密集模型,但能力接近 6710 亿参数模型。
- 路由机制:一个门控网络(Router/Gate)决定每个 token 应该被发送给哪些专家。通常用 Top-K 选择——每个 token 激活得分最高的 K 个专家(通常 K=2 或 8)。
- 代表性模型:Mixtral 8x7B(2023)、DeepSeek-V3(671B MoE,2024)、Qwen3-MoE(2025)均采用 MoE 架构。MoE 已成为 2025 年大模型的主流选择,因为它在能力/成本比上显著优于密集模型。
推理模型与测试时计算
Section titled “推理模型与测试时计算”2024–2025 年最重要的范式转变之一是**推理模型(Reasoning Model)**的兴起:
- 核心思想:传统 LLM 直接给出答案;推理模型在回答前先”思考”——生成一段长的思维链(Chain-of-Thought),在推理阶段消耗更多计算来换取更好的逻辑推理、数学和编程能力。这叫测试时计算扩展(Test-Time Compute Scaling)。
- 代表模型:OpenAI o1/o3(2024–2025)、DeepSeek-R1(2025,开源)、Gemini 2.5 Thinking、Claude 3.5/4 with extended thinking。
- 训练方法:推理模型的核心训练方法是 RLVR(Reinforcement Learning with Verifiable Rewards)——用可验证的任务(如数学题的正确答案、代码的测试通过)作为奖励信号训练模型。这比 RLHF 不需要人类标注偏好,且奖励信号精确无歧义。DeepSeek-R1 论文(2025-01)展示了仅靠 RLVR 就能让模型自发涌现出长思维链推理能力,震撼业界。
长上下文处理
Section titled “长上下文处理”现代 LLM 的上下文窗口(Context Window,即模型一次能处理的最大 token 数)从 GPT-3 的 2K 扩展到了 2025 年的 1M+(Gemini 2.5 Pro):
- 技术支撑:RoPE(旋转位置编码)的位置插值扩展、Ring Attention 等分布式注意力算法,以及上述 KV Cache 压缩技术(GQA/MLA),共同支撑了长上下文的实现。
- 实践意义:长上下文让”整本代码库问答”、“整本书摘要”、“超长文档 RAG”成为可能,减少了对复杂检索管道的依赖。但注意力随长度衰减(“中间遗忘”问题)仍存在,实际有效注意力远小于标称窗口。
推测解码(Speculative Decoding)
Section titled “推测解码(Speculative Decoding)”推测解码是 2024–2025 年广泛采用的推理加速技术:用一个小的”草稿模型”快速生成几个候选 token,再用大模型一次性验证。如果草稿模型的预测正确,就跳过大模型逐词生成的步骤——可以加速推理 2–3 倍而不牺牲质量。vLLM、TensorRT-LLM 等推理引擎均已支持。
- 温度(temperature)控制创造性:温度=0 时模型总是选概率最高的词(输出确定、保守);温度=1 时按原始概率采样;温度>1 时低概率词也有机会被选中(更有创意但可能跑偏)。聊天通常用 0.7–0.9。
- GPT 和 BERT 的本质区别:GPT 是 decoder-only,用”左侧上下文预测下一个词”(生成模型);BERT 是 encoder-only,用”双侧上下文预测被遮挡的词”(理解模型,不能生成)。
- Scaling Law 的实践含义:模型效果与参数量、数据量、算力呈幂律关系——这意味着只要持续增加投入,效果就会持续提升(直到遇到数据/算力瓶颈)。
- few-shot 不是微调:GPT-3 的 few-shot 是在 prompt 中给几个示例,模型不需要更新参数就能学会任务,这是规模化带来的涌现能力。
- SFT 数据质量 > 数量:LIMA 论文证明 1000 条高质量问答就能微调出不错的助手——数据质量是瓶颈,不是数据量。
- 上下文工程比微调重要:大多数场景下,写好 system prompt + few-shot 示例的效果不亚于微调,且成本极低。
- 模型选择:通用对话用 Qwen / LLaMA / DeepSeek 开源模型;推理密集任务用 o1 / DeepSeek-R1 等推理模型;本地部署选量化版本(GGUF/AWQ)。
- 幻觉问题:LLM 会”一本正经地胡说八道”——因为它的本质是概率续写,不是知识检索。RAG(检索增强生成)是缓解幻觉的主流方案。
- 对话助手:ChatGPT、Claude、DeepSeek 用 LLM 理解用户意图并生成回答,覆盖写作、翻译、知识问答等场景,月活用户已达数亿。
- 代码生成:GitHub Copilot、Codeium 用 LLM 在 IDE 内实时补全和生成代码,部分模型还能根据 issue 描述自动修复 bug。
- AI 搜索引擎:Perplexity、New Bing 用 LLM 理解搜索意图、综合多个网页信息生成带引用来源的回答,改变了传统关键词搜索的交互方式。
- 企业知识库问答:Dify、FastGPT 等平台用 RAG(检索增强生成)将 LLM 接入企业内部文档,员工用自然语言即可查询公司制度和业务知识。
- AI 写作助手:Notion AI、飞书智能助手嵌入文档编辑器,支持一键改写、续写和总结会议纪要,成为办公场景的标配功能。
- 智能客服:企业用经微调的 LLM 替代传统意图识别机器人处理售前咨询、售后工单、退换货等流程,减少人工坐席成本的同时提升首次解决率。
- 教育辅导:Khan Academy 的 Khanmigo、多邻国 Max 用 LLM 担任一对一 AI 导师,根据学生水平自适应出题、讲解错题、引导思考,而非直接给答案。
典型类库与工具
Section titled “典型类库与工具”| 类库 | 语言 | 说明 |
|---|---|---|
| HuggingFace Transformers | Python | GPT/LLaMA/Qwen 等大模型生态的统一加载、训练与推理库 |
| LangChain | Python | 搭建 LLM 应用(RAG、Agent、链式调用)的主流开发框架 |
| LlamaIndex | Python | 专注数据接入与 RAG 的 LLM 应用框架,擅长知识库问答 |
| vLLM | Python | 高吞吐量大模型推理引擎,支持 PagedAttention,部署首选 |
| tokenizers | Rust/Python | HuggingFace 的快速分词库,支持 BPE/SentencePiece 等算法 |
| PEFT / LoRA | Python | 参数高效微调库,只训练少量适配器参数即可定制大模型 |
| DeepSpeed | Python | 微软出品的分布式训练优化库,ZeRO 并行策略让千亿参数模型的训练成为可能 |
| Ollama | Go / Python | 本地一键运行开源大模型的工具,简化模型下载和 API 服务部署,适合个人开发和边缘部署 |
| llama.cpp | C++ | 纯 C++ 实现的 LLM 推理引擎,支持 GGUF 量化,可在 CPU 和低端 GPU 上运行大模型 |
| 术语 | 英文 | 解释 |
|---|---|---|
| 下一词预测 | Next-token Prediction | 语言模型根据上文预测最可能出现的下一个 token 的核心任务 |
| 自回归 | Autoregressive | 逐个生成 token 并将已生成部分拼回输入再预测下一个的生成方式 |
| 预训练 | Pre-training | 在大规模无标注数据上训练模型基础能力的阶段 |
| 监督微调 | SFT (Supervised Fine-Tuning) | 在人工标注的指令-回答对上微调模型,使其学会遵循指令 |
| 少样本学习 | Few-shot | 在 prompt 中提供少量示例即可让模型学会任务,无需更新参数 |
| 缩放定律 | Scaling Law | 模型效果与参数量、数据量、算力呈幂律关系的经验规律 |
| 涌现能力 | Emergent Ability | 模型规模超过某阈值后突然出现的新能力(如推理、few-shot) |
| 温度 | Temperature | 控制采样随机性的参数,低温保守确定、高温多样随机 |
| 上下文学习 | In-Context Learning | 无需微调,仅在输入中提供几个示例就能让模型学会新任务的能力(GPT-3 涌现) |
| 思维链 | Chain-of-Thought (CoT) | 引导模型逐步写出推理过程再给答案的提示技巧,可显著提升数学和逻辑推理表现 |
| 幻觉 | Hallucination | 模型生成看似合理但实际不正确或虚构内容的现象,根源在于概率生成而非知识检索 |
| 检索增强生成 | Retrieval-Augmented Generation (RAG) | 先从外部知识库检索相关文档再喂给 LLM 生成回答,是缓解幻觉的主流方案 |
| 混合专家模型 | Mixture of Experts (MoE) | 模型包含多个专家子网络,每次推理只激活少数专家,在保持大参数量的同时降低推理成本 |
| 推理模型 | Reasoning Model | 在回答前生成长思维链进行深度推理的 LLM,通过测试时计算扩展显著提升逻辑推理能力 |
| 可验证奖励强化学习 | RLVR | 用可验证任务(数学正确答案、代码测试通过)作为奖励信号的 RL 训练方法,无需人工偏好标注 |
| KV Cache | KV Cache | 推理时缓存的注意力键值对,避免重复计算历史 token 的投影,是自回归推理效率的核心 |
| 分组查询注意力 | Grouped-Query Attention (GQA) | 多头注意力的优化变体,将注意力头分组共享 KV,在质量和效率间取得平衡 |
| 推测解码 | Speculative Decoding | 用小模型快速生成候选 token 再由大模型验证的推理加速技术,可提速 2–3 倍 |
| 智能体 | Agent / Agentic | LLM 作为核心控制器,通过工具调用、多步推理、环境交互自主完成复杂任务的模式 |
- 统计学源头:Shannon 1948 年在《通信的数学理论》中用 n-gram 近似英语的熵,这是语言模型的起点。
- 神经网络语言模型:Bengio et al. 2003 NNLM 首次用神经网络学词向量;Mikolov et al. 2013 word2vec 使词嵌入大规模普及。
- Transformer:Vaswani et al. 2017 “Attention Is All You Need”——用自注意力替代 RNN 的串行处理,实现并行训练,是现代 LLM 的架构基础。
- GPT 路线:GPT-1(2018)验证 decoder-only 预训练可行性;GPT-2(2019)展示 zero-shot 能力;GPT-3(2020)以 175B 参数展示 few-shot 涌现。InstructGPT/ChatGPT(2022)加上 RLHF 对齐后引爆全球。
- 最新方向(2024–2026):多模态、推理模型(o1 / DeepSeek-R1,RLVR 训练)、Agent 化;开放权重模型(LLaMA / Qwen / DeepSeek)与闭源前沿差距收窄。
- MoE 架构:DeepSeek-V3(671B 总参数,37B 激活)证明了稀疏 MoE 在能力/成本比上的巨大优势;Mixtral 8x7B / 8x22B 开启了开源 MoE 先河。
- 推理模型:DeepSeek-R1 论文(2025-01)展示了纯 RLVR 训练即可让模型涌现长思维链推理,打破了 o1 的技术黑箱。RLVR 已成为 2025 年推理模型训练的主流范式。
- Agent 化:2025 年 LLM 从”对话工具”进化为”自主 Agent”——能浏览网页、操作电脑、调用 API、编写并执行代码来完成任务。代表性产品包括 Claude Computer Use、OpenAI Operator 等。