デュアル3090構成でのセットアップ—パフォーマンス最適化

Reddit r/LocalLLaMA / 2026/4/11

💬 オピニオンDeveloper Stack & InfrastructureIdeas & Deep AnalysisTools & Practical UsageModels & Research

要点

  • ユーザーがデュアルRTX 3090構成で大規模なQwenモデルを実行した際のパフォーマンス結果を報告しており、プロンプト処理(pp/s)は強い一方で、PCIeレーンを分割モードで使用し、帯域が不均一(PCIe4 x16 vs PCIe3 x4)なため、トークン生成(tg/s)が相対的に伸びないと述べています。
  • バックエンドの比較(ik_llama.cpp vs llama.cpp、そしてvLLM)を行った結果、vLLMは27Bモデルでより高いtg/sを出せる可能性がある一方で、量子化や設定によってはスループットが大きく低下し、長い起動時間が発生することもあると示されています。
  • ユーザーは、GPU間の転送速度(たとえば、PCIe4を8x/8xに設定できるx570マザーボード)を改善することで、分割された行/グラフモードのtg/sが向上するのではないかと推測しています。ただし、水冷ループ内でのハードウェア入れ替えが複雑なため、慎重になっています。
  • 各モデルごとの詳細なベンチマークと量子化設定(選択的なBF16テンソル上書きを含むカスタムQ8_K_Lバリアントなど)を掲載しており、量子化比較とチューニングのためのkld-sweepのようなツール/作業も紹介しています。
  • この投稿では、特にPCIe構成や転送経路がより良いデュアル3090環境を使っている他のユーザーのコミュニティベンチマークを求めています。

いまこのマシンを使っています:

  • MSI B550-A PRO
  • Ryzen 5 5600X、4x16GB DDR4 3200 MHz
  • RTX 3090 - PCIe4 x16(約25GB/s)
  • RTX 3090 - PCIe3 x4(<3GB/s..)

最近になって2枚目のGPUを追加したのですが、いろいろ最適化を一日やった後、次の構成に落ち着きました:

モデル名 モデル量子化 KV量子化 --ctx-size pp/s tg/s エンジン
Qwen3.5-122B-A10B AesSedai Q4_K_M q8_0 80000 1000 22 ik_llama.cpp
Qwen3.5-27B PaMRxR Q8_K_L bf16 200000 1950 25 llama.cpp
Qwen3.5-35B-A3B PaMRxR Q8_K_L bf16 260000 4366 102 llama.cpp

--split-mode ではうまく動いていて、特にppは良好ですが、tgはあまり理想的ではありません。vLLMでは27Bで50〜60 tg/sは出ましたが、量子化が悪いせいで、pp/sは大きく(かなり)落ちて600にも届かず、さらに起動時間もひどく長くなりました。全体として、あまり割に合いません。

デュアル3090で、これら(または同様の)モデルを使ったときに他の人はどんな数値が出ているのでしょう?特に、GPU間の転送速度が良い場合は知りたいです。 --split-mode の row / graph で改善されるなら、PCIe4 の8x/8x をサポートするX570マザーボードなら tg が良くなる可能性があると思っています。ただ、最初にセットアップするのに時間がかかった水冷ループに全部配線が入っているので、闇雲に交換には踏み込みたくありません。残念ながら、GPUのブランドが違うためNVLinkは使えません。

補足:Q8_K_L は自分で作った量子化で、基本的には Q8_0 に対して、BF16に選択的に上書きしたテンソルがいくつかあるだけです。とはいえ、UD-Q8_K_XL よりは小さい一方で、より良いKLDを達成しています。/u/TitwitMuffbiscuit と、その kld-sweep ツールのおかげで、複数の量子化の ppl/kld を簡単に比較できます。

投稿者 /u/PaMRxR
[リンク] [コメント]