open-thoughts/OpenThoughts-Agent

Data recipes and robust infrastructure for training AI agents

OpenThoughts‑Agent (OT‑Agent)

概要 – 小規模なエージェント型言語モデルを構築および評価するための研究グレードのコードベースです。データ生成(「datagen」)、モデルのファインチューニング(SFT)、推論トレースの実行、Harbor 評価フレームワークによるベンチマークでのパフォーマンス測定まで、データから評価までのパイプライン全体に焦点を当てています。

主要コンポーネント

  • Datagen スタック – Ray と vLLM を使用した大規模トレース生成のためのユーティリティで、オプションの HPC 対応拡張(.[datagen])付き。CUDA/C++ 拡張(flash‑infer、flash‑attn、triton)用のヘルパーや、クラスターまたはクラウド VM でジョブを起動するスクリプトが含まれます。
  • SFT スタック – オープンソースの LLaMA‑Factory リポジトリ(サブモジュールとして)をラップしてモデルをファインチューニングします。[sft] 拡張でインストール。トレーニング設定は sft/lf_configs/ にあります。
  • 評価スタック – ローカルランナー(eval/local/run_eval.py)と統合リスナー(eval/unified_eval_listener.py)が Harbor/Daytona サンドボックスジョブを駆動し、トレースアーティファクトを収集し、結果を Supabase と HuggingFace にアップロードします。単一ノードテストと大規模な SLURM/HPC 実行の両方をサポートします。
  • ランチャー – モジュール式の python -m hpc.launch エントリポイントで、ジョブタイプ(datagen、sft、eval_listener など)とターゲットプラットフォーム(SLURM クラスター、SkyPilot クラウド VM、またはローカル Docker/Modal)を抽象化します。sbatch スクリプトを生成し、環境 dotfiles を処理し、不足している GPU リソースを自動再試行できます。
  • クラウドヘルパー – SkyPilot ベースのラッパー(data/cloud/launch_tracegen_cloud.py、eval/cloud/launch_eval_cloud.py)により、SLURM スクリプトを書かずに GCP、AWS、Lambda、または Kubernetes で同じ datagen/eval パイプラインを実行できます。

典型的なワークフロー

  1. セットアップ – Python 3.12 環境を作成し、uv pip install -e .[datagen,sft,cloud] でベーススタックをインストールします。
  2. データ生成 – python -m hpc.launch --job_type datagen … またはクラウドランチャーで datagen スクリプトを実行します。スクリプトはデータセットとオプションのトレースログを生成します。
  3. ファインチューニング – LLaMA‑Factory 設定を使用して生成されたデータで小規模なエージェント型モデルをトレーニングする SFT ジョブ(--job_type sft)を起動します。
  4. 評価 – クイックサニティチェックには eval/local/run_eval.py を実行するか、クラスターで完全な評価リスナー(--job_type eval_listener)を送信します。結果は自動的にアップロードされ、公開リーダーボードに表示されます。

インフラストラクチャに関する注意

  • HPC クラスター(SLURM、モジュールベースのツールチェーン)向けに設計されていますが、コンテナ(Singularity)やクラウド VM でも動作します。
  • 重い GPU 指向の依存関係(flash‑attn、vLLM、deepspeed、bitsandbytes)はオプションの拡張です。README に詳細なコンパイラ/CUDA バージョンガイドがあります。
  • シークレット(HF トークン、W&B、Supabase、Daytona)は、DC_AGENT_SECRET_ENV によって参照されるプライベート環境ファイルにあることが期待されます。

対象読者 – 適度な規模でエージェント型 LLM を作成するためのエンドツーエンドパイプラインを必要とする研究者やエンジニア、特に HPC やクラウドベースの GPU クラスターに精通している人。

詳細情報 – プロジェクトウェブサイト、リーダーボード、トレースビューアのリンクは README の上部にあります。docs/EVAL_GUIDE.md と hpc/README.md に詳細な使用法があります。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト