セットアップ:
- CPU: AMD Ryzen 5 9600X
- RAM: 64GB DDR5
- GPU1 (ホスト): RTX 5060ti 16GB
- GPU2 (VMパススルー → RPC): GTX 1080ti 11GB
- OS: Ubuntu 24.04
正確なモデル名:
unsloth/Qwen3.5-35B-A3B-GGUF の Q4_K_M 量子化 here
unsloth/NVIDIA-Nemotron-3-Super-120B-A12B-GGUF の UD-Q4_K_M 量子化 here
tl;dr
私の設定では:
Qwen3.5-35B-A3B Q4_K_M は 60トークン/秒 で動作
Nemotron-3-Super-120B-A12B UD-Q4_K_M は 3トークン/秒 で動作
私は GTX 1080ti を長年使ってきましたが、最新の Pascal 世代以外のアーキテクチャを要するモデルに壁を感じ、5060ti へアップグレードを決意しました。カードを取り付けようとしたとき、これらを組み合わせて合計 27GB の VRAM にできるのでは...と思いました。結局、それは可能で、かなり効果的でした。
Qwen3.5-35B-A3B
これは私の最初の目標でした――自分が実際に望んでいることを実現できることを証明するためです。
llama.cpp を用いた素朴な多GPU設定を試しましたが、最初の課題はドライバでした。私の理解では、5060ti は 290-open 以上、1080ti は 280-closed 以下を必要とします。ChatGPT は両方をサポートする単一のドライバがあるという誤誘導的な説明をしましたが、行き止まりでした。私にとってうまくいった方法はかなり奇妙に聞こえますが、後から考えると筋が通っています。
結局うまくいったのは、virt-manager を使って VM を作成し、パススルーを有効化してホストが 1080ti を認識しなくなり、ゲスト VM の専用になったことです。これにより、各マシンに適切なドライバをインストールできました。 その後、llama.cpp の素晴らしい RPC 機能を活用して、物事を「そのまま動く」ようにしました。実際にそうなりました。60t/s は非常に快適で、使い勝手が良かったです。そんな速度は全く予想していませんでした。
この方法を試す場合は、llama.cpp を -DGGML_CUDA=ON および -DGGML_RPC=ON でビルドする必要があります
ゲスト VM の RPC サーバを実行するには: .build/bin/rpc-server --device CUDA0 --host 0.0.0.0 -p 5052
ホスト側では、hostname -I を実行してゲスト VM の IP を取得し、次のようにします: ./build/bin/llama-cli -m ~/models/Qwen3.5-35B-A3B-Q4_K_M.gguf -ngl 999 --rpc the_ip_you_got:50052 --tensor-split 5,8 -p \"Say hello in one sentence.\"
またはサーバとして実行するには: ./build/bin/llama-server -m ~/models/Qwen3.5-35B-A3B-Q4_K_M.gguf -ngl 999 --rpc the_ip_you_got=:50052 --tensor-split 5,8 --port 8080 --host 0.0.0.0
Nemotron-3-Super-120B-A12B
上記の設定は llama.cpp の再ビルドと -ngl を RAM の使用にも切り替える以外は、追加の変更を行わずに動作しました。
注: ロードには数分かかり、free -h はすべてのメモリを報告しました

