模型裝不進顯示記憶體,加記憶體能不能救?答案取決於模型是什麼結構:MoE 模型可以,稠密模型基本不行。 把 MoE 的專家權重放進系統記憶體,gpt-oss 120B 只佔 4 GB 顯示記憶體,一張 16GB 的 RTX 5070 Ti 配 96GB 記憶體就能跑到約 21 tokens/s;換 RTX 5090 也還是 21,因為速度卡在記憶體頻寬上。稠密模型反過來:Qwen3 32B 4-bit 在 16GB 卡上留三分之一權重在記憶體,預估從 32 掉到 7 tokens/s,讓出的層越多掉得越狠。截至 2026 年 9 月 7 日,我們的建議是:常用模型是 MoE,加記憶體到 64GB 或 96GB;常用模型是稠密,先降量化、降上下文,再換 24GB 卡;圖片和影片生成看第六節,卸載對它們的帳不一樣。
顯示記憶體不夠,加記憶體有用嗎?本地大模型卸載到底在搬什麼(2026)
譯自简体中文版 · 閱讀原文
正文與常見問題中的數字截至 2026年9月7日;表格使用最新已發布價格,各裝置採集時間可能不同。

顯示記憶體和記憶體之間隔著什麼?
隔著一條 PCIe 匯流排和十幾倍的頻寬差:顯示記憶體 900 到 1800 GB/s,雙通道 DDR5 約 70 GB/s,PCIe 4.0 x16 約 32 GB/s。 生成每個 token 都要把參與計算的權重完整讀一遍,這些位元組從哪裡讀、走哪條路,決定了速度。
| 資料放在哪 | 讀取頻寬 | 相對顯示記憶體 |
|---|---|---|
| RTX 5090 顯示記憶體(GDDR7) | 1792 GB/s | 1× |
| RTX 4090 顯示記憶體(GDDR6X) | 1008 GB/s | 0.56× |
| RTX 5070 Ti 顯示記憶體(GDDR7) | 896 GB/s | 0.5× |
| 雙通道 DDR5 系統記憶體,CPU 直接算 | 約 70 GB/s | 0.04× |
| 經 PCIe 4.0 x16 搬到顯示卡再算 | 約 32 GB/s | 0.02× |
顯示卡頻寬來自各型號規格頁,記憶體和 PCIe 取的是常見桌上型電腦的實際值:DDR5-5600 雙通道理論 89.6 GB/s,實跑七八成;PCIe 4.0 x16 單向理論 31.5 GB/s,PCIe 5.0 翻倍到 63 GB/s(PCI Express 各代頻寬、DDR5 規格)。本站速度公式裡系統記憶體按 70 GB/s 乘 0.7 的效率算,口徑見 方法說明。
所以「16GB 顯示記憶體加 64GB 記憶體」不是 80GB 顯示記憶體。放進記憶體的那部分權重,每個 token 都要走一遍慢十幾倍的路,快的那部分只能等它。卸載的全部學問,就是想辦法讓走慢路的位元組儘量少。
卸載到底在搬什麼?
三種卸載搬的東西不一樣:稠密模型分層卸載搬的是每個 token 都要用的權重,MoE 專家卸載搬的是每個 token 只用一小部分的專家,擴散模型的分塊卸載搬的是每一步都要用但每步只用一次的權重。 名字都叫 offload,代價差一個數量級。

- 稠密模型分層卸載。llama.cpp 用
-ngl指定放進顯示卡的層數,剩下的層留在 CPU 上算。稠密模型每個 token 要過完所有層,留在 CPU 的層就按記憶體頻寬跑。這是最常見、也最不划算的卸載。 - MoE 專家卸載。MoE 模型每層有幾十到幾百個專家,每個 token 只啟用幾個。llama.cpp 的
--n-cpu-moe把專家權重全放進記憶體,注意力層、共享專家和 KV cache 留在顯示卡。每個 token 只從記憶體讀啟用的那幾個專家,走慢路的位元組只佔總權重的幾十分之一。gpt-oss 120B 總參數 117B,每個 token 只讀 3.6B 的專家,這就是它在 16GB 卡上也能跑的原因。 - 擴散模型分塊卸載。ComfyUI 和 Diffusers 把 UNet 或 DiT 的權重分塊放在記憶體,每一步推理時按順序搬進顯示卡算完再換下一塊。每一步都要把整個模型經 PCIe 搬一遍,但擴散模型每步計算量大、總步數固定,多出來的搬運時間攤到每張圖上通常是幾秒到幾十秒。Diffusers 文件裡的 model offload 和 sequential offload 就是這兩種粒度(Diffusers 顯示記憶體最佳化)。
三種裡只有第二種能讓「加記憶體」成為正經方案。下面分開算帳。
稠密模型分層卸載:讓出多少層,掉多少速度?
讓出一成層,速度掉一半;讓出三成,只剩四分之一。 用本站公式算 Qwen3 32B 4-bit 在 RTX 3090 上的解碼速度,權重留在顯示卡的比例從 100% 往下降:
| 權重留在顯示卡 | 放進記憶體 | 預估速度 |
|---|---|---|
| 100% | 0 GB | 32 tokens/s |
| 90% | 1.8 GB | 15 tokens/s |
| 80% | 3.7 GB | 10 tokens/s |
| 70% | 5.5 GB | 7 tokens/s |
| 50% | 9.2 GB | 5 tokens/s |
| 0%(純 CPU) | 18.3 GB | 3 tokens/s |
掉得這麼快,是因為每個 token 的耗時是兩段相加:顯示卡那段讀 900 GB/s,記憶體那段讀 49 GB/s。放 1.8 GB 進記憶體,這 1.8 GB 每個 token 要花 37 毫秒,比顯示卡讀完剩下 16.5 GB 的 26 毫秒還長。記憶體那段一出現就成了瓶頸,顯示卡再快也只能等。
換成真實的買卡場景:16GB 的 RTX 5070 Ti 跑 Qwen3 32B 4-bit,權重 18.3 GB 加 2 GB KV cache,只能把 66% 留在顯示卡,預估 7 tokens/s;同樣的模型在 24GB 的 RTX 3090 上整機放顯示記憶體,預估 32 tokens/s。Gemma 4 31B 更慘,它的 KV cache 大,16GB 只放得下 37% 的權重,預估 4 tokens/s。
結論很直接:稠密模型超出顯示記憶體,加記憶體換來的是「能跑但不能用」。想讓它可用,順序是先降上下文,再降到 3-bit,最後換 24GB 卡,見 16GB 能跑哪些模型 裡的處理順序。偶爾跑一次 70B 模型可以忍受 2 tokens/s,天天用不行。
MoE 專家卸載:加記憶體真正有用的場景
MoE 模型把專家放進記憶體後,顯示記憶體需求只剩 4 到 7 GB,速度由記憶體頻寬決定,任何 16GB 以上的顯示卡都差不多。 下表由模型庫即時計算,「卸載」列是顯示記憶體加記憶體兩個數:
| 模型 | 4-bit | 最便宜能跑的卡 | |
|---|---|---|---|
| 8K | 32K | ||
| Qwen3.6 35B A3B36B · A3B | 22 GB卸載:4 GB 顯示記憶體 + 19 GB 記憶體 | 24 GB卸載:6 GB 顯示記憶體 + 19 GB 記憶體 | |
| Gemma 4 26B A4B25.8B · A4B | 18 GB卸載:6 GB 顯示記憶體 + 13 GB 記憶體 | 23 GB卸載:11 GB 顯示記憶體 + 13 GB 記憶體 | |
| GLM 4.7 Flash30B · A3B | 19 GB卸載:4 GB 顯示記憶體 + 17 GB 記憶體 | 20 GB卸載:5 GB 顯示記憶體 + 17 GB 記憶體 | |
| gpt-oss 120B117B · A5.1B | 67 GB卸載:4 GB 顯示記憶體 + 65 GB 記憶體 | 69 GB卸載:6 GB 顯示記憶體 + 65 GB 記憶體 | |
| GLM 4.5 Air106B · A12B | 62 GB卸載:7 GB 顯示記憶體 + 56 GB 記憶體 | 66 GB卸載:11 GB 顯示記憶體 + 56 GB 記憶體 | |
| DeepSeek V4 Flash284B · A13B | 160 GB卸載:7 GB 顯示記憶體 + 155 GB 記憶體 | 162 GB卸載:9 GB 顯示記憶體 + 155 GB 記憶體 | |
三個檔位的看法不一樣:
- 30B 級 MoE(Qwen3.6 35B A3B、Gemma 4 26B A4B、GLM 4.7 Flash):4-bit 整機要 17 到 22 GB 顯示記憶體,24GB 卡直接放顯示記憶體,預估 110 到 145 tokens/s。16GB 卡走卸載,顯示記憶體 4 到 6 GB、記憶體 13 到 19 GB,預估 38 到 54 tokens/s。32GB 記憶體夠用,速度也夠日常聊天和寫程式碼。
- 100B 級 MoE(gpt-oss 120B、GLM 4.5 Air):整機要 62 到 67 GB 顯示記憶體,消費卡沒有一張放得下。卸載後顯示記憶體 4 到 7 GB,記憶體 56 到 65 GB,預估 12 到 21 tokens/s。這是加記憶體最值的場景:一張 16GB 卡加 96GB 記憶體,就能跑原本要 RTX PRO 6000 才能整機放下的模型。
- 300B 級 MoE(DeepSeek V4 Flash):記憶體要 155 GB 以上,預估 12 tokens/s。能跑,但記憶體本身就要 192GB 起,見 DeepSeek 選卡 裡對滿血版的判斷。
卸載模式下顯示卡型號幾乎不影響速度,這是最反直覺的一點:
| 型號 | Qwen3.6 35B A3B | gpt-oss 120B | GLM 4.5 Air |
|---|---|---|---|
| 54* | 21* | 12* | |
| 141 | 21* | 12* | |
| 146 | 21* | 12* | |
| 178 | 21* | 13* | |
| 178 | 153 | 100 | |
| Mac Studio M4 Max 128GB | 93 | 68 | 34 |
4-bit、8K 上下文、單路解碼的預估速度。帶 * 的是 MoE 模型把專家權重放在系統記憶體裡跑(按 70 GB/s 記憶體頻寬算)。
帶星號的是卸載速度。gpt-oss 120B 在 RTX 5070 Ti、RTX 3090、RTX 5090 上都是 21 tokens/s,因為每個 token 的時間大頭是從記憶體讀 3.6B 啟用專家的 40 多毫秒,顯示卡那段只有一兩毫秒。同一個模型整機放進 96GB 的 RTX PRO 6000 是 153 tokens/s,放進 Mac Studio M4 Max 128GB 的統一記憶體是 68 tokens/s。想讓 100B 級 MoE 快起來,要麼顯示記憶體裝下整機,要麼走 Mac 的統一記憶體,見 Mac 統一記憶體對比。為卸載買更貴的顯示卡是白花錢。
加記憶體之前先查什麼?
先確認記憶體頻寬、容量和 llama.cpp 參數,再下單。 三件事按順序:
- 通道數決定頻寬。上表的速度按雙通道 DDR5 約 70 GB/s 算。筆記型電腦和迷你主機常常只有單通道或焊死的記憶體,頻寬減半,卸載速度也減半;四通道的工作站平臺翻倍。買記憶體條要成對插,插錯槽位變成單通道是最常見的浪費。
- 容量按專家權重加兩成。系統本身、KV cache 之外的執行時緩衝、瀏覽器都要吃記憶體。gpt-oss 120B 專家權重 65 GB,配 96GB;GLM 4.5 Air 56 GB,64GB 勉強、96GB 穩;Qwen3.6 35B A3B 19 GB,32GB 夠。記憶體不夠時作業系統會用硬碟交換,速度掉到 1 tokens/s 以下,比不跑還難受。
- 參數要寫對。llama.cpp 啟動時加
--n-cpu-moe N,N 是把專家放進 CPU 的層數,從模型層數開始往下調,顯示記憶體有餘量就調小讓更多層留在顯示卡;-ngl 99保證注意力層全部進顯示卡。LM Studio 的模型載入選項裡有把專家權重放到 CPU 的開關,其他前端以各自版本的文件為準(llama.cpp 倉庫)。
Windows 使用者還有一個陷阱:NVIDIA 驅動預設開著系統記憶體回退,顯示記憶體用滿後自動把資料溢位到記憶體,程式不報錯,速度直接掉到個位數。這不是卸載,是驅動在替你做最糟糕的那種卸載。在 NVIDIA 控制面板的「管理 3D 設定」裡把「CUDA 系統記憶體回退策略」改成「首選無系統記憶體回退」,顯示記憶體不夠就會老實報錯,你才知道到底裝不裝得下。
什麼時候該換顯示卡,而不是加記憶體?
常用模型是稠密結構、超出顯示記憶體兩成以上,換卡;常用模型是 MoE,加記憶體。 兩條路的價格差不多,效果差十倍。
| 型號 | 顯存 GB | 頻寬 GB/s | INT8 TOPS | 功耗 W | 閒魚 | 顯存單價 | Qwen3 32B 速度 t/s |
|---|---|---|---|---|---|---|---|
| 24 | 936 | 285 | 350 | NT$37,4947 筆掛單 | NT$1,562 | 32 | |
| 16 | 896 | 352 | 300 | NT$38,20110 筆掛單 | NT$2,387 | — | |
| 24 | 1,008 | 661 | 450 | NT$107,10516 筆掛單 | NT$4,463 | 35 | |
| 32 | 1,792 | 838 | 575 | NT$197,57010 筆掛單 | NT$6,174 | 61 |
拿 Qwen3 32B 這種稠密模型算帳:16GB 的 RTX 5070 Ti 加 64GB 記憶體,卸載後 7 tokens/s;換成 24GB 的 RTX 3090 整機放顯示記憶體,32 tokens/s。二手 3090 比 5070 Ti 便宜,多出來的顯示記憶體比多出來的記憶體值錢得多,見 3090 與 5070 Ti 之爭。
反過來拿 gpt-oss 120B 算:RTX 5090 卸載後 21 tokens/s,RTX 5070 Ti 卸載後也是 21 tokens/s,兩張卡的價差在一萬元上下,跑這個模型完全沒區別。這筆錢換成 96GB 記憶體,還剩一大半。
判斷規則就三條:
- 常用模型是稠密的,缺的顯示記憶體在兩成以內,先降量化或上下文;超過兩成,換卡。
- 常用模型是 MoE 的,加記憶體到專家權重的 1.2 倍,顯示卡夠 16GB 就行。
- 偶爾才跑一次的大模型,用卸載忍一忍,不要為它買任何東西。
圖片和影片生成的卸載有什麼不同?
擴散模型卸載的代價是每步多幾秒的搬運時間,不是每個 token 掉十倍的速度,所以更能忍;但顯示記憶體峰值常出現在 VAE 解碼,那一步卸載幫不上忙。 大模型解碼是「每個 token 讀一遍權重」,擴散模型是「每一步讀一遍權重,做幾十步」,兩者的帳不一樣。
ComfyUI 在顯示記憶體不夠時會自動把權重放進記憶體分塊載入,生成一張圖多等幾秒到幾十秒,多數人能接受。官方 Wan 2.2 文件給出的「8GB 顯示記憶體能跑 5B 模型」正是建立在這種原生卸載之上(ComfyUI Wan 2.2 教程)。注意它說的是 5B 版本加卸載,A14B 版本不在這個門檻裡,兩個版本的顯示記憶體數字不能混用。
真正卡住影片生成的往往不是權重,而是 VAE 解碼:幾十幀的潛變數一次解碼成像素,顯示記憶體峰值可能比生成階段還高,而且這一步權重很小、中間張量很大,卸載權重沒有意義。遇到「生成到最後一步才爆顯示記憶體」,要做的是分塊解碼、降解析度或減少幀數,不是加記憶體。
給圖片和影片使用者的判斷也簡單:加記憶體能讓原本跑不起來的工作流跑起來,代價是每張圖多等一會兒;想把等待時間砍掉,還是要顯示記憶體,而且影片生成的顯示記憶體需求上限比大模型高得多,見 16GB 顯示記憶體能跑哪些模型 裡對顯示記憶體容量檔位的說明。
常見問題
記憶體和顯示記憶體能直接相加嗎?
不能。系統記憶體的頻寬只有顯示記憶體的十幾分之一,放進記憶體的那部分權重每生成一個 token 都要重新讀一遍。16GB 顯示記憶體加 64GB 記憶體不等於 80GB 顯示記憶體,它等於 16GB 顯示記憶體加一條慢十幾倍的旁路。
跑稠密模型時加記憶體有用嗎?
幾乎沒用。llama.cpp 把稠密模型的一部分層放到 CPU 後,每個 token 都要走一遍記憶體頻寬:Qwen3 32B 4-bit 在 16GB 卡上留三分之一在記憶體,預估只有 7 tokens/s,而 24GB 卡整機放顯示記憶體是 32 tokens/s。這時候該換卡或者降量化,不是加記憶體。
跑 MoE 模型需要多少記憶體?
專家權重的體積加兩成餘量。gpt-oss 120B 4-bit 的專家權重約 65 GB,配 96GB 記憶體合適;Qwen3.6 35B A3B 只要 19 GB,32GB 記憶體就夠。KV cache 和注意力層留在顯示卡上,顯示記憶體 4 到 7 GB 就行。
為什麼 Windows 上顯示記憶體不夠沒有報錯,只是突然變慢?
NVIDIA 驅動預設開著系統記憶體回退,顯示記憶體用滿後自動把資料溢位到記憶體,程式不報錯但速度暴跌。在 NVIDIA 控制面板把「CUDA 系統記憶體回退策略」改成「首選無系統記憶體回退」,就能讓它老實報顯示記憶體不足,方便你判斷到底裝不裝得下。
圖片和影片生成的卸載和大模型一樣嗎?
原理一樣,代價不同。擴散模型每一步都要把權重從記憶體經 PCIe 搬到顯示卡,每步多等一到幾秒,但總步數固定,所以卸載後往往仍可接受。真正卡住的常常是 VAE 解碼那一步的顯示記憶體峰值,那一步卸載幫不上忙,只能降解析度或分塊解碼。