大模型微调领域名词大全:SFT、LoRA、RLHF 一次讲清楚

从预训练到推理部署,PEFT / 对齐 / 量化 / 评测一站式速查

做 LLM 微调(Fine-tuning,微调)时,文档、论文、GitHub README 里会蹦出大量缩写:SFT、LoRA、QLoRA、DPO、GRPO、AWQ……很多人第一次读 LLaMA-Factory 的文档时,一半的参数名都是陌生的。

这篇博客把大模型微调全链路(数据 → 训练 → 对齐 → 量化 → 评测 → 部署)涉及的专业名词做一次系统梳理,每个名词给出英文全称 + 中文解释 + 必要的展开说明,并附上不同微调方法的显存/硬件需求参考,方便对照着看框架文档。


一、先建立全景图:微调在训练流程中的位置

一个典型的 LLM 从"预训练裸模型"变成"可用的聊天模型",要经历下面几个阶段:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
预训练 (Pre-training)
    ↓  海量文本上自回归训练,学到语言与世界知识
基础模型 (Base Model)
监督微调 (SFT / Instruction Tuning)
    ↓  用"指令-回答"数据教模型听话
指令模型 (Instruct / Chat Model)
偏好对齐 (RLHF / DPO / GRPO / ...)
    ↓  用人类偏好让回答更安全、有用、更符合口味
对齐模型 (Aligned Model)
量化 (Quantization) + 评测 (Evaluation) + 推理部署 (Inference / Serving)

对应的模型称呼:

名词解释
Base Model(基础模型 / 裸模型)只做完预训练的模型,会"接话"但不会"对话",输出常不可控
Instruct Model(指令模型)经过指令微调(SFT)的模型,能理解并遵循指令
Chat Model(对话模型)在 Instruct 基础上再做了偏好对齐的模型,对话体验好、更安全
Reasoning Model(推理模型)专门强化推理能力的模型(如 o1/R1 系列),长思维链 + 强化学习

一句话:Base 会说话,Instruct 听话,Chat 讨人喜欢。


二、微调方法:Full FT 与 PEFT

2.1 全参数微调(Full Fine-tuning, Full FT)

把模型所有参数都参与更新。效果上限最高,但显存需求巨大:7B 模型用 AdamW 训练,参数 + 梯度 + 优化器状态大约需要 7B × (2+2+12) ≈ 140GB(混合精度下),单卡基本跑不动,必须上多卡 + ZeRO/FSDP。

相关名词:

名词解释
参数冻结(Freeze, 冻结)把部分层(如 Embedding, 嵌入层、浅层 Transformer 块)设为只读,只训练其余层,省显存
PEFT 的对立面Full FT 的缺点:灾难性遗忘风险大、显存贵、每个领域一份完整权重

2.2 参数高效微调(PEFT, Parameter-Efficient Fine-Tuning, 参数高效微调)

HuggingFace 提出的统称:只训练原模型参数的一小部分(通常 <1%),其余冻结。代表方法 LoRA 是目前工业界的事实标准。

PEFT 家族总览:

方法(英文全称)训练什么参数量一句话
LoRA(Low-Rank Adaptation, 低秩适应)注入的低秩矩阵 A、B极小主流首选
QLoRA(Quantized LoRA, 量化 LoRA)4bit 量化基座 + LoRA极小消费级显卡微调大模型
DoRA(Weight-Decomposed LoRA, 权重分解 LoRA)LoRA 的方向分量 + 权重幅度微调效果逼近 Full FT
AdaLoRA(Adaptive LoRA, 自适应 LoRA)自适应分配秩的低秩矩阵按重要性动态分配秩
iLoRA(improved LoRA, 改进初始化 LoRA)改进初始化的 LoRA秩可以开到 256
IA3(Inter-layer Adapter, 层间适配器)每层输出的对角缩放向量极小比 LoRA 参数更少
Prompt Tuning(提示调优)输入层前的软提示向量极小只适合超大基座
Prefix Tuning(前缀调优)每层注意力前的前缀向量比 Prompt Tuning 表达力强
P-Tuning / v2(连续提示嵌入,Prompt Generator 提出)连续提示嵌入中文社区常用,v2 小模型也有效
BitFit(仅 bias 项微调)只训练 bias 项极小最简单粗暴的 PEFT
VeRA(Vector-based random matrix adaptation, 基于随机向量的矩阵适应)固定随机矩阵 + 缩放向量极小不同秩共享随机矩阵
BoT(Basis of Training, 训练基)固定正交基 + 学习系数系数更新,基不更新
GaLore(Gradient Low-Rank Projection, 梯度低秩投影)全参数,但梯度低秩压缩全参省显存做 Full FT
PiSSA(Principal components SLoRA, 主成分 SLoRA)用 W 的主成分初始化 LoRA数据效率更高
SSLoRA(SVD-based LoRA, 基于 SVD 的 LoRA)SVD 初始化 LoRA与 PiSSA 思路相近
OFT(Orthogonal Fine-Tuning, 正交微调)正交方向更新权重全参保持梯度流稳定,效果接近 Full FT

2.3 LoRA(Low-Rank Adaptation, 低秩适应)详解

LoRA 是微调领域出镜率最高的词,必须拆开讲透。

原理:不直接改预训练权重 W,而是学一个低秩增量:

1
2
3
4
5
W' = W + ΔW = W + B · A
    W: d×d  (冻结)
    A: r×d  (随机初始化,如高斯)
    B: d×r  (零初始化)
    r ≪ d   (秩,rank)

前向传播时 B·AW 并行相加,训练只更新 A、B,显存和速度都省了。初始时 B=0,所以 LoRA 起步等价于原模型,训练稳定。

LoRA 相关高频名词:

名词解释
rank(秩, r)低秩矩阵的秩,越大表达能力越强、参数越多。常用 8 / 16 / 32 / 64,任务越难开越大
alpha(缩放系数, α)缩放系数,实际生效的缩放是 α/r。通常取 α = 2r 或 α = r
target_modules(目标层)哪些层注入 LoRA:q_projk_projv_projo_projgate_projup_projdown_proj;写 all-linear 表示所有线性层
lora_dropout(LoRA Dropout)LoRA 分支的 dropout,防过拟合,常用 0.05
lora_A / lora_B(低秩分解矩阵)低秩分解的两个矩阵(A 随机初始化,B 零初始化)
合并(Merge & Unload, 合并卸载)训练完把 W + B·A 合并回原权重,推理零开销
热切换(Hot-swap, 热交换)不合并,推理时按请求动态挂载不同 LoRA(S-LoRA / vLLM 的 LoRA 支持)
adapter(适配器, Adapter)训练完的 LoRA 权重文件,通常只有几十 MB

LoRA 的优缺点

2.4 QLoRA(Quantized LoRA, 量化 LoRA)

QLoRA = 4bit 量化的冻结基座 + 全精度 LoRA。核心组件:

名词解释
NF4(NormalFloat 4-bit, 正态浮点 4bit)为"正态分布的权重"设计的 4bit 数据类型
Double Quantization(双重量化)量化常数本身再量化一次,再省约 0.4bit/参数
Paged Optimizer(分页优化器)利用 CPU 内存分页,吸收显存峰值
Dequantization on the fly(即时反量化)前向时临时把 4bit 权重反量化到 bf16 参与计算

效果:65B 模型微调可以塞进单张 48GB 卡(QLoRA 论文的招牌结果)。现在 LLaMA-Factory 里 quantization_bit: 4 + bfloat16 就是 QLoRA。

2.5 其他值得知道的变体(一句话版)

2.6 提示类 PEFT:Prompt / Prefix / P-Tuning

名词解释
Prompt Tuning(提示调优)在输入 embedding 前接一段可训练的连续向量(软提示, soft prompt),只有输入层有参数
Prefix Tuning(前缀调优)每一层 Transformer 的注意力 KV 前都拼上可训练的前缀向量,表达力更强
P-Tuning(连续提示)用一个 prompt generator 把软提示编码成序列,接在输入前(面向中文大模型)
P-Tuning v2每层都有提示参数,100M 级小模型也有效,中文社区微调小模型常用

特点:参数极少、可热插拔;但对小模型(7B 以下)效果通常不如 LoRA,需要超大基座才能发挥。

2.7 不同微调方法的计算资源需求(显存速查)

先记住一笔"显存账"(全参训练,每个参数约 1618 字节:bf16 权重 2B + bf16 梯度 2B + Adam 优化器状态 8B + fp32 主权重 4B,再加激活值)。下表按 **seq_len 2k4k、batch=1 + 梯度累积、开启 FlashAttention / 激活重计算** 估算:

方法7B 模型13B 模型70B 模型
Full FT(bf16 + AdamW 全参)≈120GB:8×A100-40G 或 4×A100-80G(ZeRO-3)≈220GB:8×A100-40G≈1.1TB:16×A100-80G,或 8×A100-80G + Offload(慢)
Full FT + ZeRO-Offload(优化器状态卸载到 CPU)4×A100-80G + 128GB 以上 CPU 内存8×A100-80G + 大内存8×A100-80G + NVMe(ZeRO-Infinity,非常慢)
LoRA(bf16 基座冻结)≈20GB:24GB 单卡(3090/4090)≈32GB:48GB 单卡(A6000)或 2×24GB(FSDP/ZeRO-3)≈150GB:4×A100-40G(ZeRO-3)
QLoRA(4bit 基座冻结)≈10GB:16GB 单卡即可≈18GB:24GB 单卡(3090/4090)≈48GB:48GB 单卡(A100-48G/A6000),24GB 双卡 + offload
GaLore(全参 + 梯度低秩压缩)≈60GB:2×A100-40G 或 4×24GB≈120GB:4×A100-40G≈600GB:8×A100-80G + Offload

对齐阶段的资源需求(PPO 是"四模型俱乐部",最吃显存):

阶段同时加载的模型7B(LoRA 版)参考说明
SFT(QLoRA)基座 ×116GB 单卡见上表
DPO / SimPO / ORPO策略 + 参考模型 ×224GB 单卡(LoRA 策略 + 冻结参考)约为 SFT 的 1.5~2 倍
GRPO策略 + 参考 ×2(无 Critic)2×24GB / 48GB比 PPO 省一个 Critic
PPO(RLHF)策略 + 参考 + Reward Model + Critic ×48×A100-80G(带 offload)显存需求最高,通常需多卡集群

注意:以上为粗略参考。序列长度(cutoff_len)、batch size、激活是否重计算都会显著影响实际显存;70B 级别的 Full FT 对普通团队基本不现实,社区微调 7B~14B 主流是 QLoRA / LoRA,70B 用 QLoRA 双卡或 LoRA 四卡


三、SFT:监督微调

3.1 基本概念

名词解释
SFT(Supervised Fine-Tuning, 监督微调)用 (输入, 标准回答) 成对数据,以 teacher forcing 方式训练模型生成标准回答
Instruction Tuning(指令微调)SFT 的一种数据组织形式:数据写成"指令 → 回答",教模型遵循指令。Alpaca 论文带火了这个词
Instruction Data(指令数据)SFT 用的训练数据,常见来源:人工撰写、模型合成、开源数据集(Alpaca、Dolly、OpenOrca、ShareGPT 等)
Multi-turn(多轮对话)一条样本包含多组 user/assistant 轮次,训练模型维持上下文连贯
System Prompt(系统提示)设定模型角色/行为边界的提示,训练时通常放在对话最前

3.2 数据格式(三种最常见)

Alpaca 格式(单轮,Stanford Alpaca 带火):

1
{"instruction": "写一个快排", "input": "用 Python", "output": "def quick_sort(...)"}

ShareGPT 格式(多轮,来自 ShareGPT 抓取的真实对话):

1
2
3
4
{"conversations": [
  {"from": "human", "value": "介绍一下 LoRA"},
  {"from": "gpt", "value": "LoRA 是低秩适应……"}
]}

ChatML 格式(多轮,角色化,OpenAI 风格,现在最主流):

1
2
3
4
5
6
system
你是一个助手
user
介绍一下 LoRA
</think>
LoRA 是低秩适应……

相关名词:

名词解释
Chat Template(对话模板)把 (system, user, assistant) 序列拼成特定模型要求的字符串格式的模板,不同模型(Qwen/Llama/GLM…)模板不同,用错模板效果会崩
Special Tokens(特殊标记)如 ``、<bos><eos><pad>,标记对话边界和序列结束
loss mask(损失掩码, Loss Masking)只对 assistant 回答部分计算 loss,prompt 部分 label 置为 -100(不训练模型"预测用户说的话")。这是 SFT 的关键细节
Packing(拼接打包)把多条短样本拼进一条 max_len 序列,提升 GPU 利用率(注意加 attention 隔离,LLaMA-Factory 的 neat_packing
Padding(填充)把 batch 内不同长度的样本 pad 到同长,pad 位置不计 loss

3.3 SFT 常用超参数速查

超参典型值说明
lr(learning rate, 学习率)LoRA: 1e-4 ~ 2e-4;Full FT: 1e-6 ~ 5e-6SFT 学习率普遍比预训练小一个量级以上
batch_size(批大小)有效 batch 16 ~ 128显存不够时用梯度累积凑
epoch(轮次)1 ~ 3指令数据量不大时 2~3 轮常见,多了容易过拟合
warmup_ratio(预热比例)0.03学习率预热比例
lr_scheduler_type(学习率调度器)cosine余弦退火最常用
max_seq_len / cutoff_len(最大序列长度)2048 ~ 32768序列截断长度,超长样本被截断
rank / alpha(秩 / 缩放系数)16 / 32LoRA 秩与缩放
target_modules(目标层)all-linear覆盖 q/k/v/o/gate/up/down
bf16(bfloat16, 16bit 脑浮点)true混合精度训练
gradient_checkpointing(梯度检查点 / 激活重计算)true用计算换显存(省激活值显存,慢 ~20%)

经验法则:SFT 的效果 70% 看数据、20% 看超参、10% 看玄学。数据质量 > 数据数量是社区共识。


四、对齐与强化学习(RLHF 家族)

让模型"有用、诚实、无害"(helpful, honest, harmless)的过程统称对齐(Alignment, 对齐)

4.1 RLHF 三件套(InstructGPT 经典流水线)

1
SFT 模型 → 训练 Reward Model (RM) → PPO 强化学习
名词解释
RLHF(Reinforcement Learning from Human Feedback, 基于人类反馈的强化学习)人类标注偏好 → 学奖励模型 → PPO 优化策略
Preference Data(偏好数据)同一 prompt 的两个回答 (y_w 好, y_l 差) 的比较标注
Reward Model / RM(奖励模型)由 SFT 模型加一个标量头微调而来,给回答打分;训练用 Bradley-Terry 模型
PPO(Proximal Policy Optimization, 近端策略优化)RLHF 最常用的 RL 算法。注意:PPO 训练时同时加载 4 个模型——策略模型、参考模型(Reference, 算 KL 用)、奖励模型、价值模型(Critic),显存需求最高
Policy(策略, π)被训练的生成模型本身,强化学习视角下"动作"就是它生成的 token 序列
Reference Model(参考模型)冻结的 SFT 模型,计算 KL 散度约束策略别离它太远
KL Penalty(Kullback-Leibler Divergence, KL 散度惩罚)限制策略模型相对参考模型的偏离,防止"讨好 RM"说胡话
GAE(Generalized Advantage Estimation, 广义优势估计)Critic 计算优势函数的标准方法
Critic / Value Model(价值模型)预测"某个状态未来能拿多少奖励"的辅助模型,PPO 专用,GRPO 去掉
Reward Hacking(奖励黑客 / 刷奖励漏洞)策略找到 RM 的漏洞刷分(如反复输出某类句式),RM 打高分但人类觉得差

4.2 DPO 家族(免 RL 的偏好优化)

名词解释
DPO(Direct Preference Optimization, 直接偏好优化)把 RLHF 的目标函数数学变换后,直接用偏好对做分类式训练,不需要 RM、不需要 PPO,只要 SFT 模型 + 偏好数据,显存需求约为 PPO 的 1/4。目前开源社区对齐的首选
IPO(Identity Preference Optimization, 恒等偏好优化)修正 DPO 在过参数化时的过拟合问题
KTO(Kahneman-Tversky Optimization, 卡尼曼-特沃斯基优化)基于前景理论,不需要成对偏好数据,只需单条回答的"好/坏"二值标注
ORPO(Odds Ratio Preference Optimization, 赔率比偏好优化)把 SFT 和偏好对齐合并成一个阶段完成,省掉 SFT 步骤
SimPO(Simple Preference Optimization, 简单偏好优化)用长度归一化的平均对数概率当奖励,不需要参考模型
GRPO(Group Relative Policy Optimization, 组相对策略优化)DeepSeekMath 提出:对同一 prompt 采样一组回答,用组内奖励均值/标准差归一化得到优势,不需要 Critic 模型,省掉 PPO 的 1/4 显存,是 R1 类推理模型的核心算法
Best-of-N Sampling(N 选 1 采样)推理期策略:采样 N 个回答,用 RM 选分数最高的那个输出(不用训练,直接涨分)
Online / Offline RLHF(在线 / 离线 RLHF)online:边生成边标注边训练(迭代快但贵);offline:用固定数据集训练(DPO 即 offline)

4.3 AI 反馈与可验证奖励

名词解释
RLAIF(RL from AI Feedback, 基于 AI 反馈的强化学习)用 AI(如 GPT-4)代替人类标注偏好/奖励,便宜且可规模化
Constitutional AI(宪法式 AI)Anthropic 提出:给模型一组"宪法原则",让它自我批评、自我修订生成训练数据
RLVR(RL with Verifiable Rewards, 基于可验证奖励的强化学习)数学/代码等答案可以程序化判对错,用规则奖励代替 RM,DeepSeek-R1 的核心训练手段
PRM(Process Reward Model, 过程奖励模型)对推理过程的每一步打分
ORM(Outcome Reward Model, 结果奖励模型)只对最终结果打分的奖励模型,区别于 PRM

4.4 对齐方法怎么选(速查表)

场景推荐
显存紧张、快速出效果DPO / SimPO
只有单条好坏标注KTO
不想单独跑 SFTORPO
推理模型训练(数学/代码)GRPO + RLVR
追求上限、资源充足PPO + 迭代式 online RLHF

五、数据相关名词

名词解释
数据质量 > 数据数量社区共识:1 万条高质量指令数据常胜 100 万条低质数据
Deduplication(去重)训练前去重,常用 MinHash / SimHash / SimCLR 相似度,重复数据会导致过拟合
Data Contamination(数据污染)训练集里混入了评测集(benchmark)题目,导致刷分失真;发布模型前的必查项
Data Mixing(数据混合)多源/多领域数据按比例混合,比例(recipe, 配方)是调模型的关键旋钮
Curriculum Learning(课程学习)按难度从易到难喂数据
Oversampling(过采样)对稀缺但重要的领域数据提高采样权重
Self-Instruct(自指令)用模型自己生成指令数据(种子 → 自举扩充),Alpaca 数据的生成方式
Evol-Instruct(进化指令)对已有指令做"进化"(加约束、复杂化)提升数据难度,WizardLM 的数据生成方式
Distillation(蒸馏)用大模型(教师)的输出训练小模型(学生);SFT 里大量用 GPT-4 级模型生成回答即蒸馏
Synthetic Data(合成数据)用 LLM 批量生成的训练数据,成本低但要注意同质化(model collapse, 模型坍缩风险)
Data Flywheel(数据飞轮)模型上线 → 收集真实对话 → 清洗筛选 → 再训练 → 更强的模型
UltraFeedback / HH-RLHF(Helpful & Harmless, 有用与无害)常用的开源偏好数据集(DPO 训练常用)
Alpaca / Dolly / OpenOrca / CodeUltraChat常用开源 SFT 数据集
Token / Tokenizer / Vocabulary(词元 / 分词器 / 词表)Token:模型的最小处理单元(子词)。Tokenizer:文本 ↔ token 序列的编码器(BPE, Byte Pair Encoding 字节对编码为主)。词表:token 集合,常见 32k~256k
Context Window(上下文窗口)模型一次能处理的最大 token 数(4k / 8k / 128k / 1M)

六、训练过程与通用超参名词

名词解释
Epoch(轮次)整个训练数据集完整过一遍
Batch Size(批大小)一次更新参数用的样本数 = per_device_batch × 卡数 × 梯度累积步数
Gradient Accumulation(梯度累积)显存不够时,多次前向反向累积梯度再更新一次,等效大 batch
Learning Rate(学习率, lr)每步参数更新幅度,最敏感的超参
Warmup(预热)训练初期学习率从 0 线性升到峰值,防初期不稳定
LR Scheduler(learning rate scheduler, 学习率调度器)cosine / linear / constant,决定学习率随步数变化
Optimizer(优化器)AdamW 是标配;bnb.optim 是量化训练配套的省显存版本
Weight Decay(权重衰减)L2 正则,LLM 微调中常设 0 或很小(0.01)
Gradient Clipping(梯度裁剪, max_grad_norm)把梯度范数截断(常用 1.0),防梯度爆炸
Mixed Precision(混合精度)用 fp16/bf16 算前向反向,fp32 存主参数。bf16 比 fp16 动态范围大,不易溢出,A100/H100 首选 bf16
FP8(8-bit Floating Point, 8bit 浮点)H100 支持(E4M3/E5M2),训练/推理进一步提速
Gradient Checkpointing(激活重计算)不存中间激活值,反向时重算,省显存换 ~20% 速度
FlashAttention(闪速注意力)IO 感知的精确注意力实现(FA1/FA2/FA3),省显存 + 提速,长序列必备
Checkpoint(检查点)训练中定期保存的模型权重快照;save_steps / save_total_limit 控制保存频率与数量
Early Stopping(早停)验证集 loss 不再下降就停止,防过拟合
train loss / val loss(训练损失 / 验证损失)val loss 先降后升 = 过拟合信号
Overfitting(过拟合)训练集表现好、泛化差;SFT 小数据时极易发生
Underfitting(欠拟合)学习率太小/轮次太少,连训练集都没学好
Catastrophic Forgetting(灾难性遗忘)微调后模型忘掉预训练学的通用能力,是 Full FT 的主要风险,PEFT 天然缓解
Generalization(泛化能力)在未见过的数据上的表现
Loss Spike(损失尖峰)训练中 loss 突然跳高再回落,常见原因:数据坏样本、lr 过大、数值溢出
Trainer(训练器)HF 的训练循环封装(Trainer / SFTTrainer),封装数据加载、优化、保存、日志

七、分布式训练与显存优化

名词解释
DDP(Distributed Data Parallel, 分布式数据并行)每卡一份完整模型副本,各自算梯度后 all-reduce 同步。最简单,显存不省
ZeRO(Zero Redundancy Optimizer, 零冗余优化器)把优化器状态/梯度/参数切分到各卡:Stage 1 切优化器状态(省 ~4 倍),Stage 2 再切梯度,Stage 3 连参数也切(省最多,通信代价最大)
ZeRO-Offload / ZeRO-Infinity把优化器状态/参数卸载到 CPU 内存 / NVMe 磁盘,单卡也能训大模型(慢)
FSDP(Fully Sharded Data Parallel, 全分片数据并行)PyTorch 原生的 ZeRO-3 等价物,HF Transformers 默认分布式方案
TP(Tensor Parallelism, 张量并行)把一层内的权重矩阵切成块,多卡同时算一层(Megatron-LM 提出),卡间通信频繁,适合机内 NVLink
PP(Pipeline Parallelism, 流水并行)不同层放不同卡,像流水线一样接力;有"气泡"空闲问题
EP(Expert Parallelism, 专家并行)MoE 模型里把不同专家放不同卡
CP(Context Parallelism, 上下文/序列并行)把长序列切到多卡上算注意力,长上下文训练用
Mixed Parallelism(混合并行)实际大训练是组合拳,如 TP2 × PP2 × DP8 × ZeRO3
Megatron-LMNVIDIA 的 TP/PP 训练框架
All-Reduce / All-Gather(全归约 / 全聚合)分布式通信原语:同步梯度 / 聚合参数
NCCL(NVIDIA Collective Communications Library, 集合通信库)NVIDIA 的 GPU 集合通信库

显存账(全参训练,每参数):参数 2B(bf16)+ 梯度 2B + Adam 状态 12B(一阶/二阶各 4B fp32)+ 主权重 4B(fp32)≈ 16~18B/参数。这就是为什么 7B 全参训练要 ~140GB,不同方法的资源需求汇总见 2.7 节。


八、量化(Quantization, 量化)

名词解释
Quantization(量化)把权重/激活从 fp16/bf16 压到 INT8 / INT4 / FP8,省显存、提速
PTQ(Post-Training Quantization, 训练后量化)模型训完再压,不用重训,最常用
QAT(Quantization-Aware Training, 量化感知训练)训练时模拟量化误差,精度损失更小但要重训
GPTQ(GPT Quantization, GPT 量化)基于 Hessian 信息的一次性 4bit 权重量化(逐列),vLLM 原生支持
AWQ(Activation-aware Weight Quantization, 激活感知权重量化)保护对激活影响大的"显著权重",INT4 精度通常优于 GPTQ,推理速度快
SmoothQuant(平滑量化)把激活的量化难度"迁移"给权重,实现 W8A8 混合精度推理
GGUF(GGML Unified Format, GGML 统一格式)llama.cpp 的权重格式,支持 Q4_K_M / Q5_K_M 等 K 系列量化,Ollama / LM Studio 的底层
K-Quants(K 系列量化)GGUF 里的混合精度分块量化方案(如 Q4_K_M:大部分 4bit + 关键层更高精度)
NF4 / Double QuantizationQLoRA 用的 4bit 正态浮点格式与双重量化(见 2.4)
bitsandbytes(bnb)PyTorch 量化库,LLaMA-Factory 的 QLoRA 底层
W4A16 / W8A8 / W4A8(Weight/Activation 位宽)权重/激活位宽组合记法:W4A16 = 权重 4bit、激活 16bit
FP8(E4M3 / E5M2)H100 原生的 8bit 浮点,训练/推理均可用,精度损失极小
量化掉点量化后的精度损失;一般 W8 几乎无感,W4 看数据和算法,关键任务建议评测后再上线

选型速查

场景方案
消费级显卡(1624GB)跑 14B70BGGUF(llama.cpp / Ollama)或 AWQ(vLLM)
数据中心推理AWQ / FP8(H100)
微调QLoRA(4bit 基座)
极致精度bf16 不量化

九、评测(Evaluation, 评测)

9.1 自动指标

名词解释
PPL(Perplexity, 困惑度)模型对文本的"惊讶程度",exp(交叉熵);预训练/基座模型的核心指标,越低越好
EM(Exact Match, 精确匹配)/ F1精确匹配 / 词级 F1,抽取式问答(SQuAD 类)常用
Pass@k(k 次采样通过率)代码任务:生成 k 个候选,至少 1 个通过测试用例的比例(HumanEval 标配)
BLEU(Bilingual Evaluation Understudy, 双语评估替补)/ ROUGE(Recall-Oriented Understudy for Gisting Evaluation, 召回导向的摘要评估)翻译/摘要类指标(与参考译文比 n-gram 重叠),LLM 时代用得少了
Accuracy(准确率)选择题/判断题正确率,MMLU 等客观题 benchmark 的指标

9.2 常用 Benchmark(基准测试)

基准(英文全称)考什么
MMLU(Massive Multitask Language Understanding, 大规模多任务语言理解)57 个学科的综合知识选择题(最经典的"高考")
C-Eval / CMMLU(Chinese Evaluation / Chinese MMLU, 中文评测)中文版 MMLU
GSM8K(Grade School Math 8K, 小学数学 8 千题)小学数学应用题,考推理
MATH(竞赛数学)竞赛级数学题
ARC(AI2 Reasoning Challenge, AI2 推理挑战)/ HellaSwag / Winogrande常识推理
BBH(BIG-Bench Hard, BIG-bench 难题子集)高难度推理任务子集
HumanEval / MBPP(Mostly Basic Python Problems, 基础 Python 题)Python 代码生成(Pass@1)
BigCodeBench / LiveCodeBench / SWE-bench更难的代码任务 / 真实 GitHub issue 修复
IFEval(Instruction Following Evaluation, 指令遵循评测)“用 JSON 输出"“至少 300 字"这类硬约束
TruthfulQA(真理性问答)考模型会不会一本正经胡说
MT-Bench(Multi-Turn Benchmark, 多轮对话基准)80 道两轮主观题,GPT-4 当裁判打分(1~10 分)
AlpacaEval / Arena-Hard-AutoLLM-as-a-Judge 的自动评测框架(胜率对比基座)
LMSYS Chatbot Arena(LMArena)真人匿名对战 + Elo 排名的"群众评测”,行业风向标
HELM(Holistic Evaluation of Language Models, 语言模型整体评测)/ BIG-bench大规模综合评测框架

9.3 评测方法名词

名词解释
LLM-as-a-Judge(大模型当裁判)用强模型(GPT-4/Claude/Qwen-Max)当裁判给回答打分或两两对比;便宜、可规模化,但有位置偏差、自我偏好等已知偏差
Elo Rating(伊洛评级)借鉴国际象棋的对抗排名算法,Arena 类评测的核心
Win Rate(胜率)与基座模型对答,裁判判定获胜的比例
lm-eval-harness(评测框架)EleutherAI 的开源评测框架,一条命令跑 MMLU/GSM8K/HumanEval 等
EvalPlusHumanEval/MBPP 的加强版(更多测试用例,过滤"过拟合测试"的代码)
刷分 / 应试能力(Benchmark Overfitting, 基准过拟合)模型针对 benchmark 风格过拟合的现象;真实体验与跑分可能脱节

十、推理与部署(Inference & Serving, 推理与服务)

10.1 解码与采样参数

名词解释
KV Cache(键值缓存)缓存已算过的 Key/Value,避免每生成一个 token 重算全部注意力;长上下文时是显存大头
Greedy Decoding(贪心解码)每步选概率最大的 token,确定但容易复读
Beam Search(束搜索)保留 top-beam_width 条路径,质量高但慢且多样性差
Sampling(采样)按概率分布随机选 token,多样性好
temperature(温度)控制分布陡峭程度:0 = 贪心,越大越发散(常用 0.6~1.0)
top_k(Top-K 采样)只在概率最高的 k 个 token 里采样
top_p / Nucleus Sampling(核采样)在累积概率达到 p 的最小 token 集里采样(常用 0.8~0.95),比 top_k 自适应
min_p(最小概率阈值)过滤概率低于"最大概率 × min_p"的 token,新一代采样参数
repetition penalty(重复惩罚)惩罚已出现过的 token,防复读
frequency / presence penalty(频率 / 存在惩罚)OpenAI 风格:按出现次数 / 是否出现施加惩罚
Stop Tokens(停止标记)遇到 <eos>、`<

10.2 推理引擎

名词解释
llama.cpp(纯 C/C++ 轻量推理引擎)GGUF 格式的鼻祖,支持 CPU / Apple Silicon(Metal)/ CUDA / Vulkan,消费级硬件(笔记本、Mac)本地跑大模型的首选;main 命令开箱即用,也是 Ollama / LM Studio 的底层
vLLM(Virtual LLM, 虚拟 LLM)最流行的数据中心级开源推理引擎,核心是 PagedAttention(把 KV Cache 分页管理,像操作系统虚拟内存,消除显存碎片)+ Continuous Batching(动态批处理:新请求随时插入,不等整批),吞吐是朴素实现的数倍
SGLang(Structured Generation Language, 结构化生成语言)高速推理引擎,核心 RadixAttention(前缀树复用 KV Cache),对多轮/结构化生成友好
TensorRT-LLM(NVIDIA 张量推理库)NVIDIA 的极致优化推理引擎
TGI(Text Generation Inference, 文本生成推理服务)HuggingFace 官方推理服务
Continuous Batching(连续批处理)请求级动态组批,显著提升并发吞吐
Speculative Decoding(投机解码)小模型(draft, 草稿模型)快速猜一串 token,大模型一次性并行验证,无偏加速 2~3 倍
Prefix Caching(前缀缓存)相同前缀(system prompt / few-shot)的 KV Cache 复用,省重复计算
Chunked Prefill(分块预填充)把长 prompt 的 prefill 分块,与 decode 交错,降低首 token 延迟抖动

选型速查

场景方案
本地 / 笔记本 / Mac / 纯 CPUllama.cpp(GGUF)→ Ollama / LM Studio 封装
数据中心高并发服务vLLM / SGLang / TensorRT-LLM
多 LoRA 动态服务vLLM(LoRA 支持)/ S-LoRA

10.3 性能指标

名词解释
TTFT(Time To First Token, 首 token 延迟)prefill 阶段耗时,长 prompt 敏感
TPOT / ITL(Time Per Output Token / Inter-Token Latency, 每输出 token 耗时 / token 间隔)decode 阶段耗时,决定"打字机速度”
Throughput(吞吐量)系统每秒产出的总 token 数,并发场景的核心指标
Concurrency(并发)同时处理的请求数;并发↑吞吐↑但单请求延迟也↑
Prefill / Decode(预填充 / 解码)两阶段prefill:并行处理整个 prompt(compute-bound, 计算受限);decode:逐 token 生成(memory-bound, 访存受限),优化策略完全不同
量化推理(Quantized Inference)用 GPTQ/AWQ/GGUF 权重推理,显存↓吞吐↑
Merge & Unload(合并卸载)LoRA 训练完合并回基座再部署,推理零开销
LoRA 热加载(LoRA Hot-loading)vLLM / S-LoRA 支持不重启服务切换 adapter

10.4 常见部署形态

名词解释
Ollama本地模型运行器(基于 llama.cpp + GGUF),一条命令拉模型跑服务
LM Studio / GPT4All桌面端本地模型 GUI(底层同为 llama.cpp)
OpenWebUI / text-generation-webui开源 Web 聊天前端
API Server(API 服务)以 OpenAI 兼容 API 形式暴露模型(vLLM --api-key),方便接入任何框架

十一、工具链名词

工具(英文全称)干什么用
HuggingFace Transformers模型加载/推理/训练基础库
PEFT(Parameter-Efficient Fine-Tuning, 参数高效微调库)HF 官方 PEFT 库,LoRA/QLoRA 的底层实现
TRL(Transformer Reinforcement Learning, 变换器强化学习库)HF 强化学习库:SFTTrainer / DPOTrainer / PPOTrainer / GRPOTrainer
LLaMA-Factory一站式微调框架(SFT/DPO/PPO/KTO + 量化 + 评测 + WebUI),中文社区最常用
Unsloth显存/速度优化的微调库,2~5× 提速,消费卡友好
Axolotl配置驱动的开源微调框架
ms-swift(ModelScope SWIFT, 魔搭 SWIFT)阿里魔搭的微调框架,中文模型生态支持好
OpenRLHF基于 Ray 的 RLHF 框架,支持 PPO/GRPO/DPO 大规模训练
DeepSpeed微软分布式训练库(ZeRO 的出处)
FSDP(Fully Sharded Data Parallel, 全分片数据并行)PyTorch 原生全分片数据并行
Megatron-LMTP/PP 大规模预训练框架
llama.cpp / vLLM / SGLang / TensorRT-LLM推理引擎(见第十节)
lm-eval-harness标准化 benchmark 评测
WandB(Weights & Biases, 权重与偏差)/ TensorBoard / SwanLab训练指标可视化(loss 曲线、超参记录)
HuggingFace Hub模型/数据集托管与分发(from_pretrained
ModelScope(魔搭)阿里开源模型/数据集社区

十二、高频概念速查(一句话版)

名词(英文全称)一句话解释
Transformer(变换器)LLM 的骨干网络:注意力 + FFN 堆叠
Attention(注意力)“当前 token 看上下文哪些 token"的机制;MHA(Multi-Head Attention, 多头注意力)/ GQA(Grouped-Query Attention, 分组查询注意力)/ MQA(Multi-Query Attention, 多查询注意力),后两者是省 KV Cache 的变体
FFN / MLP(Feed-Forward Network 前馈网络 / Multi-Layer Perceptron 多层感知机)Transformer 块里的逐 token 前馈层,模型"知识"主要存这里
RoPE(Rotary Position Embedding, 旋转位置编码)主流相对位置编码,长上下文扩展(PI/NTK/YaRN)都作用于它
RMSNorm(Root Mean Square Normalization, 均方根归一化)简化版 LayerNorm,LLaMA 等主流模型使用
SwiGLU(Swish-Gated Linear Unit, 门控线性单元)FFN 里常用的激活函数变体
MoE(Mixture of Experts, 混合专家)多个 FFN 专家 + 路由器,每个 token 只激活 top-k 专家,参数量大但激活量小(Mixtral / Qwen3-MoE)
Hallucination(幻觉)模型一本正经地编造事实
Alignment(对齐)让模型行为符合人类意图与价值观的整套技术(SFT + 偏好优化 + 安全)
Red Teaming(红队测试)主动攻击模型找安全漏洞(越狱、有害输出)
Jailbreak(越狱)绕过安全限制的提示词攻击
RAG(Retrieval-Augmented Generation, 检索增强生成)先检索资料再生成;与微调互补——RAG 补知识,微调补能力/风格
Prompt Engineering(提示工程)设计提示词让基座模型表现更好(system prompt / few-shot / CoT)
CoT(Chain of Thought, 思维链)“让我们一步步思考”,提升推理能力;o1/R1 类模型将其内化为长推理
Token Budget(词元预算)/ 最大生成长度max_new_tokens,限制回答长度
Long Context(长上下文)128k+ 上下文窗口;涉及 RoPE 缩放、LongLoRA、线性注意力等技术
MLLM(Multimodal Large Language Model, 多模态大语言模型)视觉/语音 + 语言模型(LLaVA / Qwen-VL),微调方法同样适用
Distillation(蒸馏)大模型带小模型:用教师输出训练学生
Pruning(剪枝)去掉低重要性权重/神经元/专家
Emergent Ability(涌现能力)模型规模跨过阈值后突然出现的能力
Scaling Law(缩放定律 / 扩展定律)性能随参数量/数据量/算力的幂律增长关系
SafetensorsHF 新的安全权重格式(替代 pickle 的 .bin)
GGUF(GGML Unified Format, GGML 统一格式)llama.cpp 系权重格式(见第八节)

十三、一个完整的微调工作流示例(把名词串起来)

用 LLaMA-Factory 对 Qwen 做 QLoRA SFT + DPO 的典型流程:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# QLoRA SFT(LLaMA-Factory yaml 片段)
model_name_or_path: Qwen/Qwen2.5-7B-Instruct
quantization_bit: 4            # QLoRA:4bit NF4 基座
lora_target: all-linear        # 所有线性层注入 LoRA
lora_rank: 16                  # rank
lora_alpha: 32                 # alpha(α/r = 2)
dataset: my_sft_data           # ChatML 格式指令数据
template: qwen                 # 对话模板(必须匹配模型!)
cutoff_len: 8192               # 最大序列长度
per_device_train_batch_size: 1 # × 4 卡 × 4 梯度累积 = 有效 batch 16
learning_rate: 1.5e-4          # LoRA 常用学习率
num_train_epochs: 3
lr_scheduler_type: cosine
warmup_ratio: 0.03
bf16: true                     # 混合精度
gradient_checkpointing: true   # 激活重计算省显存
  1. 数据准备:整理 ChatML 格式指令数据 → MinHash 去重 → 检查数据污染;
  2. SFT:QLoRA 训练(bf16 + gradient checkpointing,7B 一张 16GB 卡即可,见 2.7)→ 观察 val loss,防过拟合;
  3. 合并/评测merge & unload 后跑 lm-eval-harness(MMLU/C-Eval/GSM8K)+ MT-Bench(LLM-as-a-Judge);
  4. 偏好对齐:用 UltraFeedback 类偏好数据跑 DPO(显存约为 SFT 的 1.5~2 倍);
  5. 量化部署:导出 AWQ/GGUF → vLLM(数据中心)或 llama.cpp/Ollama(本地)起服务 → 压测 TTFT/吞吐;
  6. 监控迭代:WandB 看 loss 曲线,线上收集 Bad Case 进数据飞轮。

写在最后

微调领域的名词迭代很快(今天的新词明年可能就过时),但主干是稳定的:

数据定下限,方法定效率,对齐定上限,评测定真相。

掌握本文的框架后,再遇到新名词(比如某个新的 PEFT 变体或对齐算法),基本都能归位到"改参数 / 改数据 / 改目标函数 / 改推理"这四类里的某一类,不会迷失。

有遗漏或错误的地方欢迎评论区指出,后续会持续更新。