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スケールインを実装。
  • 障害耐性:組み込みの再試行、タイムアウト、コンテンツアドレス付き参照を用いた永続的アーティファクトストレージ。

関連

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