生活分享
KV 快取(KV Cache)是什麼:為什麼對話越長越吃記憶體
KV 快取是語言模型逐個產生 token 時,把前面每個位置在各層算好的 key 與 value 存起來、下一步只補算新 token 的做法。內容用四步示例說明它省下哪些重算,記憶體為何隨上下文長度、層數與注意力頭數成長,PagedAttention、MQA/GQA 與量化各省在哪,以及它和提示詞快取的分工。
閱讀時間約 7 分鐘

KV 快取(KV cache)是語言模型推論(inference)時的暫存:模型逐個產生 token,每一步都把前面各位置在每層算好的 key 與 value 留著,下一步只補算新 token 的那一份。它省下重複計算,代價是記憶體:上下文越長,要存的越多。cache 採國家教育研究院資訊名詞的譯法「快取」,Google 機器學習詞彙表繁中版內文也這樣用;KV 沿用論文的英文縮寫。
讀入提示與逐個產生的差別見推論(Inference)推論(Inference)是什麼:模型訓練完之後,每次回答都在做的計算推論是用已訓練好的模型處理新輸入、產生輸出的過程,權重在這個階段固定不變。內容拆開語言模型推論的兩段:讀入提示(prefill)與逐個產生(decode),說明首個 token 時間、完整回答時間與吞吐量的差別,分清推論(inference)與推理(reasoning)、雲端與本機,並看懂批次、量化與快取各自省在哪裡。閱讀全文,key 與 value 的來源見注意力機制(Attention)注意力機制(Attention)是什麼:模型怎麼決定要參考哪些 token注意力機制讓序列中的每個位置,依 query 與 key 的比對算出權重,再把各位置的 value 加權平均成新的表示。內容從 2014 年的翻譯對齊講到 2017 年的 Transformer,用示例說明 Q、K、V、自注意力、交叉注意力與多頭注意力,也討論標準做法的計算量隨長度平方成長,以及注意力權重不能直接當成模型的理由。閱讀全文。資料截至 2026 年 10 月。
為什麼前面的 key 與 value 可以留著用
注意力機制把每個 token 轉成 query、key、value:新 token 用 query 比對各位置的 key,再依結果把各位置的 value 加權混合。模型每產生一個 token,就接到輸入後面再算下一個。
能留著用,是因為遮罩。Vaswani 等人 2017 年的設計中,解碼器的自注意力只讓每個位置看到自己和之前的位置,所以某個 token 在某層的 key 與 value 算好後,不會因後面多了新 token 而改變。Hugging Face 文件據此說明,過去的 key 與 value 可以每層各存一份重用,過去 token 的 query 則不必存。
示例:第 1 步到第 4 步各算了什麼、存了什麼
以下是示例,分詞僅示意,未實測:提示有 3 個 token「台南/早餐/推薦」,模型接著寫出「可以吃牛肉湯」。
- 第 1 步(讀入提示):3 個 token 一起處理,每層算出並存下 3 組 key 與 value,產生「可以」。
- 第 2 步:只送入「可以」,每層只算它的 query、key、value;快取變 4 組,與 4 個 key 比對,產生「吃」。
- 第 3 步:送入「吃」,快取變 5 組,比對 5 個 key,產生「牛肉」。
- 第 4 步:送入「牛肉」,快取變 6 組,比對 6 個 key,產生「湯」。
不用快取的話,第 4 步要把 6 個 token 在每層的 key 與 value 全部重算。Hugging Face 文件指出:不快取時,每步的注意力成本隨序列長度平方成長;有快取則是線性,記憶體也線性增加。沒省掉的是比對:快取從 3 組長到 6 組,新 token 要比對的 key 也跟著變多。
記憶體為什麼越用越多
Hugging Face 文件寫明,每層的 key 與 value 快取,形狀是「批次大小 × 注意力頭數 × 序列長度 × 每頭維度」,對應以下因素:
- 上下文長度:與提示加已產生的 token 數成正比。
- 層數:每層各存一份,層數加倍即加倍。
- 存 key 與 value 的頭數與每頭維度:越多,每個 token 存得越多。
- 每個數值的位元組數:精度越高,占得越多。
- 同時處理的序列數:Pope 等人指出,權重整批共用,KV 快取則每條序列各一份。
例外是滑動視窗注意力:Hugging Face 文件說明,這類層的快取長到視窗大小就不再增加。
三種減量做法各省在哪
- PagedAttention:把快取切成固定大小的區塊,用到才配置,省下照最大長度預留造成的浪費。
- MQA/GQA:多個 query 頭共用 key 與 value,要存的頭數變少,省下每個 token 的快取與每步要讀的資料。
- KV 量化:用較少位元存 key 與 value,省下每個數值占的空間。
PagedAttention 出自 Kwon 等人 2023 年的 vLLM 論文。作者在實驗中重做三種預先保留連續空間的舊做法,量到只有 20.4% 至 38.2% 的 KV 快取記憶體真正用來存 token 的 key 與 value;論文總結,在相同延遲水準下,vLLM 的吞吐量是當時既有系統的 2 至 4 倍。它不縮小每個 token 的快取,而是讓同樣的記憶體放進更多請求。
MQA(multi-query attention,Shazeer 2019)讓所有頭共用一組 key 與 value,Pope 等人指出快取因此縮為頭數分之一;Shazeer 的實驗裡品質與原本相近,多數指標略差。GQA(grouped-query attention)把 query 頭分組、每組共用一組,介於每頭各一組與 MQA 之間。兩者改的是模型架構,不是推論時的開關;GQA 論文用約原預訓練 5% 的計算量改訓既有模型。
量化則是推論引擎的選項,Hugging Face 與 vLLM 都支援。KIVI 論文(Liu 等人 2024)把大部分快取壓到 2 位元、最近一小段 token 維持完整精度,在所測模型上品質接近原本;Hugging Face 文件提醒,上下文短且記憶體夠用時,量化反而可能變慢。
KV 快取和提示詞快取的分工
兩者存的都是 key 與 value,差別在範圍:KV 快取在單次請求內,讓逐個產生的每一步不必重算前文;提示詞快取跨請求,把相同字首(prefix)的 KV 快取留給下一個請求,省掉重讀那段。OpenAI、Anthropic 與 vLLM 的官方文件都寫明,提示詞快取存的是 KV 狀態。
字首必須一字不差。vLLM 論文指出,一個 token 的 KV 快取取決於它前面所有的 token,前面改一個字,之後整段都對不上。vLLM 文件也提醒,字首快取只縮短讀入提示的時間,不縮短逐個產生的時間。
| 面向 | KV 快取 | 提示詞快取 |
|---|---|---|
| 範圍 | 單次請求內的每一步 | 跨請求,限相同字首 |
| 存的內容 | 每層每個 token 的 key 與 value | 字首那段的 key 與 value |
| 省下的 | 重算前文的 key 與 value | 重新讀入字首 |
| 省不掉的 | 新 token 與全部 key 的比對 | 逐個產生輸出的時間 |
| 保留多久 | 產生結束即可釋放 | 依服務規則淘汰,如逾時或空間不足 |
命中條件、有效時間與計費方式見提示詞快取(Prompt Caching)提示詞快取(Prompt Caching):重用相同字首的計算提示詞快取重用先前處理過的相同輸入字首,減少重複讀取長指令或文件的計算。本文用同一份活動手冊的連續問答示範首次寫入、後續命中與字首失效,區分提示詞快取、答案快取和長期記憶,也解釋為什麼省輸入處理不等於省下所有輸出時間。讀完能檢查實際命中、版本更新、隱私隔離與費用條件,不把快取當成免費或永久記住資料。閱讀全文。
長上下文的成本,不只看 token 數
同樣產生一段回答,前文越長,每步要讀的 KV 快取越大。Pope 等人以多頭注意力的超大模型為例指出,批次大、上下文長時,每產生一個 token 都要把 KV 快取從記憶體搬進運算單元一次,期間運算核心幾乎閒置;批次小、序列短時,搬資料的時間才以讀權重為主。
其次是占位。vLLM 論文說明,一批能同時處理多少請求,受限於放得下多少 KV 快取;長上下文請求占得多,能並行的請求就少,而 Pope 等人指出批次變小會讓每個 token 的成本變高。他們也提到,以整段輸入計,注意力的推論成本隨長度平方成長(前面說的線性是指每一步)。
至於命中提示詞快取的輸入,OpenAI 與 Anthropic 都另外計價。所以估長文件問答的速度與費用,要一起看輸入與輸出長度、並行請求數與快取命中;容量面見上下文視窗(Context Window)上下文視窗(Context Window)是什麼:容量與理解的差別上下文視窗是模型單次能處理資訊的容量,通常以 token 計算;聊天畫面留著訊息,不代表這次請求把全部內容交給模型。本文用社區會議紀錄的例子,說明輸入與輸出如何共用資源、視窗與長期記憶的差別,以及超限、摘要漏失和長文理解失誤如何分辨。附資料整理步驟與檢查表,幫你保留關鍵決議,不再只靠換大視窗解決問題。閱讀全文。
其他和推論資源有關的名詞,見AI 名詞總索引AI 名詞總索引:從 Loop Engineering 到生成式 AI想看懂 Loop Engineering、Harness Engineering、Context Engineering、RAG、MCP 與其他 AI 名詞,可以從這份總索引開始。依 2026 年 9 月查證範圍,把這些概念分組整理,每個詞連到白話專文,附依任務安排的閱讀路徑、容易混淆的層次,以及原始論文和官方定義的查核方式。閱讀全文。
同主題延伸閱讀
生活分享
世界模型(World Model)是什麼:讓 AI 預測「接下來會怎樣」
世界模型指 AI 內部用來預測「這樣做之後會怎樣」的模型,但這個詞至少有三種用法:強化學習代理在想像中練習用的環境模型、LeCun 主張預測抽象表示的架構路線,以及能隨操作即時生成畫面的互動環境。內容用示例說明怎麼在想像中規劃,並列出大型語言模型有沒有世界模型的正反研究,附讀新聞時的檢查問題。
生活分享
視覺語言模型(VLM)是什麼:讓 AI 讀圖片、再用文字回答
視覺語言模型(VLM)能同時接收圖片與文字,再用文字回答。內容拆解視覺編碼器、連接層與語言模型三段結構,說明 CLIP、Flamingo、LLaVA 三篇論文各補上哪一塊,並和多模態 AI、文字生圖分清楚;也整理它常犯的錯:數錯數量、搞混位置、說出圖裡沒有的東西,附上讀收據時逐行核對的步驟。
生活分享
溫度(Temperature)是什麼:AI 回答變化程度的取樣參數
溫度(temperature)是文字生成時調整取樣的參數,讓模型從下一個 token 的機率分布裡抽得更集中或更分散。用假想的台南早餐示例算出低溫與高溫的差別,說明 top-p 的來源和它與 top-k 的差別,並依官方文件與論文指出:調低溫度不代表更準,設成 0 也不保證每次相同,部分模型還不開放調整。
生活分享
合成資料(Synthetic Data)是什麼:兩種用途、品質控管與模型崩潰
合成資料是由演算法或模型產生、模仿真實資料特徵的資料,常見用途有兩種:訓練模型,以及在隱私需求下替代真資料。內容依 Self-Instruct、模型崩潰研究(替換與累積資料的差別)與 NIST、ICO 的隱私文件,說明做法、抽查流程,以及它不能保證的事。
引用本文的文章
最新旅遊情報攻略

情報
2026 韓國楓葉預測:雪嶽山 10 月 20 日、首爾近郊 10 月底、內藏山與漢拏山 11 月上旬
韓國山林廳 2026 年 9 月 22 日公布的楓紅高峰預測:雪嶽山 10 月 20 日,春川、國立樹木園到首爾植物園落在 10 月 28 日到 11 月 2 日,內藏山 11 月 4 日、漢拏山 11 月 6 日,整體比最近 5 年晚約 0.8 天。整理各地楓樹與銀杏的預測日、首爾出發怎麼排,以及出發前去哪裡看即時楓況。2026 年 10 月查證。
- 季節活動
- 自然
- 觀景

攻略胡志明市
胡志明市到頭頓一日遊:白藤碼頭搭高速船、船票與班次,下船就是胡梅纜車與耶穌基督像
人在胡志明市挪一天去頭頓看海:市中心的白藤高速船碼頭搭船,航程 120 分鐘到頭頓的胡梅碼頭,平日成人 320,000 越南盾、週末 350,000,回程末班平日 15:00。下船就是胡梅纜車站,同一條路上有白宮,小山頂上是耶穌基督像。平日一天只有兩班船,整天要從末班船倒推著排。
- 交通
- 行程範例
- 海灘

攻略沖繩
沖繩不開車攻略:單軌只到浦添,美麗海水族館要坐兩個多小時的巴士,回那霸的最後一班直達車 17:22 就開走
不租車的沖繩怎麼移動:那霸市區靠沖繩都市單軌電車(ゆいレール),那霸機場站到終點てだこ浦西 19 站、17 公里、37 分鐘,一日券 1,000 日圓;美麗海水族館有那霸機場直達的高速巴士,單程 2,000 日圓起、官方時刻表上 2 小時上下,下車後還要走 10 分鐘;古宇利島要在今帰仁村役場轉車,當天來回光坐車就六個半小時;回程的最後一班直達車 17:22 就從記念公園前開走(2026 年 9 月查證)。
- 交通
- 行程範例
- 預算
資料來源
- Vaswani 等:Attention Is All You Need(arXiv:1706.03762,NeurIPS 2017) · 查證日期:
- Pope 等:Efficiently Scaling Transformer Inference(arXiv:2211.05102) · 查證日期:
- Kwon 等:Efficient Memory Management for Large Language Model Serving with PagedAttention(vLLM,SOSP 2023) · 查證日期:
- Shazeer:Fast Transformer Decoding: One Write-Head is All You Need(MQA,arXiv:1911.02150) · 查證日期:
- Ainslie 等:GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints(EMNLP 2023) · 查證日期:
- Liu 等:KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache(ICML 2024) · 查證日期:
- Hugging Face Transformers 官方文件:How caching works · 查證日期:
- Hugging Face Transformers 官方文件:Cache strategies(含量化快取與滑動視窗) · 查證日期:
- vLLM 官方文件:Automatic Prefix Caching · 查證日期:
- vLLM 官方文件:Prefix Caching 設計說明(區塊雜湊與 LRU 淘汰) · 查證日期:
- vLLM 官方文件:Quantized KV Cache · 查證日期:
- OpenAI 官方文件:Prompt caching(What is the prompt cache?) · 查證日期:
- Anthropic 官方文件:Prompt caching(Data retention 與計價段落) · 查證日期:
- Google:機器學習詞彙表(繁體中文版,內文以「快取」譯 cache、inference 譯為推論) · 查證日期:
- 國家教育研究院樂詞網:cache 精確檢索結果(資訊名詞譯為快取) · 查證日期: