mesh-llm: マシン間でGPUとメモリリソースをプールして大規模なLLMを実行する分散推論システム
mesh-llm: マシン間でGPUとメモリリソースをプールして大規模なLLMを実行する分散推論システム
解決する課題
Mesh LLMを使用すると、ユーザーは複数のマシンにわたってGPUとメモリリソースをプールし、単一のコンピュータでは大きすぎる大規模言語モデル(LLM)を実行できます。OpenAI互換の統一されたAPIを提供するため、既存のツールとの統合が容易であり、計算負荷をネットワーク上のピアに分散させることができます。
仕組み
- リソースプーリング: 複数のノードを「メッシュ」に接続します。各ノードは、完全なモデルをホストするか、より大規模な分散システムの構成要素として機能することができます。
- インテリジェントルーティング: リクエストは、モデルを提供するために最適なピアにルーティングされます。モデルが1台のマシンに収まる場合はローカルで実行され、そうでない場合はピアにルーティングされます。
- Skippy Stage Splits: 単一のマシンに収まりきらないモデルの場合、システムはモデルを連続したレイヤー範囲(ステージ)に分割します。ノードは、割り当てられたステージを提供するために必要なGGUFフラグメント(レイヤーパッケージ)のみを取得します。
- Discovery: ユーザーはNostrのディスカバリーを介してパブリックメッシュに参加するか、招待トークンを使用してプライベートメッシュを作成できます。
- Mixture-of-Agents (MoA): 単一のプロンプトをメッシュ内の利用可能なすべてのモデルに展開し、それらの応答を仲裁して単一の統合された回答を返却する実験的な機能です。
対象ユーザー
- ハードウェア制約のあるユーザー: 他者とリソースをプールすることで、コンシューマー向けハードウェアで大規模なモデルを実行したいと考えている人々。
- 開発者: 分散LLM推論のためにOpenAI互換のAPIを必要とする人々。
- セルフホスター: プライベートまたはパブリックな分散推論クラスターをデプロイしたいユーザー。
ハイライト
- OpenAI互換API: 既存のLLMアプリケーションとシームレスに統合できます。
- 巨大なモデルのサポート: 幅広いモデルファミリー(Qwen, Llama, Gemma, Mistral, DeepSeek, など)およびマルチモーダルモデルをサポートしています。
- 柔軟なデプロイメント: CUDA, ROCm, Vululkan, Metalを含むさまざまなバックエンドをサポートしています。
- 分散実行: 複数のノードにわたって大規模なモデルに対してレイヤーベースの分割を実装しています。
- 実験的なMoAゲートウェイ: 決定論的な仲裁による複数のモデルにわたる並列実行。
Sources
- undefinedMesh-LLM/mesh-llm