尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
推理引擎不是四代升级线:调度、内存、复用与部署应分开看
把静态批处理、PagedAttention、前缀缓存、PD 分离画成四代产品很容易得出一个错误结论只要升级到最后一代前面的问题就一起消失了。实际选型时这几项技术经常同时存在解决的约束也不同。容量放得下不代表请求排得好省掉了重复 Prefill也不代表 Decode 会更快。10 月 20 日Google 发布 vLLM、SGLang 的原生 PyTorch TPU 后端说明调度器与硬件实现可以分层演进。对做性能工程的人更有用的问题是这次改动改变了哪一段工作代价转移到了哪里。Google 官方发布四条轴各有自己的账观察轴主要改变需要继续测什么批处理与调度哪些请求、多少 Token 一起执行排队时间、首字等待、输出间隔KV 内存组织逻辑 Token 怎样映射到物理块块浪费、共享写入、抢占次数前缀复用已计算的前缀能否再次使用命中长度、身份隔离、失效与重算Prefill/Decode 部署计算阶段放在哪些节点KV 传输、路由、负载不均与故障PagedAttention 的原论文讨论的是动态 KV 内存管理不要把它等同于完整的请求调度策略也不要把论文中的特定对比结果写成任何模型都能达到的常数。PagedAttention 论文2023例如多轮对话在下一轮发送完整历史时会产生重复的输入计算。前缀缓存直接针对这部分工作。但如果每次请求的系统提示都不同、输出又很长前缀复用能省下的工作就少得多。换成更大的显存池也不会让不存在的公共前缀自动出现。一个不用 GPU 的工作量检查下面只计算相邻请求的公共前缀长度不估计毫秒或吞吐。Token ID 是手写的教学输入不经过真实分词器。执行python3 example.py即可运行。from itertools import takewhile def common_prefix(a, b): return sum(1 for _ in takewhile(lambda pair: pair[0] pair[1], zip(a, b))) requests [[1, 2, 3, 4], [1, 2, 3, 8], [9, 2, 3, 4]] reusable [0] [common_prefix(a, b) for a, b in zip(requests, requests[1:])] original_work sum(map(len, requests)) remaining_work sum(len(row) - hit for row, hit in zip(requests, reusable)) assert reusable [0, 3, 0] assert original_work 12 and remaining_work 9 print({input_tokens: original_work, reusable_tokens: sum(reusable), remaining_prefill_tokens: remaining_work})这里的 12→9 只是这组三个序列的 Token 工作量变化。真实缓存可能同时查找更早的请求可能只在完整块边界命中也可能因模型、租户或容量限制不能复用。这个小程序没有证明“快了 25%”算子效率、队列以及数据搬运仍然会影响延迟。决策从瓶颈开始若日志显示大量 KV 抢占先检查容量预算、块组织和并发而不是直接拆成两套集群。若 GPU 有空档但请求排队检查 CPU 下发、调度轮次与批次形状。若一段公共提示反复计算再检查缓存键与路由。若长 Prefill 挤压流式输出才值得比较分块调度和 PD 分离的总成本。部署拆分还会增加网络传输、状态定位和失败回退。它可以解决干扰也会制造新的运维边界。一个完整方案应同时列出“省掉的工作”和“新增的工作”让同一条请求链路能够核对而不是把不同机器上的最好数字拼成演进史。本文没有运行真实模型、TPU 后端或多节点部署。离线例子仅验证公共前缀计算架构收益需要固定模型、硬件、输入输出分布、缓存热度和成功率再做同条件比较。选型的目标是处理手头的负载不是凑齐功能清单。
RELATED

相关推荐

MLA 的 KV Cache 到底有多大:先把层数、字节和分片算清楚

MLA 的 KV Cache 到底有多大:先把层数、字节和分片算清楚

同样写着“512 维潜变量加 64 维位置分支”,有人算出 6.75 KiB/Token,有人算出 67.5 KiB/Token。两者相差十倍,通常不是算法突然进步了,而是层数漏了一位。容量规划里,最危险的错误往往发生在单位和统计范围上。 MLA …

📅 2026/10/25 5:24:23
投机采样为什么能保持同分布:用三个词元把残差算出来

投机采样为什么能保持同分布:用三个词元把残差算出来

“无损加速”最容易被误解成两件事:输出文本逐字不变,或者小模型猜错了也无所谓。随机采样下,真正要保留的是目标模型的输出分布。草稿模型负责提出候选,接受规则和拒绝后的补偿分布共同保证结果;漏掉后半段&#xff0…

📅 2026/10/25 5:24:23
CANN与AIGC:生成式AI部署优化的核心技术解析

CANN与AIGC:生成式AI部署优化的核心技术解析

1. CANN与AIGC:生成式AI部署优化的黄金组合当Stable Diffusion能在1秒内生成高清图像、ChatGPT可以实时响应复杂问答时,背后的秘密武器正是CANN(Compute Architecture for Neural Networks)这类专为AI设计的计算架构。作为华为昇腾…

📅 2026/10/25 5:24:23
MORE NEWS

更多资讯

📰

RRF 融合后还要不要重排:先画候选召回上限

RRF 能把不同检索通道的排名合到一起,但它不能把没召回的文档变出来。重排器也是一样。很多“换了重排模型还是答错”的问题,实际发生在候选池形成之前。 10 月 8 日,Qdrant 与 Pento 发布了 miniCOIL EN-ES 的双语稀疏检索研究预览&#xf…

📰

199_负载突变下转速环积分饱和的恢复过程设计

从一个反复烧驱动模块的现场说起 几年前做过一台大惯量旋转台的项目,电机通过减速机构拖动一个偏心负载。空载调试一切正常,转速环响应干脆利落。但是一旦把真实负载挂上去,做突加突卸测试,问题就来了:每次负载突然卸掉的瞬间,转速会猛地冲上去,超调大得吓人,紧接着驱…

📰

198_弱磁区电压裕量不足时的电流分配策略调整

一个把母线电压吃干榨净的现场 早年间做一套宽调速范围的永磁同步驱动项目,样机在额定转速以下跑得四平八稳,温升、噪声、效率都在预期内。问题出在往高速推的阶段:转速刚越过基速不久,控制器就开始报母线电压利用率异常,同时相电流波形上出现明显的削顶畸变,转矩输出像…

📰

197_电流环与速度环带宽配比失当引起的振荡现象

前年冬天,有个做卷绕设备的项目找到我。他们的机器在低速运行时一切正常,但产线速度提上去之后,张力就开始周期性波动,幅度越来越大,最后设备自己保护停机。现场工程师换了张力传感器、检查了机械传动、甚至把电机都拆下来重新对中,折腾了快两周,问题依旧。 我到现场之…

📰

196_反电动势谐波对转子位置估算误差的耦合分析

从一次诡异的低速抖动说起 去年冬天调一台无位置传感器永磁同步驱动样机,额定转速三千转,带载运行在中高速区间一切正常。但客户要求必须能稳定运行在百分之五额定转速以下,问题就来了。低速轻载时电机发出周期性的“咯噔咯噔”抖动,电流波形上叠加了明显的六次谐波纹波,…

📰

Agent多Agent框架实战:Router路由器与四种多智能体架构区别说明(TaoToken统一API接入)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬