Mesh LLM: Iroh 上での分散型 AI コンピューティング
Mesh LLM: Iroh 上での分散型 AI コンピューティング
Mesh LLM は、ヘテロジニアスなハードウェア全体で分散型 AI 推論を可能にします
Mesh LLM は、ノート PC やミニ PC からサーバーやクラウドノードに至るまで、複数のマシンから GPU とメモリをプールし、それらを単一の OpenAI 互換 API として公開することを可能にします。このアーキテクチャは、チームが既存のハードウェアを活用して、単一のマシンの VRAM 容量を超えるような大規模言語モデル (LLM) を実行できるようにすることで、中央集権的なデータセンターや高価な従量制 API への依存を排除します。
分散コンピューティングと「Skippy」分割モード
Mesh LLM は、ハードウェアの可用性とモデルのサイズを最適化するために、主に 3 つのルーティング方法を通じてモデル推論を処理します:
- Local Execution: リクエストはローカルマシンの GPU によって提供されます。
- Peer Routing: リクエストは、必要なモデルがすでにロードされているピアノードにルーティングされます。
- Pipeline Splitting (Skippy): 単一のノードには大きすぎるモデルの場合、「Skippy」エンジンがモデルをレイヤー範囲によってステージに分割します。例えば、レイヤー 0-15 はあるノードで実行され、16-31 は次のノードで実行されることがあります。アクティベーションはこれらのステージを順次的に流れるため、控えめなスペックのマシン・クラスターが共同で巨大なモデルを実行することが可能になります。
プロジェクトのモデルリストによると、Qwen 235B MoE モデルは 2 つのノードにわたって 16 tokens/s で動作することが証明されており、ネットワークのレイテンシにもかかわらず、分散型推論が一部のユースケースにおいて実行可能な速度に達することを示唆しています。
Iroh ネットワーク・アーキテクチャによる駆動
Mesh LLM は Iroh ネットワーク・ライブラリを活用して、すべてのノードが公開鍵によって識別される分散型メッシュネットワークを構築します。これにより、中央サーバーの必要性がなくなり、いくつかの主要な技術を通じて接続性を簡素化します:
- NAT Traversal: Iroh は、ノード間で直接的かつ認証された QUIC 接続を確立するために、ホールパンチングとリレー・フォールバックを処理します。
- Relay Infrastructure: オープンインターネット全体での接続性を確保するため、Mesh LLM は異なるリージョンにある 2 つの Iroh リレーをフォールバック・パスとして利用します。
- QUIC ALPN Negotiation: プロトコルは、トラフィックを管理するために 3 つの異なる Application-Layer Protocol Negotiation (ALPN) 識別子を使用します:
mesh-llm/1: gossip、ルーティング、HTTP トンネル、およびプラグイン・チャネルを処理します。mesh-llm-control/1: 設定の同期や所有権の証明を含む、オーナー・コントロール・プレーンを管理します。skippy-stage/2: 分割モデルで使用される、レイテンシに敏感なアクティベーション転送用の専用チャネルです。
mesh-llm/1 接続内では、双方向 QUIC ストリームは、gossip (ピア・アナウンスメント)、HTTP トンネル (推論リクエスト)、ルート・クエリ、およびピアのライフサイクル・イベントを区別するために、先頭のバイトを使用してデマルチプレクスされます。
プラグ可能なランタイムと API 互換性
Mesh LLM は、プラグインがマニフェストでその機能を宣言するプラグ可能なシステムとして設計されています。ランタイムはこれらのプラグインを管理し、MCP、HTTP、推論、およびメッシュ・イベントを介してそれらの機能を公開します。システムには現在、ノート PC に適した小型モデルから 235B パラメータの巨大なモデルまで、40 個以上のモデルのカタログが同梱されています。
統合の容易さを確保するため、Mesh LLM は標準的な OpenAI クライアントに対して localhost:9337/v1 として自身を提示し、基盤となる分散型の複雑さをエンドユーザーから隠蔽します。
コミュニティの洞察と技術的な検討事項
ユーザーのフィードバックとコミュニティの議論は、システムのアクセシビリティと技術的なトレードオフの両方を浮き彫りにしています:
- Ease of Deployment: ユーザーは、メッシュへの参加が非常にシームレスであると報告しており、
mesh-llm --autoを実行することで、最小限の設定で VRAM を提供しモデルをホストすることができたと述べています。 - Performance Concerns: 一部のユーザーは、ネットワーク・スループットに関する懐疑的な見解を示しており、コンシューマー向けネットワークはローカル RAM よりも大幅に遅いという点に注意しています。しかし、Qwen 235B モデルの 16 tok/s というベンチマークは、分散型推論がインタラクティブな使用において利用不可能であるという主張に対する反論となります。
- Hardware Compatibility: 一部のユーザーは、ハードウェア・サポートに関する「粗い部分」を報告しており、具体的には特定の
llama.cppビルドが古い GPU で動作しないことが言及されています。 - Security and Privacy: コミュニティ・メンバーは、データ・プライバシーに関する疑問を提起しており、分散型メッシュにおいて、リクエストを処理するホスト・ノードが処理中のデータを閲覧できる可能性があることを指摘しています。
"I have a macbook pro... The swarm page thing had a little 'join' button and said to run 'mesh-llm --auto'. And I did. And it worked first try." — @maccam912