Agent 跑得慢,不一定是算力不够
- 关联论文:2509.09505
LLM 从聊天框搬进 Agent 之后,一个常见误会是"模型不够强"。但 Agent 场景真正的瓶颈往往不在算力,而在内存。工具调用要装下整张网页的 DOM,命令行操作要留存完整轨迹,多步历史越滚越长——上下文长度远超对话。
更要命的是两道内存墙。带宽墙决定你每秒能从片外搬进多少数据,容量墙决定你总共装得下多少。长上下文下计算单元的算力被大面积空耗,GPU 大部分时间在等数据。
PLENA 没走"训个更大的模型"这条路,而是做了一套硬件—软件协同设计。
第一条路径是扁平化脉动阵列。传统二维 mesh 阵列是为规整的批量矩阵乘设计的,但 Agent 的注意力形状往往"瘦长"——Q 短、K/V 沿序列维极长,二维网格里大片乘法器就那么闲着。PLENA 把阵列逻辑上拉成长条,让数据流沿序列维连续推进,不留空洞。这正对应了非规则 shape 下的算力浪费。
第二条路径是非对称量化。Agent 负载里不同张量的精度敏感度差很远:权重静态、可离线校准,压到 int4/int8 没问题;激活动态、尾值敏感,需要更宽位宽;KV cache 在长上下文下容量压力最大,必须压缩。一把尺子量所有张量,结果就是精度崩塌或访存浪费,所以 PLENA 给三类张量分别配量化精度和缩放策略,还配了专用计算单元和片上存储。
第三条路径是把 FlashAttention 做成硬件原生支持。FlashAttention 用 tile 加重计算,让注意力在 SRAM 里完成,避免把中间矩阵写回 HBM。PLENA 在指令集层面直接暴露 tile 级 load/store/mma 操作,编译器能自动把普通 attention 子图改写成 FlashAttention 风格。
数字上,在等量乘法器、等量内存的严格对照下,PLENA 相对 A100 吞吐最高提升 2.23 倍、相对 TPU v6e 最高 4.70 倍,能耗效率相对 A100 最高 4.04 倍。论文还承诺把仿真器、编译器、指令集和 RTL 全部开源——对硬件论文来说相当罕见。
但"最高"这两个字要读清楚。这是 best-case,端到平均值没给。对照面只有 A100 和 TPU v6e,没有 H100/H200——而 H100 已带 Transformer Engine 和 FlashAttention-3,恰恰是这类 memory-bound 场景的适配硬件,缺了它,4.70 倍的含金量得打折。另外"等量乘法器"不等于"等量芯片面积",扁平化阵列需要更多地方放控制逻辑和 SRAM,这些数字更该读成"同等资源下微架构带来的效率提升",而不是"买 1/2.23 的卡数就能达到同样吞吐"。具体跑的是哪个尺寸的 LLaMA、用了哪些 Agent benchmark,摘要也都没交代。
对工程团队来说,PLENA 短期内部署不了——自研封闭指令集,PyTorch、vLLM 接不进来,芯片和 RTL 是否真开源也还没确认。但三条路径在 GPU 上都有现成等价物:FlashAttention-3 加 PagedAttention 加 INT4/INT8 KV cache,TensorRT-LLM 的 FP8 权重量化加 per-token KV 量化。真正值得抄的是它的问题框架——先问"瓶颈在带宽还是在容量",再决定优化顺序。
这里有个高频误区:很多团队在 prefill 阶段就启用 KV cache 量化,但 prefill 是 compute-bound、根本不读 KV cache,只有 decode 阶段才读,省下的量化开销是白付的。正确做法是在 profiler 里分开测 prefill 和 decode 的显存带宽利用率,确认瓶颈真在 decode 再开。另外 KV cache 量化要处理离群值,INT8 容易精度崩塌,可把离群维度保留 FP16。
一句话总结:Agent 推理的下一个战场是内存墙,不是参数量。
标题变体
- Agent 跑得慢,不一定是算力不够
- 两道内存墙:长上下文 Agent 推理真正的瓶颈在哪
- 把 2D 阵列拉成一条线,吞吐涨了 4.7 倍——PLENA 在改什么
- 大模型硬件战的下半场:从算力堆叠转向访存效率
小红书卡片文案
Agent 跑得慢,先别急着换更大的模型 😵💫
真正的瓶颈往往是内存:整张网页 DOM、完整工具轨迹、多步操作历史塞进去,上下文长度直接起飞。
带宽墙 + 容量墙双杀,计算单元大部分时间在等数据。
PLENA 给的三条路: 🧱 扁平化脉动阵列——2D mesh 拉成一条长条,专治"瘦长"注意力形状的算力浪费 📊 非对称量化——权重 int4、激活给更宽位宽、KV cache 单独压,不搞一刀切 ⚡ FlashAttention 硬件原生——tile 级指令暴露,编译器自动改写
同算力同内存下:吞吐相对 A100 最高 2.23×、相对 TPU v6e 最高 4.70×,能效最高 4.04×。
⚠️ 但要读清楚: 「最高」= best-case,端到平均值没给 只对比了 A100 / TPU v6e,没对比 H100 等量乘法器 ≠ 等量芯片面积
💡 GPU 上能抄的现成等价物:FlashAttention-3 + PagedAttention + INT4/INT8 KV cache
🚨 高频坑:prefill 阶段开 KV cache 量化 = 白干(prefill 不读 KV cache)