Skip to content

监督微调与训练工程(Supervised Fine-Tuning and Training Engineering)

专题类型:基础支撑 主服务目标:SFT 训练与工程复现

页面导语

本专题围绕模型结构、SFT、LoRA、训练控制和项目交付,最终形成可复现、可评测、可采用的微调方案。

本专题对应监督微调与训练工程的 V1:负责从任务数据、SFT、LoRA 到训练项目交付;偏好数据、DPO、GRPO 和在线对齐属于后训练优化 V2。V1 的训练结果可以作为 V2 的输入,但两者不共用项目目标。

如何开始

推荐从 Part 02 的2.3 训练与微调闭环开始;结构基础不足时回补2.1 基础算子2.2 模型架构

  • 必读前置:PyTorch 训练循环、decoder block、loss 和基本显存概念。
  • 主线入口:先完成 Task0–3 的结构基础,再进入 Task4–6 的 SFT、LoRA 和项目交付。
  • 按需回补:需要长上下文时看 30,需要 LoRA 方案比较时看 31,需要 QLoRA 或偏好优化时转到对应专题。
  • 真实训练前:先阅读使用指南和具体 Notebook 的环境说明。

主学习线与分级

Task0-6 是学习路线,指向 Part 00 / Part 01 / Part 02 的具体小节;最后一列的 01-05 是专题正文页,只负责解释和串联。

Task学习内容主学习线 / 项目入口专题正文
Task0PyTorch 热身与训练对象00 PyTorch Warmup共享前置:见大模型架构
Task1模型结构入口01 RMSNorm02 SwiGLU共享前置:见大模型架构
Task2位置编码与注意力03 RoPE04 MHA / GQA共享前置:见大模型架构
Task3Block 组装与架构变体Part 02 · 05 LLaMA3 BlockPart 02 · 08 架构技巧;扩展:Part 02 · 06 MoE RouterPart 02 · 07 MoE 负载均衡共享前置:见大模型架构
Task4SFT 与 LoRA09 SFT Training Loop10 LoRA;扩展:31 LoRA Variants Theory02 LoRA PEFT Design
Task5项目准备、训练控制与端到端实验Part 02 · 32 SFT 数据工程Part 02 · 33 微调准备度Part 02 · 12 梯度累积Part 02 · 11 学习率调度器Part 02 · 13 端到端微调实验;扩展:Part 02 · 30 长上下文微调03 训练控制
Task6综合项目与交付核心:Part 02 · 60 LoRA 微调项目;扩展:Part 02 · 61 模型架构探索Part 02 · 62 指令微调Part 02 · 63 LoRA 变体对比Part 02 · 64 SFT 数据质量Part 02 · 65 QLoRA 选型05 项目交付与决策

核心与扩展分级

核心路径先建立结构、训练接口、数据准入和 LoRA 交付的共同口径;其中 32/33 是“项目准备核心”,只要求完成最小数据审计和 readiness 判断,不要求搭建完整数据平台。扩展路径再进入 MoE、真实结构探索、LoRA 变体、长上下文和 QLoRA。没有 GPU 的学习者可以先完成机制和 CPU-first 模板,有 GPU 的学习者再进入真实微调项目。

Task核心路径扩展路径运行环境
Task000 PyTorch WarmupCPU · PyTorch
Task101 RMSNorm02 SwiGLUCPU · PyTorch
Task203 RoPE04 Attention更复杂的 Attention 变体CPU · PyTorch;可选单 GPU
Task3Part 02 · 05 LLaMA3 BlockPart 02 · 08 架构技巧Part 02 · 06 MoE RouterPart 02 · 07 负载均衡CPU · PyTorch;MoE 可选单 GPU
Task409 SFT10 LoRA31 LoRA Variants TheoryCPU · PyTorch;可选单 GPU
Task5Part 02 · 32 SFT 数据工程Part 02 · 33 微调准备度Part 02 · 12 梯度累积Part 02 · 11 学习率调度器Part 02 · 13 端到端微调实验Part 02 · 30 长上下文微调CPU · PyTorch;端到端实验可选单 GPU
Task6Part 02 · 60 LoRA 微调项目Part 02 · 61 模型架构探索Part 02 · 62 指令微调Part 02 · 63 LoRA 变体对比Part 02 · 64 SFT 数据质量Part 02 · 65 QLoRA 选型单 GPU · Transformers / PEFT

学习方式与项目产出

先按上面的 Task0-6 走 Notebook 主线;核心路径用于建立机制和完成最小训练闭环,扩展路径用于真实模型结构、复杂数据、长上下文和低显存方案。需要连续理解概念时阅读专题正文 01-05,需要判断表和项目分流时阅读监督微调正文,需要完整串联路线时阅读监督微调深入阅读。训练工程细节放在训练工程附录,项目证据链放在项目交付附录,60–65 的统一验证口径见训练微调项目验证清单

如果问题已经跨到别的专题:大模型架构负责结构地基,显存优化负责 OOM 与显存账本,量化与压缩负责 QLoRA 与低比特路线,后训练优化负责 DPO / GRPO,性能分析负责训练证据链,通信与并行负责多卡边界。

训练工具入口

工具按学习目标选择,不要求学习者一开始安装完整工具链:

目标推荐工具在本路线中的位置
理解训练和 LoRA 机制PyTorch + Transformers + PEFT60、61、63 的核心实现
快速搭建 SFT / QLoRA 项目LLaMA-Factory62、65 的配置化扩展
在 Colab 或消费级 GPU 上加速Unsloth60、65 的可选 GPU 对照
使用标准训练任务封装TRLSFT 以及后续 DPO / GRPO 扩展
扩展到多卡或更大模型Accelerate / FSDP / DeepSpeed训练系统扩展,不是 60–65 的默认前置

主线先用最小实现建立可解释基线,再选择 LLaMA-Factory 或 Unsloth 做扩展;完整工具边界、版本变量和实验记录要求见训练工程附录

项目产出

项目按“最小闭环 → 方案扩展 → 交付决策”分层:

最终结论至少应同时说明:数据是否可信、LoRA 是否挂载合理、训练控制是否一致、质量是否满足目标、资源成本是否可接受,以及结果是否值得继续采用。

项目协议:统一骨架,保留专属指标

训练微调项目与推理、显存项目一样,需要统一结果协议,但不需要强行使用相同指标。13 提供训练基线,60–65 按问题分流,专题正文 05 负责解释交付检查和最终决策。所有项目至少记录 config / baseline / candidates / quality / resources / artifacts / decision / environment;LoRA 变体、数据审计、结构探索和 QLoRA 再在此基础上增加自己的字段。

因此,64 主要回答“数据是否准入”,63 主要回答“哪种 LoRA 方案更合适”,65 主要回答“质量与显存预算是否同时满足”,不能为了格式统一而给它们添加没有意义的吞吐或服务指标。统一的是证据链和 accept / tune / reject 决策,不是每个项目的实验内容。

环境与验证

基础结构、数据工程和多数 Notebook 可 CPU-first;真实 LoRA/SFT 项目建议使用单 GPU。运行前先查看具体 Notebook 的环境说明,固定模型、数据、dtype、batch、seq_len、seed 和评测口径,并保存训练配置、adapter、评测结果和项目报告。

没有 GPU 时先完成核心机制和 CPU-first 模板;接入 GPU 后再运行 60,并按需扩展 61–65。训练问题若主要表现为 OOM 或 step time 异常,应转到显存优化性能分析

Released under the MIT License.