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
  • 專案
  • 專案
  • 專案
  • 專案