maze-agent/Maze
A distributed framework for LLM agents
何を解決するか
Mazeは、エージェントプログラムを観測可能でスケーラブルなワークフローに変換する分散型フレームワークです。CPU、GPU、I/Oといった異種コンピューティングリソース上で複雑なLLMエージェントタスクを管理する問題を解決し、実行、復旧、モデルサービングのための統一APIを提供します。
動作方法
Mazeは、"Runs"を管理する中央のCoreと、Rayを使用してクラスタ内のワーカーノードにタスクを分散するスケジューラを使用しています。静的DAG(@workflowまたは仕様で定義)と、実行時におけるタスクの動的追加をサポートする動的ワークフローの両方に対応しています。
主な技術的コンポーネントは以下の通りです:
- 異種スケジューリング:GPU、CPU、I/O用の別々のキューを用意し、リソースのブロッキングを防ぎ、FCFSまたはHACSスケジューリングアルゴリズムを活用します。
- 分散型モデル実行:ローカルのチェックポイントを自動で検出し、必要に応じてvLLMまたはTransformersインスタンスをデプロイ。リソースキューをブロッキングせずに、利用可能なモデルにタスクをルーティングします。
- 永続的ステート:プロセスの再起動後もタスクステート、ログ、コンテンツアドレス付きアーティファクトを保持し、障害耐性を確保します。
- 統一インターフェース:Python SDK、視覚的なWorkbench(DAGエディタ)、CLIがすべて同じCore APIと連携します。
対象ユーザー
分散実行、視覚的ワークフローのオーケストレーション、効率的なGPUリソース管理を必要とする、複雑なLLMベースのエージェントを開発する開発者や研究者向けです。
特徴
- 視覚的ワークフロー開発:DAGエディタ、タスクカタログ、クラスタモニタリングを備えたWorkbench。
- リソース意識型スケジューリング:異なるハードウェアリソース向けに専用キューを用意し、スループットを最適化します。
- 動的・静的ワークフロー:事前に定義されたDAGと実行時におけるタスク追加の両方をサポート。
- 自動モデルライフサイクル:オンデマンドでのモデルインスタンス(vLLM/Transformers)のデプロイとスケーリング、LRUスケールインを実装。
- 障害耐性:組み込みの再試行、タイムアウト、コンテンツアドレス付き参照を用いた永続的アーティファクトストレージ。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト