智猩猩AI整理
编辑:BugMaker
大语言模型(Large Language Model,LLM)推理有一本绕不开的账,KV 缓存(Key-Value Cache)。
模型每生成一个 token,都要把它的键和值向量存下来,下一步解码时再读出来。上下文越长、并发越高,这本账就越厚,很快就能塞满一块 GPU 的显存。
于是业界把放不下的 KV 缓存外溢到更大更便宜的层级,SSD 就是标准选择。Mooncake 这类系统早把这条路走通了,冷数据搬到磁盘,需要时再读回来。
但 SSD 卡在 PCIe 接口上,带宽有限。高带宽闪存(High-Bandwidth Flash,HBF)就是冲着这个来的。它把 NAND 闪存堆叠起来,直接挂到 GPU 的存储通道上,读延迟比 SSD 低约一个数量级,带宽也高出好几倍。
一个很自然的想法跟着出现。把 Mooncake 里的 SSD 直接换成 HBF,别的都不动,服务是不是就该更快了?
北京大学团队的回答很干脆,不是,反而更慢。
这篇论文叫《HBF Sucks? A Full-Stack Characterization of High-Bandwidth Flash for KV-Centric LLM Serving》。论文首页的 Table 1 把近期工作摆在一起对比,包括 H3、FlashAccel、FLINT、DASH、HBFSim 和 POSTECH 的探索性研究,维度涵盖 HBF 承载什么数据、采用什么拓扑、有无架构模拟器、有无服务级评估。本文是唯一同时覆盖 HBF-1 和 HBF-2 两种拓扑、并用全栈模拟器跑生产 trace 回放的工作。
![]()
这项工作的主要作者来自北京大学集成电路学院,通讯作者是存内计算(Processing-in-Memory)领域知名青年学者, LLM 推理模拟器 TokenSim 的核心作者卓有为助理教授。
他们做的不是一次简单的跑分,而是一次全栈特性刻画(Full-Stack Characterization)。团队把 TokenSim 扩展成能模拟 HBF 分层 KV 缓存的版本,再配上热仿真和耐久度预算,从闪存器件、封装、近层内存一路量到端到端服务延迟。这套全栈模拟框架已经开源,即 TokenSim 的 HBF 扩展版本,代码地址为 https://github.com/pku-lemonade/TokenSim/tree/hbf ,读者可以直接复现文中全部结果。
数据用 4 条来自阿里云 Qwen-Bailian 生产部署的完整两小时 trace,覆盖 5 个稠密和混合专家(Mixture of Experts,MoE)模型,跑在 H100 和 B200 两种平台上。
结果是反直觉的。平均端到端延迟上升 2 到 5.5 倍,最大服务等级目标(Service Level Objective,SLO)吞吐下降 1.1 到 2.7 倍。
![]()
01
更快的媒体,为什么换来
更慢的服务
2026 年 8 月 3 日,OCP(开放计算项目)发布了由 Sandisk 和 SK 海力士牵头的《High Bandwidth Flash (HBF) High-Level Base Die Specification》v0.7.0,第一次以标准形式写死了 HBF 的主机接口和管理分工。论文的论证全部对齐这份标准:接口采用 AXI over UCIe,区别于 NVMe;写必须凑满一个完整的 4 KiB 页才落盘;数据在通道间的交织排布由主机负责。
HBF 不是一个抽象名词。论文的分析对象,来自韩国'HBM 之父',KAIST 的 Joungho Kim 教授今年 2 月提出的 HBF 路线图中的近景两代,也就是未来约五年内会落地的方案,HBF-1(2028)把整块硅中介层(Silicon Interposer)都填满闪存,快一级的近层存储被挤到 GDDR7 上。HBF-2(2030)才把高带宽内存(High Bandwidth Memory,HBM)请回来,和闪存共享中介层。
![]()
关键就在"取舍"两个字。HBF 用闪存换来封装内的容量,代价是 GPU 近层的容量和带宽。HBF-1 直接把近层从 96GB HBM 砍到 48GB GDDR7,带宽也从 3.0 TB/s 腰斩到 1.5 TB/s。
研究团队拿容量配平的 SSD 做对照,HBF-1 对 SSD24,HBF-2 对 SSD12。结果每一组 HBF 都在所有请求指标上更差,平均端到端延迟是 SSD 的 2 到 5.5 倍,吞吐降 4% 到 34%,最大 SLO 吞吐降 1.1 到 2.7 倍。
更扎心的是,闪存本身变快几乎没用。研究团队把 HBF 的读写延迟从 30/300 微秒调到 8/80 微秒,整整快 3.75 倍,端到端延迟只动了不到1%,这说明闪存服务根本不在请求的关键路径上。研究团队反推出一个暴露比例 f,只有大约 1%。
![]()
换句话说,就算给你一块零延迟的完美闪存,最多也只能砍掉 1% 的端到端时间。而买这块闪存牺牲的近层容量,代价是延迟涨了 2 到 5.5 倍。
02
三个条件,瞬态 KV
一个都不满足
为了说清"更快闪存何时才有用",研究团队把收益拆成一个净变化公式,拆出三个必要条件。第一,读 IO 得是服务瓶颈。第二,读要远比写多。第三,带宽要能持续跑满。
对于瞬态 KV 缓存,三个条件全不成立。
一、写比读多,热块都被近层截胡
研究团队把 4 条 trace 各回放两小时,直接数闪存层读写了多少字节。结果没有一条例外,写都多于读。写读比从 1.14 倍到最高的 4.90 倍,换算成"每写一字节能换回多少有用读"的比例,只有 0.20 到 0.88,全部低于盈亏平衡。
原因在复用分布上。热块被近层留住了,HBF 收到的是冷尾巴,写一次很少再读。traceB 最极端,只有 6% 的块会被复用。
二、两条补救的路都走不通
研究团队试了两条补救,都没成。近存计算(Near-Memory Processing,NMP)把注意力算力搬进闪存,但闪存里常驻的 KV 只有 15% 左右,加速器有力使不出。
SSD 上很灵的写批处理(write batching)搬到 HBF 也失效了。它在 SSD 上能降 8.9% 到 21.1% 的延迟,在 HBF 上只剩 2.69%,块变大后甚至变负。
![]()
03
过热降频,耐久不足
写多还会带来两个物理后果,发热和磨损。
研究团队用三维集成电路热仿真工具 3D-ICE 建了一个 16 层三级单元闪存(Triple-Level Cell,TLC)堆叠的热模型,安全结温设在 80 度,和 HBM3e 对齐。
结果是,单个堆叠跑到202 GB/s、功耗 53.7 W就到顶了,离接口标称的峰值带宽还差得远。
![]()
于是热控只能关掉最热的平面降频,实际带宽又低又不可预测。
寿命更不乐观。每条 trace 一天要写 48 到 140 TB,超过了任何合理的预算。按乐观的 TLC 假设算,HBF 的寿命只有同等容量 SSD 池的0.56 倍。
![]()
问题在于,HBF 挂上去像内存,骨子里还是闪存。OCP 标准把 ECC、坏块处理、写累积留在 base die,磨损均衡和垃圾回收可以上移主机,但 HBF 没有 SSD 那样的控制器兜底,地址映射这些脏活得系统自己背。
04
HBF 不是问题,用法才是
读到这里,结论其实已经清楚。HBF 本身没错,错的是把它当成一块更快的 SSD,去接瞬态 KV。
研究团队给了一张放置地图,横轴是暴露停顿,纵轴是每写换回的读。瞬态 KV 落在左下角,三个条件全失败。权重和共享前缀落在对角,那才是 HBF 该待的地方。
![]()
所以 HBF 的正确打开方式,是做一个有选择的、感知复用的、预算写入的、热协同的分层,而不是 SSD 的即插即用替代品。
这套三个条件本身也不只适用于 HBF,对 CXL 挂载的闪存、其他堆叠 NAND 同样成立。研究团队用测量回答了"更快媒体何时有用"这个更普遍的问题。
论文首页还给学界和业界留了一封'给读者的挑战书':trace、模型、代码、三个必要条件都已公开,Mooncake 式 KV 外溢三个条件全败,但 HBF 不必败。能不能设计出一种 HBF 组织和运行时,加速关键路径上的读,让每一次写换回足够多的有用读,在热和耐久的预算内持续跑满带宽,最终拿到端到端的净收益?这道题,现在轮到读者来解。
关注+星标,获取AI前沿进展与开源一线动态
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.