AI Navigate

llama.cpp を用いて Qwen3.5-35B-A3B と Nemotron-3-Super-120B-A12B を 5060ti と 1080ti で実行する(Qwen は完全に GPU 上で動作、Nemotron には 64GB RAM が必要)

Reddit r/LocalLLaMA / 2026/3/13

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • 記事は llama.cpp を用いてデュアルGPU構成(RTX 5060ti + GTX 1080ti)で Qwen3.5-35B-A3B と Nemotron-3-Super-120B-A12B を実行し、Qwen は完全に GPU 加速、Nemotron は RAM に依存する性能を実現している。
  • この設定を有効にするため、著者は virt-manager 経由の VM パススルーを用いて各 GPU を分離し、ホストとゲストの双方に適切なドライバをインストールできるようにし、CUDA/RPC ワークフローを有効にしている。
  • llama.cpp を -DGGML_CUDA=ON および -DGGML_RPC=ON でビルドし、RPC サーバを起動してホストからネットワーク経由でモデルをクエリするコマンドが提供されている。
  • Qwen モデルは約 60 トークン/秒、Nemotron はこの構成で約 3 トークン/秒で動作し、Nemotron には 64GB RAM が必要で、ロード時間が顕著である。

セットアップ:

  • 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 はすべてのメモリを報告しました