Atropos: LLMの可能性を最大限に引き出すための強化学習フレームワーク
Atroposは、大規模言語モデル(LLM)の強化学習(RL)環境を構築・評価するためのフレームワークです。ギリシャ神話の運命の女神アトロポスのように、AtroposはLLMを最適な潜在能力へと導きます。主要な機能、使用例、開発への貢献方法を見ていきましょう。
Atroposの特徴:LLM強化学習を加速する
Atroposは、LLMベースのRL研究を加速させるために、柔軟性、スケーラビリティ、標準化されたプラットフォームを提供することを目指しています。以下の重要な機能をご覧ください。
-
マルチターン&非同期RL: 複雑な、多段階、非同期のインタラクションを効率的にサポートします。
-
推論に依存しない: 標準的な推論API(OpenAI、vLLM、SGLangなど)と統合されており、LLMプロバイダーとフレームワーク間を簡単に切り替えることが可能です。
-
トレーナーに依存しない: コードを大幅に変更することなく、さまざまなRLアルゴリズムとフレームワークを試すための標準化されたトレーニングインターフェイスを提供します。
-
スケーラブル&分散型: より多くの環境インスタンスを(ローカルまたは分散リソース全体で)起動することで簡単にスケールでき、中央サービスにロールアウトを提供します。
-
多様な環境統合: 異種、マルチモーダルなトレーニングのために、多くの多様な環境タイプを同時に管理します。
実際の成果:モデルの性能向上
Atroposを使用してトレーニングされたモデルによる実験結果をご紹介します。特定のドメインやタスクにおいて、著しい改善が見られています。
-
ツール呼び出し環境の結果: DeepHermes-ToolCalling-Specialist-Atroposは、ツール呼び出しタスクにおいて優れた成果を達成しました。モデルアーティファクト: https://huggingface.co/NousResearch/DeepHermes-ToolCalling-Specialist-Atropos 使用環境:https://github.com/NousResearch/Atropos/environments/tool_calling_server.py
-
財務ファンダメンタル予測環境の結果: DeepHermes-Financial-Fundamentals-Prediction-Specialist-Atroposは、財務予測精度を向上させました。モデルアーティファクト: https://huggingface.co/NousResearch/DeepHermes-Financial-Fundamentals-Prediction-Specialist-Atropos 使用環境: https://github.com/NousResearch/Atropos/environments/fundamental_prediction_environment.py
-
RLAIF実験: RLAIF環境を使用してモデルの個性を変化させることで、興味深く、時には奇妙な性格を持つモデルを作成しました。DeepHermes Egregore v1 & v2 8B、DeepHermes Ascension Maze 8Bなどが挙げられます。使用された環境:https://github.com/NousResearch/atropos/blob/main/environments/rlaif_server.py
Atroposで出来ること:詳細な環境と使い方の手順
Atroposを使用することで、様々なタスクに対応したLLMを作成し、強化学習を通じて洗練されたモデルを構築できます。 
主要ドキュメント
-
ベース環境クラス: カスタム環境の作成に関するドキュメント。[Base Environment Class - Documentation for creating custom environments](Base Environment Class - Documentation for creating custom environments)
-
環境概要: 既存の環境に関するドキュメント。[Environments Overview - Documentation for existing environments](Environments Overview - Documentation for existing environments)
-
完全な環境設定オプション: カスタム環境の作成に関するドキュメント。[Full Environment Config Options - Documentation for creating custom environments](Full Environment Config Options - Documentation for creating custom environments)
-
例トレーナー: トレーニングの開始。[Example Trainer - Getting started with training](Example Trainer - Getting started with training)
-
Slurmガイド: 分散推論のためにAtroposをSlurmで使用するためのガイド。[Slurm Guide - Guide for using Atropos with Slurm for distributed inference](Slurm Guide - Guide for using Atropos with Slurm for distributed inference)
-
貢献ガイド: 貢献者向けのガイドライン。[Contributing Guide - Guidelines for contributors](Contributing Guide - Guidelines for contributors)
-
ライセンス: MITライセンスの詳細。[License - MIT license details](License - MIT license details)
インストール
Python 3.10 (またはそれ以降)環境を準備し、簡単にpipをインストールします。
リポジトリの開発や環境の使用を検討している場合は:
重要な注意点:リポジトリにコミットする場合は、pre-commit hooksをインストールしてください。
クイックスタートガイド
-
最初の環境を作成:
- ベース環境クラスのドキュメントを確認して、中心となるコンセプトを理解してください。
- 環境のディレクトリにある既存の環境を確認してください。
-
例の環境の実行:
- VLLMまたはSGLang推論サーバーの実行を指すように、使用する環境ファイルのconfig_initセクションを編集します(たとえば、GSM8K環境で)。グループサイズなど、他の設定変更も行います。
- 次のコマンドを実行します。
-
(オプション)APIのクエリ:
- APIを照会し、ロールアウトを開始する場合は、トレーナーを使用せずに、APIドキュメントを参照して、このAPIが公開するREST APIインターフェイスを調べてください。トレーナーを使用する場合は、手順4に進みます。
-
モデルのトレーニング:
- トレーニングの例ガイドに従って、詳細な手順を確認します。
- 組み込みのロギングおよびレポートシステムを通じて進捗状況を監視します。
- 完了長
- 評価精度
- 完全なロールアウトとスコア
複数の環境を同時に使用でき、すべてを同じサーバーに向けることができます。環境には、詳細なロギングとレポートのサポートが付属しており、実行は完了長、eval精度、完全なロールアウトとスコアなどを追跡します。
デバッグツール
trajectory-handler は、環境開発者が完全な分散インフラストラクチャを必要とせずにローカルで環境をテストおよび理解するのに役立ついくつかのデバッグツールを提供します。
- 柔軟なモデルプロバイダーのサポート: Atropos は、OpenAI API 標準に準拠するあらゆるモデルプロバイダーをネイティブでサポートします。プロバイダーのベースURLとAPIキーを提供するだけで、Atropos はそのモデルとシームレスに統合して、ローカルで環境をテストまたは実行できます。
- API と選択した環境を起動した後(例: run-api & python environments/gsm8k_server.py serve)、それらを表示してすばやく確認したり、オフラインでトレーニングするためのデータセットを準備したりできます。
- Run の表示 (view-run): GradioUIを起動して、環境実行によって生成されたロールアウトのバッチを検査します。これは、インタラクションとデータフローを視覚的にデバッグするのに役立ちます。
- オフラインデータ生成: atropos-sft-gen および atropos-dpo-gen を使用して、環境からロールアウトを収集し、教師あり微調整(SFT)または直接好み最適化(DPO)に適した形式に変換します。
今後のAtropos LLM RL環境ハッカソン
2025年5月18日にサンフランシスコで開催される、LLM RL環境の構築と実験に焦点を当てたエキサイティングなハッカソンにご参加ください。対面式イベントでは、LLM強化学習の分野の進歩に関心のある研究者と開発者が集まります。詳細は近日公開予定です。更新情報については、Twitter @NousResearchをフォローしてください。
貢献方法とライセンス
AtroposはオープンソースAIコミュニティによって構築されており、素晴らしい貢献者に依存しています。 コードの書式設定、テストなどの詳細については、投稿ガイドを参照してください。コードの振る舞いに従ってください。Atroposは、MITライセンスを使用しています。詳細については、こちらhttps://www.github.com/NousResearch/AtroposのLICENSEファイルを参照してください。
citation
このライブラリがあなたの仕事に役立つと思われる場合は、このリポジトリを次のように引用できます。
@misc{atropos,
title = {{Atropos - An Async First Environment Rollout Controller}},
author = {Dakota Mahan, Roger Jin, Teknium, Shannon Sands, Artem Yatsenko, Jai Suphavadeeprasit, Karan Malhotra, Chen Guang, Joe Li},
url = {https://www.github.com/NousResearch/Atropos},
month = {4},
year = {2025},
version = {0.1},
}