模型

发布于 2026-08-22

第二层:模型是怎么训练出来的?

从整体流程理解 AI 模型如何通过数据和训练获得能力,以及 Dataset、Training、Pretraining、Fine-tuning、Loss 和 Checkpoint 等核心概念之间的关系。

核心问题:模型的能力是怎么形成的?一套最初几乎没有能力的参数,怎样通过数据、目标函数和反复调整,逐渐形成语言理解与生成能力?

主要概念:Dataset、Training、Objective、Loss、Backpropagation、Optimizer、Pretraining、Post-training、Fine-tuning、Checkpoint

定义

一句话定义:模型训练,就是让模型反复处理训练数据,根据输出与目标之间的误差,不断调整参数,使模型逐渐学会完成某类任务的过程。

直观的理解:模型一开始只有确定的架构和大量初始参数。训练程序不断给它输入数据、计算误差并调整参数,最终得到一组能够产生有用输出的权重。

训练不是把资料原封不动地存入模型,而是通过大量样本不断调整参数,使模型学到数据中的统计规律和模式。

训练五要素:

Training(训练)
│
├── Dataset(训练数据)
├── Model Architecture(模型架构)
├── Training Objective(训练目标)
├── Loss Function(损失函数)
└── Optimizer(优化器)

1. DataSet

模型从什么数据中学习,Dataset 是训练过程中使用的数据集合。

  • 大语言模型数据可能包含:网页文本、书籍、代码、论文、问答数据、对话数据、人工标注数据、合成数据;
  • 多模态模型,还可能包含:图片与文字描述、视频与文字描述、音频与转录文本、图片、音频、视频之间的对应关系;

数据通常需要:原始数据 -> 收集 -> 清洗 -> 去重 -> 过滤 -> 标注与构造 -> 过滤 -> 切分 -> Tokenize -> 训练数据。

概念含义
Training Set用于更新模型参数的数据
Validation Set用于观察训练效果、调整配置的数据
Test Set用于最终评估模型能力的数据
Sample一条训练样本
Label / Target模型应该预测的目标
Synthetic Data由模型或程序生成的训练数据

数据决定模型能够接触什么,数据质量、数量和分布都会影响模型最终形成的能力与偏差。

2. Training Objective

模型被要求学习什么,对于自回归大语言模型,最典型的训练目标是:根据前面的 Token,预测下一个 Token。

比如:

输入:今天天气很
目标:好

训练时并不是只预测最后一个 Token,而是通常会对序列中的多个位置同时计算预测结果:

今天      → 天
今天天    → 气
今天天气  → 很
今天天气很 → 好

通过海量文本上的下一个 Token 预测,模型逐渐学习到:

  • 语言结构;
  • 词语关系;
  • 语法;
  • 常见知识;
  • 表达方式;
  • 一部分推理与任务模式。

3. Loss

模型“错了多少”,Loss 的中文通常是“损失”或“损失值”,用来衡量模型当前输出与训练目标之间的差距。

预测越接近目标 → Loss 越小
预测越偏离目标 → Loss 越大

训练的总体目标通常就是:找到一组参数,使训练数据上的 Loss 尽可能降低。

  • Loss Function:计算误差的方法;
  • Training Loss:训练数据上的损失;
  • Validation Loss:验证数据上的损失。

Loss 下降并不一定意味着模型在真实使用中一定更好,还需要通过验证集、测试集和实际任务进行评估。

一次参数更新是怎样发生的?

  1. Forward Pass: 前向传播

模型接受输入,根据当前参数计算输出:输入 + 当前参数 → 模型计算 → 预测结果

  1. Loss Calculation: 计算损失

将预测结果与正确目标进行比较,得到 Loss。

  1. Backpropagation: 反向传播

反向传播用于计算:每一个参数对这次误差产生了多大影响。

  1. Optimizer: 更新参数

Optimizer 根据梯度和学习率调整参数,新参数 = 旧参数 - 学习率 × 梯度。

整个训练循环是:准备数据 → 前向传播 → 计算损失 → 反向传播 → 更新参数 → 重复,直到 Loss 达到预期或训练结束。

训练数据的分批处理

基础单位:Dataset -> Epoch -> Batch -> Sample

概念含义
Sample一条训练样本
Batch一次送入模型的一组样本
Batch Size一个 Batch 中包含的样本数量
Step通常指一次参数更新
Epoch完整遍历一次训练集
Iteration一次训练循环,语境中常与 Step 接近
Learning Rate每次更新参数的步幅

模型经历的训练阶段

Pretraining
↓
Post-training
↓
可选的领域或任务适配

1. Pretraining: 预训练

使用大规模通用数据训练模型,使模型获得基础语言能力、知识模式和通用表示能力。

通常也称为:

  • Pretrained Model
  • Base Model
  • Foundation Model

比如,一个 Base Model 可能擅长写作,但是不擅长:

  • 遵循指令;
  • 进行多轮对话;
  • 拒绝不安全请求;
  • 按照指定格式回答;

预训练解决的是:让模型先获得通用的基础能力。

2. Post-training: 后训练

Post-training 是预训练之后的一系列训练和对齐过程,使模型更适合与人交互和完成具体任务,包括:

  • Supervised Fine-tuning(监督微调)
  • Instruction Tuning(指令微调)
  • Preference Tuning(偏好优化)
  • Alignment / Safety Tuning(对齐与安全训练)

Supervised Fine-tuning,SFT 监督微调

使用高质量的“输入—目标输出”数据继续训练模型。比如:用户问题 -> 理想回答。

让模型学习:

  • 如何遵循指令;
  • 如何组织回答;
  • 如何进行多轮对话;
  • 如何输出指定格式。

Instruction Tuning 指令微调

指令微调可以视为 SFT 的一种常见形式,重点是使用大量不同任务的指令数据,让模型学会理解和执行自然语言指令。

Preference Tuning 偏好优化

给模型多个回答以及人类或模型的偏好信号,让模型学习:哪种回答更有帮助、更符合期望或更安全。

常见术语包括:

  • RLHF;
  • Reward Model;
  • PPO;
  • DPO;
  • RLAIF。

Alignment

“对齐”是一个更宽泛的目标:让模型的行为更符合人类意图、价值要求和安全规范。

3. Fine-tuning:微调

一个宽泛概念:在已经训练好的模型基础上,使用新的数据继续训练,使其能力或行为适应特定目标。

微调可能发生在:

  • 通用指令数据上;
  • 专业领域数据上;
  • 特定任务数据上;
  • 特定风格数据上。
类型含义
Full Fine-tuning更新模型的大部分或全部参数
PEFT只训练少量新增参数或部分参数
LoRA常见的参数高效微调方法
Domain Fine-tuning适应医疗、法律、金融等领域
Task Fine-tuning适应分类、抽取、代码生成等任务

后训练可以包含微调和偏好优化;微调也可以用于后续的领域或任务适配。

Checkpoint

Checkpoint 是训练过程中,在某个时间点保存下来的模型状态。它包含:

Checkpoint
│
├── Model Weights
├── Optimizer State
├── Learning Rate Scheduler State
├── Current Step / Epoch
└── Random State 或其他训练状态

主要两个用途:

  1. 恢复训练,训练可能持续数天甚至数月。如果中断,可以从最近的 Checkpoint 继续,而不必从头开始。
  2. 保存不同训练阶段,不同 Checkpoint 可能具有不同效果,最终发布时,团队可能选择验证效果最好的一个,而不一定是最后一次保存的 Checkpoint。
概念主要用途包含内容
Training Checkpoint恢复或继续训练权重及优化器等训练状态
Model Weights加载模型进行推理通常主要是参数数值
Released Model分发和使用权重、配置、Tokenizer、说明等

模型能力不是来自单一因素,而是多个因素共同作用:

模型能力
│
├── Architecture(模型能怎样计算)
├── Data(模型看过什么)
├── Objective(模型被要求学习什么)
├── Training Scale(训练了多少)
├── Optimization(参数是否训练好)
└── Post-training(模型如何遵循人类意图)

架构决定模型具备什么样的计算框架,数据提供学习材料,训练目标规定学习方向,优化过程把这些规律写入参数,后训练则进一步塑造模型的交互方式和行为边界。

概念整理

模型训练的本质,是利用数据和训练目标产生误差信号,再通过反向传播和优化器反复调整参数。预训练赋予模型通用基础能力,后训练和微调进一步塑造其指令遵循、交互方式和专业能力;训练过程中形成的参数则通过 Checkpoint 和最终权重保存下来。

Model Training(模型训练)
│
├── Data(数据)
│   ├── Dataset
│   ├── Sample
│   ├── Training Set
│   ├── Validation Set
│   └── Test Set
│
├── Training Mechanism(训练机制)
│   ├── Training Objective
│   ├── Forward Pass
│   ├── Loss
│   ├── Backpropagation
│   ├── Gradient
│   └── Optimizer
│
├── Training Units(训练单位)
│   ├── Token
│   ├── Batch
│   ├── Step
│   └── Epoch
│
├── Training Stages(训练阶段)
│   ├── Pretraining
│   ├── Post-training
│   │   ├── SFT / Instruction Tuning
│   │   ├── Preference Tuning
│   │   └── Alignment
│   └── Domain / Task Fine-tuning
│
└── Training Output(训练产物)
    ├── Parameters / Weights
    └── Checkpoint