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 分为处理整体输入的“预填充”阶段和逐字生成回答的“解码”阶段。
Q2. 在推理过程中导致最大内存瓶颈的因素是什么?
  • KV 缓存
  • 用户的问题
  • CPU 速度
KV 缓存(Key-Value Cache)是存储生成信息的空间,是推理时内存瓶颈的主要根源。
Q3. LLM 处理单词的方式是什么形式?
  • 简单文本
  • 高维向量
  • 图像数据
LLM 将每个单词转换为高维空间中的向量进行处理,并将意思相近的单词聚类在一起。