AI 吐出一個詞竟然要讀取 26GB?LLM 推理的秘密

就像在巨大的圖書館中尋找一本書的人,將 AI 從記憶體中提取資料的過程視覺化的圖形
AI Summary

深入淺出地解釋 AI 生成語句時發生的記憶體瓶頸主因——「推理過程」,並說明決定其效能的兩個階段(預填充與解碼)。

想像一下。你對一位非常聰明的秘書說:「幫我總結今天的會議內容」。秘書在你遞出厚厚的報告後瀏覽了一遍,隨後在腦中整理資訊並開始回答。

我們常用的 ChatGPT 等大型語言模型(LLM)給出回答的「推理(Inference)」過程也與此類似。然而,在這個過程中 AI 所使用的記憶體量遠超我們的想像。有時候,為了吐出一個單詞,它竟然需要讀取高達 26GB 的資料。究竟為什麼會發生這種事呢?

這為何重要?

我們只看到 AI 在瞬間給出答案的樣子。但在此背後,正上演著一場將龐大資料從記憶體中不斷搬移的激烈「數據戰爭」。

理解這個記憶體瓶頸至關重要。因為若要讓 AI 在未來變得更聰明、回應速度更快,我們必須了解硬體與軟體該如何高效管理這龐大的數據流。簡單來說,AI 服務的價格、回應速度,以及我們能否在智慧型手機上使用更複雜的 AI 模型,全都取決於這「推理過程的效率」。

輕鬆理解:AI 的兩種工作方式

AI 生成回答的過程大致分為兩個階段 出處: LLM Inference Explained: Performance and Optimization Guide。

  1. 預填充(Prefill)階段:比喻來說,這就像秘書從頭到尾詳讀你的問題或資料的時間。AI 會一次讀取輸入的提示詞並掌握其結構 出處: I/o for LLM inference: a survey of storage and memory。
  2. 解碼(Decoding)階段:現在秘書理解了內容,開始逐字回答。然而,LLM 使用了一種非常獨特的方式。因為每生成回答的一個詞,模型都必須將龐大的知識(參數)重新讀取一遍 出處: LLM inference, visually explained: why a 13B model reads 26 GB per token。

高維空間中的單詞拼圖

AI 並不單純將單詞視為文字。每個單詞都會被轉換成如 4,096 維度等極其複雜的數學座標,也就是「向量」 出處: What Happens Inside an LLM During Inference。在這個巨大的空間裡,「國王」與「女王」等語意相近的單詞會聚在一起。AI 在生成回答時,必須在該複雜空間中穿梭,找出下一個最合適單詞的座標。

在此過程中會使用到稱為 KV 快取(Key-Value Cache)的記憶體空間,這是一種預先儲存之前計算資訊的「筆記本」。但隨著模型增大,這個筆記本的大小也會呈爆發式增長,最終成為導致整個推理過程中最大的記憶體瓶頸的主因 出處: Multi-Head Latent Attention Explained Visually。

現狀:撞上記憶體極限

目前的 AI 服務效能,通常取決於極致運用運算能力的「預填充」階段,或是受限於記憶體頻寬的「解碼」階段 出處: Understanding Inference Scaling for LLMs。

以實際案例來看,當 4B(40 億)參數模型每秒生成 29.5 個 Token 時,需要高達 236GB/s 的驚人記憶體處理速度 出處: 12. LLM Inference on DGX Spark — cuTile Rust。由於所需的 VRAM(顯示記憶體)量會根據模型大小(參數數量)以及我們提問的文字長度(上下文視窗)而有所不同,因此高效的硬體資源管理比什麼都重要 出處: LLMs & Their Size In VRAM Explained。

未來會如何發展?

AI 技術人員目前正齊心協力解決這個瓶頸。研究方向包括將數據分組以一次處理更多計算(Continuous Batching),以及各種能將計算效率最大化的優化技術 出處: Why Continuous Batching Made My LLM Inference Engine Slower。

未來將迎來一個即使在我們手中的智慧型手機上,也能順暢運作更巨大模型的時代。但在那一天到來之前,請記住,為了吐出一個詞,AI 在此時此刻仍不停地從名為記憶體的圖書館中搬運著海量資料。

AI 的視角(MindTickleBytes AI 記者觀點)

AI 技術的發展,不僅僅是提升模型的智慧,更是一場關於如何睿智地克服「記憶體」這一物理極限的戰鬥。比喻來說,就像是試圖將整座圖書館裝進腦子裡。在我們能更快速、更低廉地使用更聰明的 AI 那一天到來之前,對於提升推理過程效率的技術挑戰將永不停止。

參考資料

  1. LLM inference, visually explained: why a 13B model reads 26 GB per token
  2. Multi-Head Latent Attention Explained Visually
  3. 12. LLM Inference on DGX Spark — cuTile Rust
  4. LLM-Inference-Bench: Inference Benchmarking of Large Language Models on AI Accelerators
  5. AI inference, explained through one question
  6. GitHub - drumih/turbo-fieldfare: Gemma 26B-A4B inference in ~2GB…
  7. LattePanda Mu Ultra 226V Local LLM Inference Evaluation
  8. [Mastering LLM Techniques: Inference Optimization NVIDIA Technical…](https://developer.nvidia.com/blog/mastering-llm-techniques-inference-optimization/)
  9. [Best AI Models for NVIDIA GeForce RTX 3060 12GB llmrun](https://llmrun.dev/gpu/rtx-3060-12gb)
  10. [AI Model & API Providers Analysis Artificial Analysis](https://artificialanalysis.ai/)
  11. Why Continuous Batching Made My LLM Inference Engine Slower - DEV Community
  12. Qwen-27B Deep Dive: Architecture, Specs, and VRAM
  13. google/gemma-26B-A4B-it · Hugging Face
  14. Best Way to Run Qwen 3.6 35B MoE Locally: VRAM, Speed, Setup
  15. LLM Inference Explained: Performance and Optimization Guide
  16. LLMs & Their Size In VRAM Explained - Quantizations, Context …
  17. Understanding Inference Scaling for LLMs: Bottlenecks, Trade …
  18. What Happens Inside an LLM During Inference: Tokens, KV Cache …
  19. I/o for LLM inference: a survey of storage and memory …
  20. LLM Inference Sizing and Performance Guidance
AD
測試你的理解
Q1. AI 生成語句時會經過哪兩個階段?
  • 學習與測試
  • 預填充與解碼
  • 輸入與輸出
AI 分為處理整個輸入的「預填充(Prefill)」階段,以及逐字生成回答的「解碼(Decoding)」階段。
Q2. 在推理過程中,造成最大記憶體瓶頸的因素是什麼?
  • KV 快取
  • 使用者的問題
  • CPU 速度
KV 快取(Key-Value Cache)是用於儲存已生成資訊的空間,是推理時記憶體瓶頸的主因。
Q3. LLM 處理單詞的方式是什麼形式?
  • 簡單文本
  • 高維向量
  • 影像資料
LLM 會將每個單詞轉換為高維空間中的向量進行處理,並將語意相近的單詞聚類在一起。