第 1 章 LLM模型机器学习

第 1 章 模型与 LLM 总览

第 1 章 模型与 LLM 总览

学习目标

  • 说清「模型」「参数」「超参数」「结构」「目标函数」这几个词在工程语境下的准确含义;
  • 理解假设空间、归纳偏置、泛化与过拟合,知道它们为什么决定模型的选择与调试方向;
  • 区分判别模型与生成模型,以及传统 ML、深度学习、基础模型、LLM 四代范式的本质差异;
  • 建立「模型生命周期」的整体视角,为全书后续各章定位。

1.1 模型、参数、超参数、结构、目标函数

先给几个贯穿全书的基础词下一个工程视角的定义。它们听起来像是教科书概念,但实际工作中 90% 的讨论混乱都源于这些词没对齐。

模型(Model) 是一个从输入到输出的映射,这个映射由结构(Architecture)参数(Parameters) 共同决定。结构决定了映射的「形状」——例如是一个线性函数还是一个多层神经网络;参数决定了映射的「具体数值」——例如线性函数里的权重 ww 和偏置 bb

参数是模型内部可学习的数值,通过训练更新。超参数(Hyperparameters) 是训练过程本身的设置,不由梯度更新决定,而是由人设定:学习率、批大小、层数、词表大小、上下文窗口长度都算超参数。层数这种「改了结构」的超参数在文献里常叫架构超参数,与「优化超参数」(学习率)区分开。

目标函数(Objective Function) 是训练时模型努力优化的量。机器学习里通常拆成两部分:

  1. 损失函数(Loss):衡量预测与目标之间的差距,越小越好;
  2. 正则化项(Regularization):对模型复杂度或参数大小施加惩罚,抑制过拟合。

训练的本质就是:在给定结构下,寻找一组参数,使目标函数在训练数据上尽可能小,同时在未见数据上保持好表现。

# 用最朴素的线性回归串起这些概念
import numpy as np

# 结构:y = w * x + b(线性模型)
# 参数:w, b(可学习)
# 超参数:学习率 lr、迭代轮数 epochs(人为设定)
# 目标函数:均方误差 + L2 正则

def train(X, y, lr=0.01, epochs=100, lam=0.001):
    w, b = 0.0, 0.0
    for _ in range(epochs):
        pred = w * X + b
        loss = np.mean((pred - y) ** 2)          # 数据拟合项
        reg = lam * (w ** 2)                      # 正则项(L2)
        dw = 2 * np.mean((pred - y) * X) + 2 * lam * w
        db = 2 * np.mean(pred - y)
        w -= lr * dw
        b -= lr * db
    return w, b

这五行代码里的每个词,放大到千亿参数的 LLM 上含义不变——只是参数从 2 个变成 2000 亿个,结构从一行公式变成数万行 Transformer,损失从 MSE 变成交叉熵,训练从 numpy 循环变成万卡集群。概念不变,规模变了,这是全书最重要的心智模型。

1.2 假设空间、归纳偏置、泛化与过拟合

假设空间(Hypothesis Space) 是某个结构所能表达的全部映射的集合。线性模型只能表达直线,假设空间是「所有直线」;带 ReLU 的多层感知机(MLP)能表达任意连续函数(通用近似定理),假设空间大得多。

归纳偏置(Inductive Bias) 是结构自带的「先验偏好」:CNN 假设局部性与平移不变性,RNN 假设序列依赖,Transformer 假设任意两个位置都可能相关。归纳偏置小、假设空间大的模型更灵活,但需要更多数据来约束;归纳偏置强的模型在数据不足时更容易学好,但若先验错了就会学偏。

泛化(Generalization) 指模型在训练数据之外的新数据上的表现。过拟合(Overfitting) 是模型把训练数据里的噪声也记住了,导致训练好、测试差。欠拟合则是模型容量不足,连训练数据都拟合不好。

这张图对应了工程里最常见的两类问题:

%%{init: {"themeVariables": {"primaryTextColor": "#000000", "textColor": "#000000", "labelColor": "#000000", "nodeTextColor": "#000000", "labelTextColor": "#000000", "scaleLabelColor": "#000000"}}}%%
graph LR
    A[训练误差高] --> B{泛化差距?}
    B -->|差距小| C[欠拟合:增大容量/特征]
    B -->|差距大| D[过拟合:加正则/加数据/降容量]
    E[训练误差低] --> F{泛化差距?}
    F -->|差距小| G[健康模型]
    F -->|差距大| H[过拟合:正则化/早停/更多数据]

对 LLM 而言,「泛化」换了个名字叫涌现与迁移:模型在预训练语料上学习后,能处理未见过的任务。但同样的道理依然成立——如果评测集和训练语料分布太近,就会产生评估集污染(Benchmark Contamination),本质是一种过拟合:模型不是学会了能力,而是背住了答案(第 9 章展开)。

1.3 判别模型 vs 生成模型

机器学习模型按「学什么」分成两大类:

  • 判别模型(Discriminative):直接学习条件分布 P(yx)P(y|x),即「给定输入,输出标签」。分类、回归、排序大多是判别式。它不关心数据是怎么生成的,只画分类边界,数据利用率高、任务上常更强。
  • 生成模型(Generative):学习联合分布 P(x,y)P(x, y) 或输入本身的分布 P(x)P(x),从而能「生成」新的数据样本。朴素贝叶斯、HMM、GAN、VAE、Diffusion 都属于生成模型。
维度 判别模型 生成模型
建模对象 P(yx)P(y \mid x) P(x,y)P(x, y)P(x)P(x)
典型任务 分类、回归、排序 文本生成、图像生成、补全
代表 逻辑回归、SVM、CNN 分类头 GAN、VAE、Diffusion、GPT
能否生成新样本 不能
数据效率 通常更高 通常更低

LLM 为什么是生成模型?因为 GPT 家族的预训练目标是下一个词预测(CLM,Causal Language Modeling),学的就是 P(xtx<t)P(x_t | x_{<t})——给定上文预测下一个 token。这个「生成式」选择带来两个深远结果:

  1. 任务统一:分类、翻译、摘要、对话全都能表达成「生成一段文本」,不需要为每个任务设计输出头;
  2. 自监督数据无限:文本本身就是标签,不需要人工标注,语料即答案。

这是 LLM 与传统深度学习最根本的分水岭之一:传统模型为任务定制结构,LLM 用生成式统一一切任务。

1.4 传统 ML、深度学习、基础模型、LLM

把机器学习四十年的演进压成一张表:

范式 特征表示 学习方式 数据 代表
传统 ML 人工特征工程 有监督为主 千~百万级 LR、SVM、GBDT、RF
深度学习 端到端自动学特征 有监督 + 少量自监督 万~亿级 CNN、RNN、Transformer
基础模型 大规模自监督预训练 + 微调 自监督主导 十亿~万亿 token BERT、GPT、CLIP
LLM 生成式、指令跟随、涌现能力 自监督预训练 + 对齐 万亿级 token GPT-4、Llama、Qwen

四个阶段不是替代关系,而是分工关系。今天的生产系统里,GBDT 依然统治着结构化数据的排序与风控(第 24 章会讲),CNN 仍在图像任务上有不可替代的效率,而 LLM 接管了自然语言交互与开放任务。

几个关键区别值得记住:

  • 传统 ML 靠特征工程:人的领域知识编码进特征,模型负责拟合。特征是瓶颈。
  • 深度学习去掉特征工程:但每个任务仍需定制结构(检测要 anchor、翻译要 Seq2Seq)和标注数据。
  • 基础模型引入预训练-微调:先在无标注大语料上自监督预训练,再在任务上微调。BERT 是里程碑。
  • LLM 是「生成式 + 规模化 + 对齐」的合成产物:当参数量和语料量跨过某个规模,模型涌现出指令跟随、上下文学习等能力,再用 RLHF/DPO 对齐人类偏好,成为可对话、可服务的产品。

一句话总结差异:传统 ML 学「特征到标签的映射」,深度学习学「数据到特征再到标签」,基础模型学「世界知识」,LLM 学「世界知识 + 如何与人协作」。

1.5 LLM 的定义、能力、涌现与边界

LLM(Large Language Model,大语言模型):以 Transformer(Decoder-only)为基础架构、在超大规模文本语料上以自回归方式预训练、参数量通常达到十亿乃至万亿级别的语言模型。

它具备几类核心能力,这些能力大多不是被显式训练出来的,而是规模化后的副产品:

  • 上下文学习(In-Context Learning, ICL):给几个示例就能完成新任务,不改参数只改 Prompt。
  • 指令跟随(Instruction Following):理解自然语言指令并执行,这是 SFT 与 RLHF 对齐的结果。
  • 思维链(Chain-of-Thought, CoT):通过「先推理再作答」提升复杂问题正确率。
  • 代码与工具使用:生成代码、调用函数、操作工具,这是 Agent 化的基础(第 26 章)。
  • 多语言与多任务:在预训练语料覆盖的语言和任务上普遍可用。

涌现(Emergence) 指某些能力在模型规模跨过阈值后才突然出现,小模型不具备。最著名的例子是算术、多步推理与上下文学习。但「涌现」在学术上仍有争议——有研究表明它可能只是评测指标的平滑转变(Schaeffer et al., 2023),能力其实是连续增长的,只是我们用二值化指标度量时才显得「突变」。工程上不必纠结哲学争议,记住结论即可:某些能力与规模强相关,规模是能力的重要杠杆,但不是唯一杠杆(数据质量、对齐同样关键)。

边界(Limitations) 同样要清醒认识:

%%{init: {"themeVariables": {"primaryTextColor": "#000000", "textColor": "#000000", "labelColor": "#000000", "nodeTextColor": "#000000", "labelTextColor": "#000000", "scaleLabelColor": "#000000"}}}%%
mindmap
  root((LLM 的边界))
    幻觉
      编造事实
      自信的错误
      引用不存在的文献
    知识截止
      训练数据时间上限
      实时性差
    数学与精确计算
      长链条算术易错
      需要工具增强
    上下文限制
      窗口有限
      长上下文成本高
    安全风险
      越狱
      提示注入
      隐私泄露
    成本
      Token 费用
      GPU 依赖

1.5.1 幻觉

幻觉(Hallucination)是 LLM 生成看似合理但事实上错误的内容。它源于生成模型的基本属性:模型输出的是「最可能的 token 序列」,而非「经过验证的事实」。幻觉分事实性幻觉(与事实不符)与忠实性幻觉(与用户输入/上下文不符,如不遵循指令、忽略 RAG 检索结果)。缓解手段包括 RAG、更可靠的对齐、以及推理时验证,但这些只能降低概率,无法根除(第 9、17、23 章反复涉及)。

1.5.2 涌现能力与 In-Context Learning

上下文学习(ICL)值得单独强调:它让「改行为」的成本从「重新训练」降为「写 Prompt」。这直接改变了模型生命周期——模型的「使用期」从纯推理扩展为 Prompt 工程、RAG、Agent 编排,也把一部分「训练工作」转移到了「服务层」(第 17 章)。

1.6 LLM 生命周期与工程视角

全书的核心主张:模型工程不是「训练完就结束」

传统上,「机器学习项目」的终点是训练出一个好模型,然后部署上线。但 LLM 时代,训练只是漫长生命周期的中间一环。一个 LLM 产品从诞生到退役,要经历完整生命周期:

%%{init: {"themeVariables": {"primaryTextColor": "#000000", "textColor": "#000000", "labelColor": "#000000", "nodeTextColor": "#000000", "labelTextColor": "#000000", "scaleLabelColor": "#000000"}}}%%
graph LR
    A[数据] --> B[预训练]
    B --> C[后训练/对齐
SFT RLHF DPO] C --> D[评估] D -->|不达标| B D --> E[压缩/量化] E --> F[推理优化] F --> G[服务 Serving] G --> H[部署] H --> I[监控] I --> J{反馈} J -->|数据回流| A J -->|模型漂移| C J -->|继续预训练| B

这个环里的每一站,都是本书的一篇:

生命周期阶段 本书位置 核心问题
数据 第 2 篇(第 6 章) 语料从哪来、怎么清洗、怎么配比
预训练与后训练 第 2 篇(第 7-8 章) 怎么训练、怎么对齐、怎么高效微调
评估 第 2 篇(第 9 章) 模型到底行不行
分布式训练 第 3 篇(第 10-12 章) 单卡放不下怎么办
压缩与推理 第 4 篇(第 13-14 章) 怎么跑得快、跑得省
服务与部署 第 5-6 篇(第 15-20 章) 怎么对外提供稳定服务
监控与治理 第 7 篇(第 21-23 章) 上线后怎么保证可靠与安全
案例与趋势 第 8 篇(第 24-28 章) 别人怎么做的、接下来往哪走

1.6.1 工程视角 vs 研究视角

同样一个模型,研究和工程的关注点截然不同:

维度 研究视角 工程视角
目标 提升某个指标 稳定、可控、可解释地服务
时间尺度 周/月 持续运行、常年迭代
成功标准 论文指标 SLA、成本、用户价值
关注对象 模型能力 模型 + 数据 + 系统 + 流程
对待失败 可接受、可复现 不可接受、要有预案

「从 Notebook 到生产系统」的鸿沟(research-to-production gap)指的就是:Notebook 里能跑通的模型,离一个高可用、低成本、可监控的生产服务,中间隔着分布式训练、压缩、服务、部署、监控、治理这一整条链路。本书就是为填平这条鸿沟而写。


本章要点回顾

  1. 模型 = 结构 + 参数;超参数是训练过程设置;目标函数 = 损失 + 正则。
  2. 假设空间与归纳偏置决定模型「能学什么、好不好意思学」;泛化与过拟合是所有调参决策的底层依据。
  3. 判别模型学 P(yx)P(y|x),生成模型学 P(x,y)P(x,y);LLM 是生成模型,用下一个词预测统一所有任务。
  4. 传统 ML → 深度学习 → 基础模型 → LLM,是特征工程、结构工程、预训练、对齐四代范式的演进。
  5. LLM 的核心能力(ICL、指令跟随、CoT)大多是对齐与规模化的产物;幻觉、知识截止、成本是现实边界。
  6. 模型生命周期:数据 → 预训练 → 对齐 → 评估 → 压缩 → 推理 → 服务 → 部署 → 监控 → 反馈回流。这是全书的骨架。

习题

  1. 用你自己的话解释:为什么「生成式」让 LLM 可以用自监督方式无限获取训练数据?
  2. 一个 GBDT 模型和一个 GPT 模型同时过拟合,它们的应对手段分别是什么?为什么不同?
  3. 查资料确认:为什么评估集污染是「评估层面的过拟合」?举一个真实案例(如某模型在 GSM8K 上的争议)。
  4. 假如你的公司要做一个「给客服生成回复」的系统,你会选传统 ML、BERT 微调还是 LLM?你的判断依据是什么?

延伸阅读

  • Vaswani et al., Attention Is All You Need, 2017(Transformer 原文,第 3 章会深入)
  • Radford et al., Language Models are Unsupervised Multitask Learners, 2019(GPT-2)
  • Brown et al., Language Models are Few-Shot Learners, 2020(GPT-3,ICL 的起点)
  • Wei et al., Emergent Abilities of Large Language Models, 2022(涌现)
  • Schaeffer et al., Are Emergent Abilities of Large Language Models a Mirage?, 2023(涌现的争议)

下一章预告

第 2 章把「模型」这个大家族按学习范式、任务、结构、模态、规模、部署形态六个维度做全景扫描,回答一个实际选型问题:面对一个具体业务,到底该选什么模型?