Zubnet AI學習Wiki › VRAM
基礎設施

VRAM

別名:顯存、GPU 記憶體

GPU 上的記憶體,與系統記憶體 (RAM) 無關。AI 模型必須符合 VRAM 容量才能在 GPU 上運行。一個 70 億參數模型在 16 位元精準度下需要約 14GB 的 VRAM。消費級 GPU 有 8-24GB;資料中心 GPU(A100、H100)有 40-80GB。VRAM 通常是本地 AI 的瓶頸。

為什麼重要

VRAM決定了你可以運行哪些模型。這就是為什麼會有量化技術(用來縮小模型以適應),為什麼MoE模型會比較困難(所有專家都必須放入VRAM),以及為什麼GPU價格會隨著記憶體容量急劇上升。「它會不會放入VRAM?」是自建AI時的第一個問題。

深度解析

VRAM(視訊記憶體)是焊接在GPU板上的獨立記憶體晶片,與系統主記憶體(RAM)不同。之所以要分開存在,是因為頻寬——GPU與其VRAM之間的連接頻寬遠遠高於CPU與系統RAM之間的連接頻寬。NVIDIA H100在HBM3(高頻寬記憶體)堆疊上可達3.3 TB/s以上的記憶體頻寬,而一般的DDR5系統可能僅有50-80 GB/s。在AI推理中,因為每次生成token時都需要從記憶體讀取數十億個權重參數,這頻寬差異就是為何即使CPU擁有足夠的系統RAM,GPU執行模型仍會比CPU快很多的原因。

預算規劃

計算模型所需的VRAM需求是簡單的算術,但有一些需要注意的地方。基本公式:將參數數量乘以您所使用的精準度格式的每參數位元數。一個7B模型在FP16(每參數2位元)下僅權重就需要14GB。但VRAM中存放的不只是權重。在推理過程中,還需要空間來存放KV緩衝區——即注意力運算中儲存的鍵值對,其大小會隨著上下文長度增加。一個7B模型在4,096 token上下文長度下,KV緩衝區可能增加1-2GB。若將上下文長度延長至128K tokens,僅KV緩衝區就可能消耗20-40GB。這就是為何長上下文模型所需的VRAM遠高於參數數量所暗示的數值,也是即使在強大的硬體上仍存在上下文視窗限制的原因。

訓練 vs. 推理

訓練所需的VRAM遠高於推理。除了儲存模型權重外,訓練還需要儲存優化器狀態(Adam會為每個參數額外儲存兩個複製本——這就佔用了3倍的權重大小)、梯度(再額外1倍)以及激活值(反向傳播所需的中間值,會隨著批次大小和序列長度增加)。經驗法則:使用BF16和Adam優化器進行訓練時,每個參數約需18-20位元。一個7B模型僅訓練狀態就需要約140GB——遠超過任何單一消費者級GPU的容量。這就是為何會有FSDP(完全分片資料平行)、梯度檢查點和混合精準度訓練等技術存在:它們透過分散或減少記憶體使用,讓您能在實際擁有的硬體上訓練模型,但這是以速度或計算開銷為代價。

硬體生態

消費者級VRAM的生態決定了本地AI實際可達的範圍。NVIDIA的RTX 4090擁有24GB,是高階選擇——足以輕鬆運行約14B參數的量化模型,或透過精細調整來壓縮至Q4量化30B模型。RTX 4070 Ti Super的16GB可良好處理7B-13B模型。RTX 4060的8GB是可用本地LLM推理的最低門檻——您只能使用小型模型或極度量化的模型。AMD的RX 7900 XTX以較低價格提供24GB,但AI工作負載的軟體支援較弱。在資料中心方面,NVIDIA H100有80GB,H200有141GB,AMD的MI300X則提供192GB的HBM3。對於任何單一GPU都無法容納的大型模型,張量平行會將模型分散到多個GPU上——但這需要GPU之間快速的互連(如NVLink、InfiniBand),否則通訊開銷會嚴重影響效能。

隱藏成本

一個實務中學到的細節:您的總VRAM並非完全可用。GPU驅動程式、顯示程式(如果同時驅動螢幕)以及CUDA上下文開銷都會消耗一些記憶體。在24GB的顯卡上,實際可用的可能只有22-23GB。而且VRAM碎片化可能導致即使總記憶體看起來足夠,仍無法分配到單一連續的大塊記憶體。工具如nvidia-smi會顯示當前VRAM使用情況,但真正重要的數字是最大的連續可用記憶體塊,而非總記憶體數量。這就是為何推理引擎有時會無法載入理論上應能容納的模型——記憶體存在但分散了。

相關概念

← 所有術語
← Upstage 向量資料庫 →
ESC