現代 AI 的「推論成本」:從 Token 計費到運算資源的工程真相
在 LLM 的商業模式中,我們最熟悉的單位是「Token」。無論是 OpenAI 還是 Anthropic,帳單上永遠是 per 1M tokens。但對於建構 AI 系統的工程師來說,Token 只是一個抽象的計費單位,真正的成本核心在於 運算資源(Compute) 與 記憶體頻寬(Memory Bandwidth)

現代 AI 的「推論成本」:從 Token 計費到運算資源的工程真相
在 LLM 的商業模式中,我們最熟悉的單位是「Token」。無論是 OpenAI 還是 Anthropic,帳單上永遠是 per 1M tokens。但對於建構 AI 系統的工程師來說,Token 只是一個抽象的計費單位,真正的成本核心在於 運算資源(Compute) 與 記憶體頻寬(Memory Bandwidth) 的博弈。
要理解 AI 推論的真實成本,我們需要拆解 LLM 推論的兩個截然不同的階段:Prefill(預填充) 和 Decoding(解碼)。
1. Prefill:運算密集型的「吞噬」階段
當你向 AI 發送一段 2000 字的提示詞時,模型首先进入 Prefill 階段。在這個階段,模型需要一次性處理所有輸入 Token,以生成初始的 KV Cache。
- 工程特性:Prefill 是 運算密集型(Compute-bound) 的。GPU 可以利用矩陣乘法(GEMM)的高度平行性,讓數千個 CUDA 核心同時滿載工作。
- 成本真相:此時的瓶頸是 GPU 的 TFLOPS(每秒浮點運算次數)。如果你擁有 H100,Prefill 會極快;如果你用的是低階顯示卡,你會感覺到明顯的「首字延遲」(Time to First Token, TTFT)。
- 優化方向:透過 FlashAttention 等技術減少記憶體讀寫次數,讓運算單元盡可能不等待資料。
2. Decoding:記憶體頻寬的「慢速」循環
一旦首字生成,模型進入 Decoding 階段。此時,模型每生成一個新 Token,都需要將整個模型的權重(Weights)從視訊記憶體(VRAM)重新讀取到運算核心中一次。
- 工程特性:Decoding 是 記憶體頻寬密集型(Memory-bound) 的。無論你生成的是一個簡單的「Yes」還是複雜的程式碼,GPU 都必須搬運幾十 GB 的權重資料。
- 成本真相:這就是為什麼即使 GPU 算力過剩,生成速度依然有上限。瓶頸不在於 GPU 能算多快,而在於視訊記憶體能把資料搬運多快(GB/s)。
- 殘酷現實:在 Decoding 階段,GPU 的大部分算力其實在「空轉」,等待資料從視訊記憶體傳輸過來。
3. KV Cache:用空間換時間的權衡
為了避免在 Decoding 時重複計算之前所有 Token 的 Key 和 Value 向量,工程師引入了 KV Cache。它將之前的中間結果存在視訊記憶體中。
但這帶來了新的成本問題:視訊記憶體碎片化與壓力。
- 每個並行請求都需要佔用一定的 KV Cache 空間。
- 當並行量增加時,視訊記憶體會被迅速填滿 $\rightarrow$ 導致 OOM(Out of Memory)或被迫降低 Batch Size $\rightarrow$ 直接降低吞吐量 $\rightarrow$ 推高單次請求的硬體攤銷成本。
4. 從工程視角看「省錢」
當我們談論降低推論成本時,實際上是在做以下幾件事:
1. 量化 (Quantization):將 FP16 權重壓縮到 INT8 或 INT4。這不僅減少了儲存空間,更重要的是減少了 Decoding 時需要搬運的資料量 $\rightarrow$ 直接提升速度並降低功耗。
2. 投機採樣 (Speculative Decoding):用一個小模型快速預測幾個 Token $\rightarrow$ 用大模型一次性驗證 $\rightarrow$ 將多次 Memory-bound 的 Decoding 轉變為一次 Compute-bound 的驗證 $\rightarrow$ 在不損失品質的前提下提升速度。
3. PagedAttention (vLLM):像作業系統管理虛擬記憶體一樣管理 KV Cache $\rightarrow$ 消除碎片 $\rightarrow$ 在同一張顯示卡上支援更多並行請求 $\rightarrow$ 分攤固定成本。
總結
Token 是給財務看的帳單,而 記憶體頻寬(Memory Bandwidth) 和 視訊記憶體容量(VRAM Capacity) 才是決定 AI 系統生死線的工程指標。理解這一點後你就會明白,為什麼 HBM3e 高頻寬記憶體比單純增加 CUDA 核心數對 LLM 推論更重要——因為在 AI 推論的世界裡,「搬運資料」比「計算資料」貴得多。
留言區
歡迎分享你的想法!
載入留言中…