「一張卡的 VRAM 不夠用,那就插兩張顯卡啊!」
這句話在本地 AI 圈經常聽到,但實際上兩張 16GB 顯示卡是否就等於擁有 32GB VRAM 呢?答案是「可以,也不完全可以」。
簡單來說,透過張量並行(Tensor Parallelism)等技術,確實能讓兩張顯示卡共同承載原本單張 16GB 無法載入的大型模型,但過程中仍存在一些限制,而且系統本身也會消耗部分 VRAM,因此實際可用容量通常會比理論值 32GB 略少一些。
主機板的選擇比顯卡更重要
首先要注意的是主機板架構。如果使用伺服器等級平台,通常較少遇到 PCIe 通道配置的問題;但若採用一般消費級平台,例如目前主流的 Intel LGA1700/LGA1851 或 AMD AM5,情況就有所不同。
大多數消費級主機板只有第一條 PCIe x16 插槽是直接連接 CPU,其餘 PCIe 插槽則是透過晶片組(Chipset)延伸出來。這會造成一個問題:當兩張顯示卡需要互相交換資料時,資料必須經過 CPU 與晶片組之間的連線,導致額外延遲與頻寬損耗,進而影響 Tensor Parallelism 的效率。因此,若要建置雙顯卡 AI 平台,建議選擇至少兩條 PCIe 插槽皆由 CPU 直連的主機板。如此一來,兩張顯示卡之間的資料交換可以避開晶片組,獲得更高的傳輸效率。
值得注意的是,價格昂貴並不代表一定具備雙 PCIe 直連設計。例如部分高階玩家級主機板為了優先提供更多 M.2 插槽資源,第二條 PCIe x16 插槽未必直接連接 CPU。經過篩選後,我們選擇了華碩 Pro WS Z890-ACE SE 作為本次測試平台。這張工作站級主機板具備兩條 PCIe 插槽皆直連 CPU 的特性,非常適合作為雙顯卡本地 AI 部署平台。
搭配兩張 RTX 5060 Ti 16GB,我們想驗證一個問題:
兩張 16GB 顯示卡,是否能完成原本需要單張 32GB 顯示卡才能做到的工作?

使用 Tensor Parallelism 拆分模型
本次測試的核心概念是利用 Tensor Parallelism(張量並行)技術,將大型模型切分成兩個部分,分別載入兩張顯示卡的 VRAM 中。
透過這種方式,即使單張顯示卡容量不足,仍有機會部署更大型的 LLM。
本次目標設定如下:
- 使用 4bit 或 5bit 量化模型
- 成功載入 25B 以上參數規模的 LLM
- 在可接受的效能下,盡可能提高 Context Length(上下文長度)
選擇 vLLM 作為部署平台
目前支援 Tensor Parallelism 的推論框架並不算多,因此我們選擇 vLLM 作為部署工具。作業系統環境為 Ubuntu 24.04。
第一個挑戰便是讓 Ubuntu 正確驅動兩張 RTX 5060 Ti。
經過多次測試後,最終確認只有 NVIDIA Server Open Driver 能穩定正常運作,因此建議直接安裝:nvidia-driver-580-server-open

安裝完成並重新開機後,可透過以下指令確認系統是否成功辨識兩張顯示卡:
nvidia-smi若畫面中能正確列出兩張 RTX 5060 Ti,即表示驅動安裝成功。

Docker 化部署 vLLM 與 Open WebUI
為了方便管理環境,本次採用 Docker Compose 進行部署,將 vLLM 與 Open WebUI 一併整合於同一組 Compose 設定中。測試模型選擇 gaunernst/gemma-3-27b-it-int4-awq,這是一個 27B 參數、4-bit AWQ 量化版本的 Gemma 3 模型。
services:
vllm:
image: vllm/vllm-openai:latest
container_name: vllm
runtime: nvidia
ipc: host
ports:
- "8000:8000"
environment:
HF_HOME: /root/.cache/huggingface
HUGGING_FACE_HUB_TOKEN: ${HF_TOKEN}
volumes:
- ./hf-cache:/root/.cache/huggingface
command: >
--model gaunernst/gemma-3-27b-it-int4-awq
--host 0.0.0.0
--port 8000
--tensor-parallel-size 2
--gpu-memory-utilization 0.95
--max-model-len 113664
--max-num-seqs 1
--enforce-eager
--served-model-name gemma-3-27b
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
volumes:
- ./open-webui:/app/backend/data
environment:
ENABLE_OPENAI_API: "true"
OPENAI_API_BASE_URL: "http://vllm:8000/v1"
OPENAI_API_KEY: "dummy-key"
depends_on:
- vllm
restart: unless-stopped
其中幾個關鍵參數如下:
tensor-parallel-size
由於使用兩張顯示卡,因此設定:
--tensor-parallel-size 2代表模型將平均分配至兩張 GPU。
max-model-len
此參數決定模型可支援的最大上下文長度。
在將 max-num-seqs 限制為最低值的前提下,我們反覆測試可容納的 Context 上限。最終結果為 113,664 Tokens,這個數字已遠超一般日常對話需求,足以應付長篇文件分析、程式碼專案檢索與知識庫應用等場景。
VRAM 使用情況
透過系統監控工具可以觀察到,兩張 RTX 5060 Ti 的 GPU Memory 均被大量占用。

這表示 vLLM 已成功將模型切分並載入至兩張顯示卡,而非僅使用其中一張卡進行推論。
實測結果
部署完成後,Open WebUI 能夠正常與模型進行互動,推論過程穩定運作。

最終成功以兩張 RTX 5060 Ti 16GB 透過 Tensor Parallelism 的方式部署 Gemma 3 27B 模型,證明雙 16GB 顯示卡確實能突破單卡 VRAM 的限制,執行原本需要更大顯示記憶體容量才能載入的大型模型。
雖然兩張 16GB 並不能完全等同於一張 32GB 顯示卡,但對於預算有限、又希望體驗 25B~30B 等級大型模型的玩家而言,雙卡 Tensor Parallelism 仍然是一條相當值得嘗試的路線。