Skip to content

Nuface Blog

隨意隨手記 Casual Notes

Menu
  • Home
  • About
  • Services
  • Blog
  • Contact
  • Privacy Policy
  • Login
Menu

為什麼 LLM 會吃掉那麼多顯示卡記憶體?

Posted on 2026-01-082026-01-08 by Rico

只要你跑過本地 LLM,一定遇過這個情況:

「模型還沒開始聊天,VRAM 就快爆了。」

甚至:

  • 13B 模型一載入就 OOM
  • context 一拉長,顯示卡直接掛
  • GPU 核心明明沒跑滿,記憶體卻滿了

這不是你用錯,而是 LLM 的設計本質,就非常吃記憶體。

這篇文章會帶你搞懂:
👉 LLM 的 VRAM 到底被誰吃掉?為什麼省不下來?

menoey flow
0 opn4zhuxmqfs22y
inference batch size vs gpu vram 2

先給結論(一句話版)

LLM 吃顯示卡記憶體,不是因為「算得快」,
而是因為「要同時記住太多東西」。


一個關鍵觀念:LLM ≠ 傳統程式

傳統程式:

  • 資料進來
  • 算完
  • 丟掉中間結果

LLM 完全不是這樣。

👉 LLM 在推論時,必須「一路記住過去的內容」,才能接著講下去。


LLM 在 VRAM 裡到底放了什麼?

LLM 的 VRAM 消耗,至少來自 四大類。


① 模型權重(Weights)—— 最大宗

bg bg llm model size 3
1 arpstpls0ziedfka1vajxw

這是什麼?

  • 神經網路裡所有的參數
  • 每一層的矩陣、向量

為什麼這麼大?

  • 7B = 70 億參數
  • 13B = 130 億參數

假設:

  • FP16(2 bytes)

那光是權重就要:

  • 7B ≈ 14 GB
  • 13B ≈ 26 GB

📌 權重是「固定成本」,一載入就要全付。


② KV Cache —— 吃記憶體的隱形殺手

0 opn4zhuxmqfs22y
1 8xqd4aytwn6mqxnw0uhdcg

KV Cache 是什麼?

  • Attention 機制要用到的
  • Key / Value 的歷史紀錄

👉 每產生一個 token,就要存一次。


為什麼 KV Cache 很可怕?

KV Cache 的大小跟三件事成正比:

  1. 模型層數
  2. 隱藏維度(hidden size)
  3. Context length(token 數)

📌 這代表:

  • context 從 2k → 8k
  • KV Cache 不是 4 倍,是「線性堆高」

👉 這就是為什麼「聊越久,越容易爆 VRAM」。


③ 中間計算結果(Activations)

d079e636 b620 489c b0d9 dc41894f7198 2555x720
1 krnz89kimmsjwuvko4xrcg

在推論過程中:

  • 每一層都會產生中間結果
  • 雖然比訓練少
  • 但在 forward pass 時仍然存在

📌 這些 activations 也是 VRAM 的即時消耗。


④ Framework / Runtime Buffer(常被忽略)

即使模型很小,你仍然會看到:

  • CUDA buffer
  • Metal buffer
  • Runtime workspace
  • Kernel 暫存區

👉 這些是:

  • PyTorch
  • llama.cpp
  • MLX
  • TensorRT

運作時 一定會保留的空間。


為什麼「推論」也這麼吃記憶體?

很多人會問:

「不是只有訓練才吃記憶體嗎?」

事實是:

  • 訓練:
    • 權重
    • Activations
    • Gradients
    • Optimizer state
  • 推論:
    • 權重
    • KV Cache
    • Activations

👉 雖然少了 gradient,但 KV Cache 補了上來。


Context length 為什麼是 VRAM 殺手?

zd1r42uiruzacplfmawfgvsf9ni
1 n68r95tgmhmsknzl3ybpuq

因為:

  • 每一個 token
  • 在每一層
  • 都會留下 Key / Value

📌 所以:

  • 模型不變
  • token 越多
  • 記憶體一定線性上升

👉 沒有魔法可以免費增加 context。


那量化(Quantization)幫助多大?

量化能:

  • 大幅減少 權重大小
  • 例如 16-bit → 8-bit / 4-bit

但請注意:

  • KV Cache 通常還是 FP16
  • Activations 也未必能量化
  • 長 context 仍然會吃爆 VRAM

👉 量化解的是「載得進來」,不是「永遠不會爆」。


為什麼 GPU 核心看起來很閒?

因為在推論時:

  • token 是一個一個生成
  • Attention 需要等資料
  • 記憶體頻寬常是瓶頸

👉 GPU 在等記憶體,不是在狂算。


一句話總結(請直接記)

LLM 吃 VRAM,
是因為它同時要記住:
模型本身 + 你講過的所有話。


實務上的重要結論

  1. VRAM 是本地 LLM 的地板
  2. 核心數影響的是「快不快」,不是「能不能跑」
  3. Context length 比你想像中更貴
  4. 長時間聊天 ≈ 記憶體累積炸彈

最後結論

LLM 的顯示卡記憶體消耗,
來自「設計本質」,不是實作失誤。

如果你理解這一點,你就會知道:

  • 為什麼 24GB 比 12GB 好用太多
  • 為什麼 context 一拉就 OOM
  • 為什麼本地 LLM 的硬體選型,永遠先看 VRAM

Recent Posts

  • Token/s and Concurrency:
  • Token/s 與並發:企業導入大型語言模型時,最容易被誤解的兩個指標
  • Running OpenCode AI using Docker
  • 使用 Docker 實際運行 OpenCode AI
  • Security Risks and Governance Models for AI Coding Tools

Recent Comments

  1. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on High Availability Architecture, Failover, GeoDNS, Monitoring, and Email Abuse Automation (SOAR)
  2. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on MariaDB + PostfixAdmin: The Core of Virtual Domain & Mailbox Management
  3. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Daily Operations, Monitoring, and Performance Tuning for an Enterprise Mail System
  4. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Final Chapter: Complete Troubleshooting Guide & Frequently Asked Questions (FAQ)
  5. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Network Architecture, DNS Configuration, TLS Design, and Postfix/Dovecot SNI Explained

Archives

  • January 2026
  • December 2025
  • November 2025
  • October 2025

Categories

  • AI
  • Apache
  • CUDA
  • Cybersecurity
  • Database
  • DNS
  • Docker
  • Fail2Ban
  • FileSystem
  • Firewall
  • Linux
  • LLM
  • Mail
  • N8N
  • OpenLdap
  • OPNsense
  • PHP
  • Python
  • QoS
  • Samba
  • Switch
  • Virtualization
  • VPN
  • WordPress
© 2026 Nuface Blog | Powered by Superbs Personal Blog theme