大模型推理为什么第一个 Token 总是很慢:从 Prefill 到 Decode 的完整技术解析

当你向一个大语言模型发送请求时,可能会注意到一个有趣的现象:第一个字蹦出来总是慢半拍,但随后的字却如流水般涌出。这种"先慢后快"的节奏并非偶然,而是大模型推理机制的根本特性。 ...

10 min · 5000 words

KV Cache压缩如何让大模型突破百万token上下文——从Attention Sink到Heavy Hitter的技术突围

一个70亿参数的语言模型,在处理128K上下文时,光是KV Cache就要占用约40GB显存——这还没有算上模型权重本身。当大模型的上下文窗口从4K扩展到128K甚至更长时,一个看似不可逾越的障碍横亘在研究者和工程师面前:KV Cache的内存占用随序列长度线性增长,迅速吞噬有限的GPU显存。 ...

12 min · 5607 words

Prefix Caching 如何让重复提示词在大模型推理中"零成本"通过

一个客服机器人在处理多轮对话时,每次都需要重新"阅读"完整的对话历史。当对话进行到第 10 轮,模型需要处理的上下文已经膨胀到数千 token——这意味着每一轮对话都要重复计算这些相同的文本。在大规模生产环境中,这种冗余计算吞噬着昂贵的 GPU 资源,导致响应延迟累积攀升。 ...

9 min · 4333 words

第一个Token的隐形权力:Attention Sink如何拯救流式大模型

2023年,MIT韩松实验室的研究团队在测试一个看似简单的问题时,发现了一个令人困惑的现象。他们尝试用滑动窗口来限制大模型的KV Cache大小——这是控制显存占用的标准做法。然而,当窗口滑动、第一个Token被踢出缓存时,模型不是逐渐变差,而是瞬间崩溃。 ...

9 min · 4366 words

GQA为何能让Llama 2推理速度翻倍:从MHA到MQA的注意力架构演进

2019年,Noam Shazeer在Google发表了一篇仅4页的论文,标题是《Fast Transformer Decoding: One Write-Head is All You Need》。这篇论文提出了一个激进的方案:让所有注意力头共享同一组Key和Value。结果是KV Cache缩小了几十倍,推理速度提升了10倍以上。 ...

10 min · 4906 words

一个请求先结束为何整批都要等从静态批处理到连续批处理的LLM推理革命

2023年,一个令人震惊的数据在AI基础设施领域引发了震动:现有的大模型推理系统正在浪费60-80%的GPU计算资源。这些昂贵的计算硬件并非因模型不够先进而闲置,而是被一种看不见的"幽灵"吞噬——批处理策略的低效。 ...

10 min · 4695 words

为什么PagedAttention能让大模型推理吞吐量提升数倍——从KV Cache内存碎片到分页管理的系统级优化

2023年,加州大学伯克利分校的研究团队发表了一篇论文,揭示了一个令人震惊的数据:现有的大模型推理系统正在浪费60-80%的GPU显存。这些昂贵的计算资源并非用于实际的模型计算,而是被一种看不见的"幽灵"吞噬——内存碎片。 ...

9 min · 4365 words