[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fDn3FuyXYmr6FK9lWcbViXtS-NlD1AesOxakMCT6UxnY":3},{"item":4,"related":44},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":35,"sourceName":35,"sourceUrl":36,"status":37,"seoTitle":7,"seoDescription":9,"canonicalUrl":38,"isFeatured":39,"sno":40,"sortOrder":41,"publishedAt":42,"updatedAt":43,"createdAt":43},"d17c55b9-6529-49b0-8175-ac61e0d6cf47","article","PagedAttention：大模型推理为什么也需要“内存分页”？","pagedattention-llm-kv-cache-memory","PagedAttention 把大模型推理时不断增长的 KV Cache 切分为固定大小的块，并通过映射表管理它们，减少连续分配带来的浪费。本文用图书馆书架解释它如何提升显存利用率，以及为什么它不是压缩算法或质量增强技术。","大语言模型生成回答时，会不断积累此前 token 的键和值，也就是 KV Cache。对话越长、并发请求越多，这块缓存越大。若每个请求都预留一整段连续显存，真实使用长度各不相同，就像图书馆为每位读者预留一排书架：有人只放几本，大片空间却被占着；有人还没座位，整体利用率不高。\n\n## 把缓存切成小页来管理\n\nPagedAttention 的灵感来自操作系统虚拟内存分页。它把每个请求的 KV Cache 分成固定大小的块，块在物理显存中不必连续存放；系统用映射表记录逻辑 token 位置对应哪个物理块。注意力计算需要相关缓存时，再按映射关系取出所需内容。\n\n这种做法允许按需分配，避免为每个请求预留一整段连续空间。请求增长时再增加块，结束后释放块，系统也更容易管理不同长度的会话。论文展示的 vLLM 系统还利用块管理探索缓存复用等优化；具体实现收益会因模型、请求长度和硬件而异。\n\n可以把它看成共享图书馆的可移动书架：每个读者的书仍按阅读顺序排列，但书架不必在房间里相邻。管理台维护目录，计算时按目录把需要的页找回来。空间碎片减少后，同一块显存可能承载更多并发请求，从而改善整体服务吞吐。\n\n## 分页不等于压缩，也不改变模型知识\n\nPagedAttention 不会把 KV Cache 中的数据变小，也不改变模型参数、答案质量或推理逻辑。它优化的是缓存的分配与访问方式。显存带宽、计算能力、缓存块大小、批处理策略和请求模式，仍会共同决定性能；访问非连续数据也需要额外的映射与调度设计。\n\n如果单个请求极长、并发很低，或工作负载本来就没有明显的内存碎片，分页策略的好处可能有限。不同推理框架使用的具体实现也不完全相同，不能仅凭“用了 PagedAttention”推断固定的速度提升。\n\n理解它的关键是认清被分页的是推理过程的 KV Cache，而不是模型文件或用户聊天记录。PagedAttention 是一种显存管理与注意力访问系统设计，帮助推理服务把有限显存安排得更灵活，最终收益要看真实请求形态与硬件配置。\n\n来源：[论文：Efficient Memory Management for Large Language Model Serving with PagedAttention](https:\u002F\u002Farxiv.org\u002Fabs\u002F2309.06180)","\u002Fuploads\u002F2026-10-17\u002F8a2a3d13-37cb-40c1-9855-cdcbe0f0d2f1.jpg",[],[],"Foundit","https:\u002F\u002Ffoundit.cn","foundit-ai-editorial",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31],{"id":24,"name":25,"slug":26},"a2ccffe0-49b2-458b-baf6-a83a1b20443d","大语言模型","llm",{"id":28,"name":29,"slug":30},"88d2bc27-0e0f-468a-b907-2991cb97b87b","人工智能","ai",{"id":32,"name":33,"slug":34},"7c76bfc2-f80f-4ee0-a95d-27bd8708b434","技术","slug","vLLM Research Paper","https:\u002F\u002Farxiv.org\u002Fabs\u002F2309.06180","published",null,false,57,0,"2026-10-17T00:00:00.000Z","2026-10-17T03:08:54.233Z",[45,53,62],{"id":46,"type":6,"title":47,"slug":48,"summary":49,"coverUrl":50,"authorName":14,"sno":51,"publishedAt":42,"createdAt":52},"b3021f89-78c0-4d93-bc30-cea222b30f37","ORCA：大模型服务怎样在每生成一个 token 后重排队伍？","orca-iteration-level-scheduling-llm-serving","ORCA 提出 iteration-level scheduling：大模型每轮生成后都重新安排批次，让刚完成的请求退出、新请求及时进入。本文用公交发车与流水线的比喻解释连续批处理的效率，也讨论调度器如何平衡吞吐与等待时间。","\u002Fuploads\u002F2026-10-17\u002F03af83bc-ae9f-4ec1-898b-2ebf94375b23.jpg",44,"2026-10-17T03:08:58.582Z",{"id":54,"type":6,"title":55,"slug":56,"summary":57,"coverUrl":58,"authorName":14,"sno":59,"publishedAt":60,"createdAt":61},"5ef7ce44-0678-40b4-95e0-af4fe8a6b0a7","提示词也能缓存：固定前缀为什么能省钱提速？","prompt-caching-prefix-kv-cache","Prompt caching 缓存的不是旧答案，而是模型处理重复提示词前缀时产生的中间状态。本文解释它与语义缓存的区别、为什么顺序会影响命中、如何整理 Agent 上下文，以及多租户场景中的隔离风险。","\u002Fuploads\u002F2026-09-08\u002F182822f9-05a3-4d2b-8766-bc5daf93effd.jpg",42,"2026-09-08T00:00:00.000Z","2026-09-08T03:19:26.522Z",{"id":63,"type":6,"title":64,"slug":65,"summary":66,"coverUrl":67,"authorName":14,"sno":68,"publishedAt":60,"createdAt":69},"560f8daa-d53e-49f9-b4cc-54d5f39aea71","1.58 比特大模型：参数只有 −1、0、1，为什么还能推理？","one-bit-llm-bitnet-explained","BitNet b1.58 让模型从训练阶段就使用 −1、0、1 三值权重，探索更低的内存、延迟和能耗。本文解释 1.58 bit 的由来、原生低比特与 INT4 量化的区别、零值的作用，以及为什么收益依赖硬件和运行时。","\u002Fuploads\u002F2026-09-08\u002Fab641d19-d38a-4d44-b40f-649aa1c3191a.jpg",49,"2026-09-08T03:19:29.625Z"]