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 パイプラインを実行できます。
典型的なワークフロー
- セットアップ – Python 3.12 環境を作成し、
uv pip install -e .[datagen,sft,cloud]でベーススタックをインストールします。 - データ生成 –
python -m hpc.launch --job_type datagen …またはクラウドランチャーで datagen スクリプトを実行します。スクリプトはデータセットとオプションのトレースログを生成します。 - ファインチューニング – LLaMA‑Factory 設定を使用して生成されたデータで小規模なエージェント型モデルをトレーニングする SFT ジョブ(
--job_type sft)を起動します。 - 評価 – クイックサニティチェックには
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 に詳細な使用法があります。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト