RTX 5080 與 RTX 3090 多 GPU 設定用於 Qwen 3.6 27B

使用 NVIDIA RTX 5080 (16GB) 與翻新 RTX 3090 (24GB) 的混合 GPU 配置,在執行 Qwen 3.6 27B Q8 量化模型時,可以達到每秒 80 到 90+ 個 token (tok/s) 的推論速度。此設定利用總計 40GB 的 VRAM 來容納模型以及透過 Q8 KV-cache 量化實現的大型 230k 上下文視窗。

硬體配置與 PCIe 要求

若要在不同世代(Blackwell 與 Ampere)之間使用兩張 GPU,主機板必須支援 PCIe 通道拆分。

  • 主機板: 使用 Asus Prime X570-Pro 將 16x PCIe 插槽拆分為 2x8。
  • 連接性: 需要高品質的 PCIe 4 riser 來連接第二張 GPU。
  • VRAM 總量: 16GB (RTX 5080) + 24GB (RTX 3090) = 總計 40GB 可用 VRAM。

BIOS 與系統設定

正確的 BIOS 配置對於多 GPU 識別與效能至關重要。不支援以 BIOS/MBR 模式啟動;必須使用 UEFI。

在 BIOS 中必須設定以下參數:

  • CSM (Compatibility Support Module): 已停用 (Disabled)
  • Above 4G Decoding: 已啟用 (Enabled)
  • ReSize BAR Support: 自動 (Auto) 或 已啟用 (Enabled)
  • PCIEX16_1 Link Mode: Gen 4
  • PCIEX16_2 Link Mode: Gen 4

驅動程式與核心安裝

對於混合世代的 NVIDIA 卡,建議選擇 nvidia-open 驅動程式。雖然修補過的驅動程式(例如來自 open-gpu-kernel-modules)對於相同的 GPU 可能有效,但混合不同架構時通常會失敗。

若要驗證設定,nvidia-smi 指令應顯示 RTX 3090 與 RTX 5080 皆為活動裝置。若要檢查 PCIe 埠是否以全速運行(16GT/s, Width x8),請使用以下指令:

sudo lspci -vvv -s 07:00.0 | grep "LnkSta:"

llama.cpp 編譯與執行

編譯參數 (Build Flags)

為了支援 Ampere (RTX 3090) 與 Blackwell (RTX 5080) 架構,llama.cpp 必須使用特定的 CUDA 架構參數進行編譯:

cmake -B build -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DGGML_NATIVE=ON -DGGML_CUDA_FA=ON -DGGML_CUDA_FA_ALL_QUANTS=ON -DCMAKE_CUDA_ARCHITECTURES="86;120" -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc -DGGML_CUDA_NCCL=OFF
  • CMAKE_CUDA_ARCHITECTURES="86;120":啟用對兩代 GPU 的支援。
  • -DGGML_CUDA_NCCL=OFF:發現在此特定配置中,使用 NCCL 反而會降低效能。

執行參數

使用以下參數執行 llama-server 可優化 VRAM 使用量與吞吐量:

llama-server -m ./models/Huihui-Qwen3.6-27B-abliterated-ggml-model-Q8_0.gguf \
    -c 229376 \
    -np 1 -fa on -ngl 99 -ub 512 -t 6 --no-mmap \
    --temp 0.7 --top-p 0.8 --top-k 20 --min-p 0.0 --presence-penalty 0.0 --repeat-penalty 1.0 \
    -ctk q8_0 -ctv q8_0 --kv-unified \
    --chat-template-kwargs {"preserve_thinking": true} \
    --spec-type ngram-mod,draft-mtp --spec-draft-n-max 3 \
    -sm tensor -ts 2,3 \
    --port 8001 --host 0.0.0.0

關鍵優化細節:

  • -sm tensor:為多 GPU 設定啟用張量拆分 (tensor splitting)。
  • -ts 2,3:設定顯卡使用比例,以確保所有 VRAM 被高效地填滿。
  • --spec-type ngram-mod,draft-mtp:使用多標記預測 (Multi-Token Prediction, MTP) 與 ngram-mod 進行投機採樣 (speculative decoding) 以提升 token 生成速度。
  • -ctk q8_0 -ctv q8_0:將 KV-cache 量化為 Q8 以節省記憶體,同時維持 230k 的上下文視窗。

效能結果

此配置在執行 Qwen 3.6 27B Q8 模型時,可達到約每秒 81.84 到 91.13 個 token 的生成速度。

社群洞察與不同觀點

社群用戶針對此設定提供了額外的技術細節與考量因素:

  • 參數微調: 有些用戶建議,對於處於「思考模式」的 Qwen 3.6,最佳設定為 --temp 1.0 --top-p 0.95 --top-k 20 --min-p 0.00,而程式碼任務則受益於 --temp 0.6。此外,有人認為在 NVIDIA 硬體上,--spec-draft-n-max 2 比 3 更穩定。
  • 模型替代方案: 雖然作者使用了 huihui-ai 的 abliterated 模型,但部分社群成員推薦使用 hereticExCal 版本以獲得更好的品質。
  • 電力與散熱: 一個關鍵的運作考量是功耗。這種規模的雙 GPU 設定在滿載時可能消耗高達 700W,整個系統可能達到 1kW,因此需要高品質的電源供應器 (PSU) 與散熱管理。
  • 成本效益分析: 有些用戶指出,對於低頻率使用,支付 API 存取費用(例如透過 OpenRouter)會比投入超過 2,000 美元的硬體與電力成本顯著更低。
  • 替代硬體: 其他用戶回報了類似的效能能,例如使用更經濟的組合,例如在 MACHINIST X99 主機板搭配 Xeon CPU 的情況下,使用兩張 RTX 3080 20GB 顯卡。

Sources