大模型基础概念理解

大模型基础概念理解

一个典型大语言模型(LLM)的生命周期可以概括为:

1
2
3
4
5
6
7
8
9
10
11
12
13
原始数据
↓ 清洗、去重、过滤、配比、分词
预训练(Next-Token Prediction)
↓ 获得 Base Model:会续写、有知识,但未必会听指令
继续预训练(可选,领域知识/新语言/长上下文)

监督微调 SFT
↓ 获得 Instruction Model:学会指令格式和示范行为
偏好对齐(DPO / PPO-RLHF / GRPO 等)
↓ 提升有用性、安全性、风格、推理或可验证任务能力
评测、压缩、量化、部署

在线推理、监控、数据回流、迭代训练

预训练主要解决“能力和知识从哪里来”,SFT 解决“如何按指令表现”,偏好优化解决“多个看似合理的答案中更偏好哪个”,推理系统解决“如何以可接受的成本和延迟把能力交付出来”。

查看更多

1. 模型训练、推理的定义

1.1 模型训练(Training)

训练就是“让模型做题、对答案、根据错误调整内部参数,然后反复练习”。

可以把模型想成一个有数十亿个旋钮的机器:

  1. 给它一条训练数据;
  2. 模型先给出预测;
  3. 用 loss(损失)表示它错得有多严重;
  4. 反向传播判断哪些旋钮应向哪个方向调整;
  5. 优化器按学习率小幅调整旋钮;
  6. 重复数十亿次后,模型的预测逐渐改善。

几个名词的直白解释:

  • Loss:本次做题的错误分数,通常越低越好。
  • Gradient(梯度):告诉每个参数“应该往哪个方向改”。
  • Learning Rate(学习率):每次改多少。太大容易改坏,太小训练太慢。
  • Optimizer(优化器):综合当前和历史梯度,决定具体怎么改,常见的是 AdamW。

训练包含两个核心过程:

  1. 前向传播:输入经过模型,得到 logits、概率和损失。
  2. 反向传播:使用链式法则计算梯度,优化器更新权重。

1.2 模型推理(Inference)

推理是模型训练完成后的“实际答题”。此时通常不再修改参数,只根据用户输入生成结果。

例如用户输入“北京是中国的”,模型可能给下一个词打分:

1
2
3
4
“首都”  92%
“城市” 5%
“省份” 1%
其他 2%

模型选出“首都”后,再根据“北京是中国的首都”预测下一个 token,如“。”。它就是这样一个 token 接一个 token 地生成完整回答。

推理时通常经历:

  1. Prefill(预填充):并行处理整个输入 prompt,构建 KV Cache;偏计算密集。
  2. Decode(解码):逐 token 生成,并复用 KV Cache;常受显存带宽和访存制约。
  3. Sampling(采样):从概率分布选择 token,例如 greedy、temperature、top-k、top-p。

2. 大语言模型为什么能通过“预测下一个 token”学习能力

2.1 Tokenization

模型不直接处理文字,而是处理 token ID。常见分词方法包括 BPE、WordPiece、Unigram。一个 token 可能是一个汉字、词的一部分、标点或代码片段。

分词器影响:

  • 序列长度与训练/推理成本;
  • 多语言效率;
  • 数字、代码和特殊格式的表示;
  • 词表大小与 embedding 参数量。

2.2 自回归语言建模目标

自回归模型的训练题型始终很简单:遮住下一个 token,让模型猜。

1
2
3
4
5
6
7
原文:机器学习是人工智能的一个重要分支。

训练题 1:机器 → 猜“学习”
训练题 2:机器学习 → 猜“是”
训练题 3:机器学习是 → 猜“人工”
训练题 4:机器学习是人工 → 猜“智能”
……

猜中正确 token 的概率越高,loss 越低;如果模型把概率大量分给错误 token,loss 就会升高。

直觉上,想要持续准确预测下一个 token,模型必须从海量文本中压缩统计规律,包括语法、语义、事实关联、常见推理模式和任务格式。但模型学到的是参数化的条件概率分布,不等于建立了无误的事实数据库,因此会产生幻觉。

2.3 Transformer 的最小原理

Transformer 的关键是自注意力,可以理解为:模型阅读当前词时,会判断上下文中的哪些词最值得关注。

例如:

1
小王把书交给了小李,因为他明天要考试。

模型处理“他”时,会尝试判断“小王”和“小李”谁与“明天要考试”关系更强。每一层、每一个注意力头都可以从不同角度建立这种联系。

在技术术语里:Query 表示“我在找什么”,Key 表示“我能被怎样匹配”,Value 表示“匹配后实际取走的信息”。Causal Mask 则像一块挡板,保证模型训练时不能偷看后面的正确答案。

典型 Decoder-only LLM 由 embedding、位置编码、多层注意力、MLP、残差连接和归一化组成。多头注意力允许模型在不同子空间关注不同关系。

2.4 Teacher Forcing 与 Exposure Bias

训练时,预测第 (t) 个 token 的上下文通常是真实 token;推理时,上下文包含模型自己先前生成的 token。这种训练与推理输入分布的差异称为 exposure bias,早期错误可能在生成中不断累积。

3. 从数据到模型:训练流水线

3.1 数据工程

数据质量通常比盲目增加低质数据更重要。常见环节包括:

  • 数据许可、隐私与合规检查;
  • 语言识别、编码和格式标准化;
  • 文档级、段落级、近似去重;
  • 垃圾文本、广告、色情、恶意代码和 PII 过滤;
  • 质量打分与高质量数据上采样;
  • 领域、语言、代码、数学等数据配比;
  • benchmark 去污染(decontamination);
  • 切分、packing 与 tokenization。

3.2 训练一个 batch 的过程

1
2
3
4
5
样本 → tokenize → padding/packing → forward
→ logits → loss mask → loss
→ backward → gradient synchronization
→ gradient clipping → optimizer step
→ learning-rate scheduler → 清空梯度

对聊天 SFT,常见做法是只对 assistant 回复计算 loss,system/user token 作为条件但被 loss mask 屏蔽。是否屏蔽 prompt 取决于训练目标,并非绝对规则。

3.3 关键超参数

超参数 含义 常见风险
Learning Rate 每次更新幅度 太大不稳定或遗忘,太小学不动
Batch Size 一次更新使用的 token/样本数 太小梯度噪声大,太大可能泛化变差且占显存
Sequence Length 单条训练序列最大长度 注意力计算和显存通常随长度快速增长
Epoch 数据被完整遍历的次数 小数据多 epoch 容易过拟合
Warmup 训练初期逐渐升高学习率 缺失时初期易发散
Weight Decay 对权重的正则约束 太强导致欠拟合
Gradient Clipping 限制梯度范数 防止偶发梯度爆炸,但不能掩盖系统性不稳定
Dropout 随机失活 微调中取值需结合数据规模和基座模型

例如每张卡一次放 2 条数据,累积 8 次梯度,一共有 4 张数据并行卡,那么一次真正更新相当于看了 2 × 8 × 4 = 64 条数据。这就是有效 batch size。

比较实验时更应关注每步 token 数,而不仅是样本数,因为样本长度可能差异很大。

3.4 常见训练异常

现象 可能原因 排查思路
Loss 突然 NaN 学习率过大、FP16 溢出、异常样本、除零 检查 loss scale、梯度范数、数据、logits
Train loss 降、验证变差 过拟合、数据泄漏、分布不一致 早停、正则、扩数据、检查划分与去重
模型格式混乱 chat template 不一致、EOS/label mask 错误 抽查 tokenized 样本和解码结果
领域能力升、通用能力降 灾难性遗忘、领域数据占比过高 混入通用数据、降低 LR、PEFT、多任务训练
Reward 升、真实质量降 reward hacking、奖励模型偏差 多维评估、保留集、人评、KL/约束、改 reward
多卡结果异常 并行切分或梯度同步错误 单卡对照、检查 seed、通信与 checkpoint

 

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×