distributed-llama: テンソル並列で家庭内デバイスをクラスタ化し大規模LLMを実行する分散推論エンジン
distributed-llama: テンソル並列で家庭内デバイスをクラスタ化し大規模LLMを実行する分散推論エンジン
解決する課題
Distributed Llama は、複数の家庭内デバイス(PC、Mac Mini、Raspberry Pi など)を 1 つの強力なクラスタに接続して LLM 推論を高速化します。これにより、単一マシンのハードウェアリソースが限られている問題を解消し、RAM 制約のために実行できなかった大規模モデル(例: Llama 3.1 405B)を動かすことが可能になります。
仕組み
本プロジェクトはテンソル並列を用いて、ニューラルネットワークをイーサネット接続された複数ノードに分割します。ルート‑ワーカーモデルを採用しています:
- Root Node: モデルのロード、重みの配布、ニューラルネットワーク状態の同期を管理します。また、ネットワークの自分のスライスを処理するワーカーとしても機能します。
- Worker Nodes: 割り当てられたネットワークのスライスを処理し、モデル固有の設定は不要です。
システムは 2 の累乗(1, 2, 4 … 2^n)台のノードをサポートし、接続されたすべてのデバイスで RAM 使用量を分散します。
対象ユーザー
複数の余剰デバイスを所有し、高価なエンタープライズハードウェアを購入せずにローカルで大規模 LLM を走らせたいユーザー向けです。Linux、macOS、Windows をサポートし、ARM と x86_64 AVX2 CPU、さらに Vulkan を利用した GPU に最適化されています。
ハイライト
- クロスプラットフォーム対応: Linux、macOS、Windows、Raspberry Pi で動作。
- 幅広いモデル対応: Llama 3.1、3.2、3.3、DeepSeek R1 Distill、Qwen 3 系列に対応。
- ハードウェア柔軟性: CPU(ARM/x86_64)および GPU(Vulkan)での推論をサポート。
- 柔軟なデプロイ: CLI チャット、ベンチマークツール、API サーバーを同梱。
Sources
- undefinedb4rtaz/distributed-llama