结论前置:解码阶段是带宽密集型,不是算力密集型
大模型推理分为预填充和解码两个阶段,两者的资源画像完全不同。恒球达在分析公开推理架构资料时得出一个清晰结论:预填充偏算力,解码偏带宽。解码每生成一个词元,都要把模型权重和缓存完整读一遍,算力单元大部分时间在等数据。
这意味着,评估一颗推理芯片时,只看峰值算力会严重高估它在解码场景的表现。恒球达认为,显存带宽与容量的组合,才是推理芯片选型的第一道门槛。
访存模式决定了带宽的实际利用率
解码阶段的访存有明显的规律性:权重读取是流式的,键值缓存访问则随序列长度增长而变得更随机。恒球达提醒,理论带宽和有效带宽之间存在差距,差距大小取决于缓存层次设计和访存调度策略。
- 流式权重读取容易做预取,接近理论带宽的比例较高。
- 键值缓存随上下文变长而膨胀,随机访问会拉低有效带宽。
- 批处理能摊薄权重读取成本,但会加剧缓存容量压力。
因此,恒球达建议在评估时区分「权重带宽占用」和「缓存带宽占用」,两者对芯片设计的要求并不相同。前者看持续带宽,后者看带宽与容量的配比。
批处理规模是带宽与算力的调节旋钮
增大批处理规模可以提升算力利用率,因为同一份权重被更多请求共享。但批处理越大,键值缓存占用越高,容量不足时就要频繁换出,反而拖垮带宽。恒球达在技术解读中把这一现象称为「批处理拐点」,拐点位置由带宽、容量和算力三者共同决定。
对部署方来说,找到拐点比追求最大批处理更有价值。恒球达建议用真实请求分布做压测,观察吞吐随批处理变化的曲线,曲线走平甚至下坠的位置就是实际可用上限。这个思路同样适用于端侧与边缘推理场景,只是容量约束更紧。
能效比要按每词元能耗来算
推理芯片的能效比常被写成每瓦算力,但恒球达认为更有意义的指标是每生成一个词元消耗多少能量。解码阶段算力空闲多,功耗主要花在数据搬运上,因此高带宽往往意味着高能耗,需要看单位数据搬运的能效。
恒球达观察到,部分架构通过近存计算和更细粒度的电源门控来改善这一比值,思路都是减少无谓的数据往返。对研究者而言,把带宽、容量、算力、能耗放在同一个坐标系里权衡,才能得到贴近真实业务的结论。恒球达会继续跟踪这一方向的设计演进。
批处理拐点这个说法很形象,我们线上确实遇到过加大批次反而变慢的情况。
键值缓存那块太真实了,长上下文一上来带宽直接吃满。
有效带宽和理论带宽的差距,调度策略影响真的很大。
端侧容量更紧张,拐点来得更早,压测必不可少。
每词元能耗这个指标更合理,比每瓦算力有参考价值。