Experiment公開済み

PCIe x1を含むマルチGPUでローカルLLMを動かす

安価な混在PCIe構成へ複数GPUと大規模GGUFを配置し、生成速度と配置上の偏りを実測しました。

Tested question
PCIe Gen2 x1を含む混在リンク機でも、複数GPUへ大規模GGUFを載せて実用的な生成速度を得られるか。
Exact tools
  • llama.cpp build 10109 (commit 0cea36222)
  • llama-bench
  • ASUS TUF B450-PLUS GAMING
  • Ryzen 5 3500
  • RTX 3090 x3
  • RTX 4090 x1
Exact models
  • gemma-4-12b-it-Q8_0.gguf
  • gemma-4-26B-A4B-it-Q8_0.gguf
  • unsloth/Laguna-S-2.1-GGUF UD-Q4_K_S
Validation method
12B単一GPU、26B 2GPU、118B-A8B 4GPUを順に測定しました。llama-benchは各条件5回、API生成もウォームアップ後に128トークンを5回実行しました。
Result
118B-A8Bは4GPUに収まり、API生成中央値86.12 tok/s、TTFT 246.66 ms、128トークン完了まで約1.72秒でした。一方でGPU使用率は偏り、均等配置は最適ではありませんでした。
Limitations
  • 同一GPUのリンク幅だけを変えた比較ではなく、カード差・温度・クロックを分離していません。
  • 起動確認は各構成1回で、OSのページキャッシュを温めた状態です。
  • 長時間負荷、高並列、約100万トークンの公開上限は未検証です。

実験の背景

大容量モデルを載せるためにGPUを増やしても、狭いPCIeリンクがボトルネックになれば実用性は下がります。P2PもNVLinkもない実機で、モデル規模を段階的に増やしました。

短い逐次リクエストでは118B-A8Bまで動作し、生成値もまとまりました。ただし4090の最大使用率46%に対して3090が100%へ達する場面がありました。「x1でも性能は落ちない」と一般化せず、モデル配置と負荷条件を含めて判断する必要があります。