Day 09 如果模型不變,為什麼 Context 越長越吃 VRAM?
我有多年 IT 技術與跨域學習經驗,現在把 AI、Cloud、Infrastructure 串起來。 昨日談問到如果模型越大,就一定需要越大的 GPU 嗎?今日來談談 如果模型不變,為什麼 Context 越長越吃 VRAM? 前幾天談到 GPU 與 VRAM 時,我開始思考一個問題:如果模型本身沒有變大,為什麼只把 Context Length 拉長,GPU 的記憶體需求也會跟著增加? 實際接觸 LLM 後,我才發現,模型權重並不是 GPU 唯一需要存放的東西。當模型處理越來越長的輸入內容時,推論過程還需要保存 KV Cache,而 Context Length 越長,需要保存的資訊也越多。 這讓我在理解 LLM Infrastructure 時有一個很重要的體會: 「模型大小」和「實際服務所需要的 GPU Memory」其實是兩件不同的事情。 如果今天只是自己測試一個模型,短 Context 可能完全沒有問題;但到了 Production,同時有多個使用者、每個請求又帶著大量文件或長對話時,KV Cache 可能迅速成為 GPU Memory 的重要負擔。Google Cloud 的 GKE 文件也指出,KV Cache 會隨 Context Length 與同時處理的請求數增加。 所以問題來了: 如果模型本身沒有變大,只是讓它「記得更多」,為什麼 GPU 就可能開始不夠用了? 這也是《AI Infrastructure 實戰:AI Demo 為什麼上不了 Production?》中,我希望帶讀者理解的重要觀念:AI Infrastructure 不能只看模型有幾 B,還必須理解實際推論時的 Memory 使用方式。Production 的 VRAM 不只是「模型權重」。KV Cache、Context Length、Batch Size 、Model Weights、Overhead、Activations都列為 GPU accelerator memory 計算的重要因素;Context 越長,KV Cache 的需求也會增加。 關於作者 我是一名 AI × Infrastructure Solution / Integration 技術實作者,專注於 AI、MLOps、Cloud、Docker、Kubernetes、GPU、LLM 與 AI A...