llama.cpp で GPU 2台構成で性能向上

CUDA13で確認。GPU2台で利用している場合、 –split-mode tensor を使えば分散が2倍近く高速になる。
gemma 4-31b で利用したところ、デフォルト( –split-mode layer)で 23t/s だったものが –split-mode tensor で 45 t/s 超えた。  GPUは GeForce RTX 5060 Ti 16GB x2 を利用。
–split-mode tensor 高速化はB9095 の “NCCL-free AllReduce implementation” が有効な模様。

以下 llama-server -h より–split-mode 説明を引用

-sm, –split-mode {none,layer,row,tensor}
how to split the model across multiple GPUs, one of:
– none: use one GPU only
– layer (default): split layers and KV across GPUs (pipelined)
– row: split weight across GPUs by rows (parallelized)
– tensor: split weights and KV across GPUs (parallelized,

-sm,   --split-mode {none,layer,row,tensor}
  how to split the model across multiple GPUs, one of:
     - none: use one GPU only
     - layer (default): split layers and KV across GPUs (pipelined)
     - row: split weight across GPUs by rows (parallelized)
     - tensor: split weights and KV across GPUs (parallelized,EXPERIMENTAL)

ちなみに llama-server で mtp有効にすると gemma 4-31b で 2割近く向上した。
mtpなしで 20 t/s 程度が、mtp を有効にすると 23 t/s 。–spec-type draft-mtp と -md MTP.gguf ファイル指定が必要。
また –spec-draft-n-max の指定でパフォーマンスが少し変わる。利用環境では 2 が一番数値が良かった。デフォルトは3.

llama-server 利用オプション例
llama-server
   -c 40192
   -ngl all
   -ngld all 
   -m  model/unsloth/gemma-4-31B-it-UD-Q4_K_XL.gguf
   -mm model/unsloth/mmproj-F16-gemma-4-31B-it.gguf
   -md model/unsloth/gemma-4-31B-it-F16-MTP.gguf
   --spec-type draft-mtp
   --spec-draft-n-max 2
   --split-mode tensor

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA