alignment-handbook
HuggingFace开源的大模型对齐实战手册,提供SFT/DPO/Constitutional AI全链路训练配方
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
HuggingFace开源的大模型对齐实战手册,提供SFT/DPO/Constitutional AI全链路训练配方
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2023年初,大模型浪潮席卷而来。一个有趣的现象是:模型参数越来越大,"记忆力"越来越好,但它们说出来的话却常常让人哭笑不得——一本正经地胡说八道,回答问题像在走钢丝。
问题的根源在于预训练阶段的目标只是"预测下一个 token",而不是"说人类想听的话"。为了让模型学会"对齐"人类意图和偏好,OpenAI 在 2022 年提出了 RLHF(Reinforcement Learning from Human Feedback),并在 InstructGPT 论文中系统阐述了 SFT + RLHF + PPO 的技术路线。Meta 紧随其后,在 Llama2 论文中进一步验证了这一方法的有效性。
然而,这些方法虽然有效,却缺乏公开、可复现的训练配方。大多数团队只能靠"踩坑"积累经验,过程中的超参选择、数据处理、暗坑排查都缺乏系统性的文档沉淀。
Alignment Handbook 正是在这个背景下诞生的——它由 HuggingFace 团队牵头,联合 Argilla、KAIST AI 等机构,将大模型对齐的全链路训练配方公之于众。
Alignment Handbook 是 HuggingFace 开源的大模型对齐实战手册,目标是提供一套完整、可复现的训练配方,覆盖从继续预训练(Continue Pretraining)到 SFT、再到 RLHF/DPO 全流程。
如果说 Transformers 库解决了"怎么用模型"的问题,那 Alignment Handbook 解决的就是"怎么让模型变得更好用"的问题——即如何通过数据工程和训练技巧,让预训练模型真正具备对话、推理、安全等能力。

Alignment Handbook 提供了三种主流对齐方法的完整实现:
1. SFT(Supervised Fine-Tuning,有监督微调)
最基础的对齐方式,直接用高质量问答数据微调模型。Handbook 提供了完整的 SFT 脚本 scripts/sft.py,支持 DeepSpeed ZeRO-3 全量训练和 QLoRA 高效微调。以 Zephyr-7B 为例:使用 UltraChat 200K 数据集微调,生成 SFT 模型后即可作为对话模型使用。
2. DPO(Direct Preference Optimization,直接偏好优化)
DPO 由 Stanford 提出,用对比学习方式替代 PPO,简化了 RLHF 流程。Handbook 提供 scripts/dpo.py,配合 UltraFeedback 数据集(GPT-4 标注的偏好数据)训练,让模型学会"什么该说、什么不该说"。Zephyr-7B-β 就是 SFT + DPO 的经典案例。
3. Constitutional AI / RLAIF(宪法AI) Handbook 还收录了 Constitutional AI 配方,用 AI 自身生成的评价代替人类标注,降低了偏好数据的标注成本。Zephyr 7B Gemma 版本即采用此路线,结合 RLAIF(AI 反馈强化学习)实现了高质量对齐。
Handbook 不仅仅是代码,更是一套经过验证的配方库(Recipes)。每个 recipe 目录都包含完整的训练配置、数据集说明和复现命令:
| Recipe | 基础模型 | 方法 | 说明 |
|---|---|---|---|
| zephyr-7b-beta | Mistral 7B | SFT + DPO | Zephyr 经典配方 |
| starchat2-15b | CodeLlama | SFT + DPO | 编程助手训练配方 |
| smollm | SmolLM-135M/360M | SFT + DPO | 小参数模型对齐 |
| smollm2 | SmolLM2 | SFT + DPO | SmolLM2 系列配方 |
| smollm3 | SmolLM3-3B | Mid-Train + SFT + DPO | 混合推理模型最新配方(2025.7) |
| constitutional-ai | Llama | Constitutional AI | 宪法AI配方 |
| pref_align_scan | 多种模型 | DPO vs KTO vs IPO | 偏好对齐方法横向评测 |
Alignment Handbook 的代码结构非常清晰,采用分层设计:
src/alignment/
├── configs.py # 配置参数解析(ScriptArguments)
├── data.py # 数据集加载与预处理
├── model_utils.py # 模型加载、量化配置、梯度检查点
└── release.py # 模型发布工具
scripts/
├── sft.py # SFT 训练脚本
├── dpo.py # DPO 训练脚本
└── orpo.py # ORPO 训练脚本(Odds Ratio Preference Optimization)
recipes/
├── accelerate_configs/ # Accelerate 分布式训练配置
│ ├── zero3.yaml # DeepSpeed ZeRO-3
│ ├── ddp.yaml # 传统 DDP
│ └── fsdp.yaml # FSDP
└── [recipe-name]/
├── sft/config_*.yaml
└── dpo/config_*.yaml
核心训练逻辑通过 trl 库(Transformer Reinforcement Learning)实现,trl.SFTTrainer 和 trl.DPOTrainer 封装了标准的训练循环。模型层面通过 peft 支持 LoRA/QLoRA,量化层面通过 bitsandbytes 支持 4/8-bit 量化,分布式层面通过 accelerate + deepspeed 支持多卡训练。
Alignment Handbook 的定位是"生产级训练配方",因此对硬件要求较高:
训练框架链较长:transformers → trl → accelerate → deepspeed,依赖较多,建议使用 conda 环境隔离。
Alignment Handbook 没有 Web UI,是一套纯命令行工具。使用流程:
git clone https://github.com/huggingface/alignment-handbookpip install -e .accelerate config(选择 DeepSpeed ZeRO-3 或 FSDP)accelerate launch scripts/sft.py --config recipes/zephyr-7b-beta/sft/config_full.yaml核心入口是 YAML 配置文件,每个 recipe 都有完整注释过的配置。最大的门槛在于分布式训练环境的配置(DeepSpeed/FSDP),新手往往需要查阅 Accelerate 文档才能正确配置。
Alignment Handbook 的出现标志着大模型对齐从"玄学"走向"工程"。
它让学术团队和中小企业不再需要从零摸索 RLHF/DPO,缩短了从"预训练模型"到"可用产品"的路径。同时,pref_align_scan 配方对 DPO/KTO/IPO 的横向评测,也为学术界提供了宝贵的对比数据。
从趋势看,Handbook 的演进方向很清晰:从大模型对齐,扩展到小模型对齐(SmolLM 系列),再到混合推理模型的对齐(SmolLM3-3B 支持推理 token)。这个演进路径本身,就是大模型民主化的一个缩影。