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は、個人や小規模チームがクラウドサービスに依存せずに大規模モデルを運用するための実用的なソリューションです。特に以下の場面で威力を発揮します:

  1. 自宅の複数マシンで大きなモデルを動かしたい
  2. チームでGPUリソースを共有したい
  3. プライバシーを保ちながらローカルでLLMを使いたい
  4. 複数のエージェントを協調させたい

Gooseプロジェクトの一環として開発されており、活発なコミュニティが存在します。

リンク

  • [GitHub: michaelneale/mesh-llm](https://github.com/michaelneale/mesh-llm)
  • [公式ドキュメント](https://docs.anarchai.org/)
  • [Discord(#mesh-llm)](https://discord.gg/goose-oss)

この記事はGIGAZINEの記事と公式ドキュメントを基に作成しました。

関連記事