Repolode
b4rtaz

b4rtaz/distributed-llama

複数の家庭用デバイスにLLM推論を分散し、Ethernet経由で生成を高速化するC++ツール。

スター
3,115
フォーク
258
未解決の Issue
48
最終コミット
11 日前

これは何?

Distributed Llamaは、家庭用デバイスやRaspberry Piなどの一般的なコンピューターを複数台つなぎ、1つのクラスターとして大規模言語モデルを実行します。ルートノードがモデルと重みを読み込み、ネットワークの各部分をワーカーノードに割り当てて状態を同期する一方、各ワーカーノードは担当部分を処理します。テンソル並列化とEthernet経由の高速な同期により、デバイスを追加すると推論速度が向上します。

Linux、macOS、Windowsで動作し、ARMおよびx86_64 AVX2 CPU向けに最適化されています。対応するLlama、DeepSeek R1 Distill、Qwen 3のモデルをQ40量子化でダウンロードするセットアップコマンドが用意されており、Hugging Faceモデル用の変換ツールも含まれています。推論のベンチマーク、CLIチャット、ワーカーの実行、APIサーバーの起動に使えるコマンドも備えています。

クラスターのノード数は2^nに限られ、最大ノード数はモデルのKVヘッド数によって決まります。量子化でサポートされるのは、q40とq80バッファー型の組み合わせ、およびf32とf32バッファー型の組み合わせのみです。実験的なVulkanおよびGPUの利用方法は、別途ドキュメントに記載されています。

主な機能

  • 01テンソル並列化により、複数のデバイスにモデルの計算を分散します。
  • 02標準的なEthernet経由でノード間を同期します。
  • 03Linux、macOS、Windowsで動作し、ARMおよびx86_64 AVX2向けに最適化されています。
  • 04CLIチャット、推論ベンチマーク、ワーカーモード、APIサーバーを提供します。
  • 05複数のLlama、DeepSeek、Qwen 3モデルをワンコマンドでセットアップできます。

ユースケース

  • 複数の家庭用コンピューターやミニPCで、70BクラスのLlamaモデルを実行する。
  • Raspberry PiクラスターでLLM推論を試す。
  • LAN上の少数のマシンから、ローカルのOpenAIスタイルAPIを提供する。

クイックスタート

  1. 1

    Python 3とC++コンパイラをインストールし、リポジトリをクローンします

  2. 2

    1つのコマンドでルートノードをセットアップします(モデルとトークナイザーをダウンロードします)

    python launch.py llama3_2_1b_instruct_q40

使う前に知っておきたいこと

  • ノード数は1、2、4、または2^nである必要があり、上限はモデルのKVヘッド数です。
  • q80バッファータイプのq40モデルと、f32バッファータイプのf32モデルのみサポートされています。
  • Vulkanのサポートは実験的です。

収録されている特集

トピック

よくある質問

distributed-llama とは?
複数の家庭用デバイスにLLM推論を分散し、Ethernet経由で生成を高速化するC++ツール。 Distributed Llamaは、家庭用デバイスやRaspberry Piなどの一般的なコンピューターを複数台つなぎ、1つのクラスターとして大規模言語モデルを実行します。ルートノードがモデルと重みを読み込み、ネットワークの各部分をワーカーノードに割り当てて状態を同期する一方、各ワーカーノードは担当部分を処理します。テンソル並列化とEthernet経由の高速な同期により、デバイスを追加すると推論速度が向上します。
distributed-llama は無料で使えますか?ライセンスは?
distributed-llama は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
distributed-llama は今もメンテナンスされていますか?
活発にメンテナンス中。distributed-llama の最終コミットは 2026年10月14日 です。
distributed-llama は何に使えますか?
複数の家庭用コンピューターやミニPCで、70BクラスのLlamaモデルを実行する。 Raspberry PiクラスターでLLM推論を試す。 LAN上の少数のマシンから、ローカルのOpenAIスタイルAPIを提供する。
distributed-llama のインストール方法は?
Python 3とC++コンパイラをインストールし、リポジトリをクローンします 1つのコマンドでルートノードをセットアップします(モデルとトークナイザーをダウンロードします): python launch.py llama3_2_1b_instruct_q40
distributed-llama はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/b4rtaz/distributed-llama

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト