allenai/open-instruct

AllenAI's post-training codebase

解决的问题

Open Instruct 提供了一个统一的框架,使用公开可用的数据集对流行的预训练语言模型进行指令微调和后训练。它旨在通过提供必要的代码、配方和工件,使创建高质量、遵循指令的模型(如 Tülu 系列)的过程变得开放且可复现。

工作原理

该项目实现了一个多阶段后训练流水线:

  • 监督微调 (SFT):使用统一格式的指令数据集对基础模型进行微调。
  • 偏好微调:实现直接偏好优化 (DPO) 和 PPO,使模型与人类偏好对齐。
  • 可验证奖励的强化学习 (RLVR):采用 GRPO 等技术,使用可验证的奖励来训练模型。
  • 参数高效微调:支持 LoRA 和 QLoRA,使微调更加易于访问。

适用人群

希望复现 Tulu 模型或对开源语言模型应用先进后训练技术(SFT、DPO、RLVR)的研究人员和开发者。

主要亮点

  • 全面的流水线:涵盖从 SFT 到偏好微调和 RLVR 的完整流程。
  • Tülu 模型系列:提供 Tülu 1、2 和 3 系列模型的训练配方和检查点。
  • 去污染工具:包含脚本,用于测量训练和评估数据集之间的重叠,以确保公平评估。
  • 广泛的模型支持:兼容 Llama 3.1 和 OLMo 2 模型。

相关

  • Dispatch
  • 项目
  • 项目
  • 项目
  • 项目