mesh-llm: 複数PCのGPUを束ねて巨大なLLMをローカル実行する分散推論基盤
date: 2026-04-04
1台のマシンでは動かせない大規模言語モデル(LLM)を、複数のコンピューターのGPUリソースを持ち寄って実行できるオープンソースプロジェクト「mesh-llm」が登場しました。OpenAI互換APIを備え、既存のAIツールからそのまま使える実用的な分散推論基盤です。
概要
mesh-llmは、余剰GPU計算資源を束ねて大きなモデルを動かすための分散推論基盤です。主な特徴は:
- 自動分散: モデルが1台に収まらない場合のみ複数ノードに分散
- OpenAI互換API: 既存のツールやエージェントからそのまま利用可能
- マルチモデル対応: 異なるノードで異なるモデルを同時実行
- エージェント連携: Blackboard機能でエージェント間の知識共有
技術的な仕組み
分散戦略
mesh-llmは3つの戦略を使い分けます:
- Solo mode(単体実行)
- モデルが1台のマシンに収まる場合
- ネットワークオーバーヘッドなし、フルスピードで動作
- Pipeline Parallelism(パイプライン並列化)
- Dense modelが1台に収まらない場合
- レイヤーごとに処理を複数ノードに分割
- VRAM容量に応じて比例配分
- Expert Parallelism(エキスパート並列化)
- MoEモデル(Qwen3-MoE、GLM、Mixtral、DeepSeek等)向け
- エキスパートを各ノードに分散配置
- 推論中のノード間通信ゼロ実現
MoEモデルの最適化
Mixture-of-Expertsモデルでは、重要度の高いエキスパートを特定し、以下のように配置:
- コアエキスパート: 全ノードに複製
- 固有エキスパート: 各ノードにユニークに分散
各ノードは独立したllama-serverを実行するため、推論時のクロスノード通信が発生しません。セッションはハッシュルーティングでKVキャッシュの局所性を確保。
パフォーマンス最適化
Zero-Transfer GGUF Loading
モデルの重みをネットワーク越しに送るのではなく、各ノードのローカルファイルから直接読み込み:
- 従来: 111秒(16.88GB転送)
- mesh-llm: 約5秒(0バイト転送)
RPC最適化
- パートークンのRPC往復: 558回 → 8回に削減
- 中間テンソルは直接サーバー間で転送(クライアント経由なし)
Speculative Decoding(投機的デコード)
小型モデルが候補を先に生成し、大型モデルが一括検証:
- コード生成で+38%スループット向上
- 75%の受理率
実測値
GLM-4.7-Flash-Q4_K_M(17GB)でのベンチマーク:
| 構成 | トークン/秒 |
|---|---|
| Solo(単体) | 68 |
| 2ノード分割(85/15) | 21 |
| 3ノード分割(62/31/8) | 12-13 |
| クロスネットワーク(~20ms RTT) | 10-25 |
使い方
インストール
curl -fsSL https://raw.githubusercontent.com/michaelneale/mesh-llm/main/install.sh | bash基本的な使い方
# 公開メッシュに自動参加
mesh-llm --auto
# 特定のモデルを実行
mesh-llm --model Qwen2.5-32B
# 別のマシンを参加させる(トークンは最初のマシンが表示)
mesh-llm --join <token>エージェント統合
# Goose
mesh-llm goose
# Claude Code
mesh-llm claude
# pi
pi --provider mesh --model GLM-4.7-Flash-Q4_K_M
# OpenAI互換APIで直接アクセス
curl http://localhost:9337/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"GLM-4.7-Flash-Q4_K_M","messages":[{"role":"user","content":"hello"}]}'Blackboard: エージェント間知識共有
mesh-llmのユニークな機能が「Blackboard」です。エージェント同士や利用者同士が作業状況や調査結果を共有できます:
- STATUS: 何に取り組んでいるか
- FINDING: 発見したこと
- QUESTION: 質問
- TIP: ヒント
- DONE: 完了
# Blackboardに投稿
mesh-llm blackboard "STATUS: [org/repo branch:main] refactoring billing module"
# 検索
mesh-llm blackboard --search "billing refactor"プライバシー:
- メッセージは48時間で自動削除
- PII(個人情報)は自動スクラブ
- 非公開メッシュでは内容は参加者のみに限定
対応モデル
カタログから自動ダウンロード可能な主なモデル:
| VRAM | モデル | サイズ | 備考 |
|---|---|---|---|
| ≤3GB | Qwen3-4B | 2.5GB | Thinking modes |
| 6-8GB | Qwen3-8B | 5.0GB | 強力な小型モデル |
| 20-24GB | GLM-4.7-Flash | 18GB | MoE 64 experts |
| 20-24GB | Qwen2.5-Coder-32B | 20GB | GPT-4o並のコード性能 |
| 40GB+ | Llama-3.3-70B | 43GB | 強力な汎用モデル |
| 100GB+ | Qwen3-235B-A22B | 142GB | MoE 235B/22B active |
| 100GB+ | Llama-3.1-405B | 149GB | 最大級のDenseモデル |
HuggingFace上の任意のGGUFモデルも利用可能です。
セルフホスティング vs 公開メッシュ
プライベートメッシュ
mesh-llm --model Qwen2.5-32B # トークンが表示される
mesh-llm --join <token> # 別のマシンで参加公開メッシュ
mesh-llm --model Qwen2.5-32B --publish # Discoverableに
mesh-llm --auto # 自動発見・参加Nostrリレーを使用してメッシュを公開・発見。リージョンマッチ、VRAM容量、ヘルスチェックをスコアリングして最適なメッシュを選択。
対応プラットフォーム
- macOS: Apple Silicon(Metal)
- Linux: CUDA、ROCm、Vulkan、CPU
- Windows: ソースビルドまたはリリースバンドル
まとめ
mesh-llmは、個人や小規模チームがクラウドサービスに依存せずに大規模モデルを運用するための実用的なソリューションです。特に以下の場面で威力を発揮します:
- 自宅の複数マシンで大きなモデルを動かしたい
- チームでGPUリソースを共有したい
- プライバシーを保ちながらローカルでLLMを使いたい
- 複数のエージェントを協調させたい
Gooseプロジェクトの一環として開発されており、活発なコミュニティが存在します。
リンク
- [GitHub: michaelneale/mesh-llm](https://github.com/michaelneale/mesh-llm)
- [公式ドキュメント](https://docs.anarchai.org/)
- [Discord(#mesh-llm)](https://discord.gg/goose-oss)
この記事はGIGAZINEの記事と公式ドキュメントを基に作成しました。