稀疏注意力有一个很容易被忽略的工程问题:算法说“这一块可以跳过”,芯片却未必能省下相同比例的时间和能量。
被跳过的数据必须先被识别。选择动作可以发生在计算阵列前,也可以发生在片外存储请求发出前;细粒度零值还要穿过 crossbar。稀疏网络一旦拉长关键路径,省下的乘加又会被频率和利用率吃掉多少?再叠加 attention score、softmax 和输出矩阵乘之间的中间张量,设计空间很快就从“少算一点”膨胀成数据流、缓存、互连、PE 阵列与调度的组合问题。
香港科技大学团队在 2026 年 8 月 10 日提交的 FSGen,试图把这些变量放进同一个生成与搜索框架。论文版面将其标为 DAC 2026 论文,并给出 ACM DOI。FSGen 用 Chisel 生成 attention 加速器 RTL,统一描述融合算子和多级稀疏,再用早期功耗模型筛选设计点。
作者报告了三组醒目的结果:在 700mW 约束下约 10 倍性能,在相同 8×107 周期位置约 1.4 倍功耗优势,最佳设计点的综合 FoM 相对 Stellar 达到 58 倍。
这几个数字回答的是一组受到严格约束的论文问题。实验采用 TSMC 40nm、INT8、8GB/s 片外带宽、每个 tensor 最多 16KB、最多 8 TOPS 和 1GHz 上限;PPA 来自综合、时序/功耗分析与门级仿真,没有进入布局布线、硅后测试或量产阶段。
FSGen 更有价值的地方在联合搜索:算法稀疏先变成可配置的硬件对象,硬件对象再生成 RTL 和早期成本,搜索器最后沿 Pareto 前沿挑设计。顺着这条链看,58 倍的来源和证据缺口都会清楚很多。
![]()
稀疏注意力为什么不能只数 FLOPs
在 dense attention 中,计算规则相对整齐,PE 阵列、缓存与数据搬运可以围绕规则 tile 安排。引入稀疏后,跳过无效计算需要额外的选择、路由、索引和控制。稀疏率相同,硬件结果也可能完全不同。
FSGen 把稀疏映射分成四类。compute-value 在计算侧按细粒度值决定是否送入 PE;compute-group 先按 token block 或张量组做粗粒度筛选;memory-value 在 DMA 侧压缩或跳过无效数据;memory-group 直接改变主循环计数与请求边界。
这四类动作落到不同硬件上。值级与组级计算稀疏需要单播、组播、脉动或混合 crossbar;存储侧稀疏则改变 DMA 状态机。组级网络先选出粗粒度候选,值级网络再选细粒度元素,形成多级稀疏网络。
论文在 8×8 attention 阵列上展示了一个典型权衡:单播网络性能高,但大 crossbar 带来更高延迟与功耗;组播可省面积和功耗,低 batch 推理时又可能因利用率下降而丢掉性能;分组网络可以改善最高频率,却会遇到网络负载不平衡。稀疏率只是输入,网络形态、分组尺度和物理 tile 才决定最后的 PPA。
FSGen 用 sparse set(稀疏集合)和 sparse mapping(稀疏映射)拆开这团耦合。窗口注意力、权重零值、query-key TopK 等规则先写成高层映射,再绑定到数据流或 DMA。搜索器于是可以比较同一种算法稀疏在不同网络上怎样落地,也能判断同一套硬件连接适合哪一种稀疏。
融合算子改变的是中间张量的去向
attention 的瓶颈也不只在单次矩阵乘。score 计算产生中间矩阵,softmax 读取并归一化,后续矩阵乘再消费结果。每一段单独优化,数据仍可能频繁写回和读出。
FSGen 用多组空间—时间映射描述融合算子数据流,让上游 PE 阵列产生的中间张量直接进入下游阵列。设计者可以分别调整各段 tiling、循环顺序与缓存。论文还引入异构 tiling:下游 tile 无需机械复制上游尺寸,只要吞吐带宽能够匹配。在线 softmax 则减少大型 softmax 输入缓存。
这套表示覆盖 MHA 与 GQA,也区分 prefill 和 decode。decode 可以从 KV cache 读取 key/value,跳过多余的 KVQ 生成;FFN 场景可以把 softmax 单元换成激活阵列。FSGen 因而更接近一个可重构的 attention/LLM kernel 生成器,而非某个固定的稀疏加速器微架构。
把前面的稀疏层接进来,完整链路就清楚了:模型与稀疏规则给出哪些数据有效;sparse mapping 决定选择发生在哪一级;数据流决定循环、tile 和算子融合;生成器实例化 PE、队列、缓存、网络和 DMA;testbench 检查 kernel 或整层行为;PPA 估算器把成本反馈给搜索器。
这个端到端链路的价值,在于“算法选择”和“硬件代价”终于可以在同一个参数空间里对话。它也带来新的责任:高层映射能表达什么、RTL 是否功能正确、估算器是否校准、下游实现是否收敛,都可能决定搜索结果的可信度。
早期 PPA 的亮点,其实集中在功耗
大设计空间不可能把每个点都完整跑完后端流程。FSGen 采用原语级建模:加法器、乘法器、指数单元、crossbar、脉动流水线、组播网络、SRAM 和寄存器分别建模,再聚合到更大的模块与整机。
普通分析模型容易把每次运算的能量视为常量。FSGen 从周期精确架构模拟器中采样信号翻转率和零比特计数,再将原语类型、结构参数与活动特征输入 XGBoost。训练标签来自综合后功耗分析。论文称每个原语约有 256 个训练点,数据生成约需 30 分钟,模型训练只要数秒。
作者用约 20 个稠密设计和 200 个稀疏设计验证,报告功耗模型误差 12.8%、相关系数 R=0.97。论文把系统称为早期 PPA estimator,但给出明确误差与相关性的主体是 power model(功耗模型)。面积可由原语聚合,性能来自架构模拟与时序信息;12.8% 不能扩写成完整 PPA 三项都达到同样精度。
更现实的边界是跨工艺与跨工具。模型用 TSMC 40nm、指定 Synopsys 流程产生标签,换标准单元库、SRAM compiler、约束、布局拥塞或物理实现策略后,功耗分布都可能变化。原语级分解有利于重训和定位误差,并不自动带来跨 PDK 通用性。
10 倍、1.4 倍和 58 倍怎样读
论文用 3 种循环顺序、8 种 tiling、2 种 compute-value、2 种 compute-group 和 4 种 memory-based sparsity 做网格搜索,共得到 768 个 FSGen 设计点。BinaryLLM 与 Stellar 分别配置出 12 和 20 种 dataflow。比较对象全部限制为 INT8、8GB/s 片外带宽、每个 tensor 最多 16KB、最多 8 TOPS 和 1GHz。
在这组条件下,作者报告 700mW 约束处的性能约高 10 倍;在相同 8×107 周期位置,功耗表现约优 1.4 倍。表 1 把 FSGen D3 相对 Stellar 标注为 58 倍,FoM 定义为平均 decode tokens/s 再除以功耗和面积。表内展示值为 9.0 和 0.15,直接相除约为 60;公开的四舍五入数值无法精确复算 58。
58 倍不是单一性能指标。D3 的面积 4.79mm²、功耗 509mW、吞吐 22tps,三项被乘除后放大成一个排序值。D4 的吞吐更高,达到 23tps,面积和功耗也更高,FoM 反而降到 4.2。D1 的利用率达到 93%,吞吐却只有 2.3tps。论文自己的设计点已经说明,任何“最佳”都依赖目标函数和约束。
还要检查对照空间是否对称。FSGen 能搜索 768 点,并原生支持更丰富的融合与稀疏组合;BinaryLLM 和 Stellar 的可配置空间更小。这个对比证明“扩大且结构化的搜索空间有机会找到更好的点”,并不等于 FSGen 在所有实现条件下天然快 58 倍。
模型质量是另一块缺口。论文展示 BERT-Large、LLaMA、Mistral、Qwen3-small 的 kernel 性能,却没有报告稀疏策略对应的任务准确率、困惑度或质量损失。硬件跳过得越多,PPA 往往越好;如果不同设计点对应的有效计算或模型质量不等价,性能数字就不能直接替代端到端应用收益。
从论文框架到工程导入,还要过三道门
第一道门是表示能力。团队要确认自己的 attention 变体、稀疏规则、数据类型、片上存储层级和互连约束能否映射到 FSGen 的参数体系。能表达只是起点,还要确认生成 RTL 与 golden model 在不同序列长度、稀疏模式和边界条件下保持一致。
第二道门是估算器校准。早期模型适合筛掉明显劣势设计、缩小候选集合;最终候选仍要回到综合、STA、功耗分析乃至布局布线。验收时应看 top-k 设计命中率、排序相关性、分布外误差和换 PDK 后的重训成本,平均误差只是其中一项。
这类探索进入企业研发时,还要把参数配置、工具运行、PPA 回读与人工 review 留在一条可审计链路里。中科麒芯也在沿这一路径,用专业模型、企业知识与 Flow Builder 连接 AI+EDA 任务。
第三道门是实现与产品证据。论文使用 Design Compiler、PrimeTime/PTPX 和 VCS,已经比只做解析估算更接近 RTL 实现;公开材料没有展示布局布线、寄生参数提取、DRC/LVS、MCMM、IR drop、版图后功耗、流片或硅后测量。论文所说“synthesized into ASIC designs”应理解为面向 ASIC 的综合结果,不能翻译成已经完成 ASIC 流片。
公开仓库为复核提供了起点。代码采用 Chisel/Scala,给出 MHA 配置、稀疏开关、缓存参数、Verilog/testbench 和原语模型训练示例,并以木兰公共许可证第 2 版发布。仓库没有提供 TSMC 40nm 工艺库,完整论文 PPA 复现还依赖商业 EDA 工具和许可证。代码公开与结果可独立复现仍是两层证据。
会议元数据还存在一处冲突:arXiv 论文版面写 DAC 2026 并给出 ACM DOI,香港科技大学研究门户把同名论文标成 DATE 2026。本文采用论文版面信息,同时保留这项冲突,不推测门户记录为何不同。
FSGen 把稀疏 attention 加速器的讨论从一个算法稀疏率,推进到一张可生成、可估算、可搜索的硬件地图。这是它最有分量的贡献。
这张地图里,融合算子决定中间张量是否落到存储,多级稀疏决定选择与跳过发生在何处,tiling 和互连决定利用率与关键路径,原语级功耗模型负责在早期给候选点排序。10 倍、1.4 倍与 58 倍都是这套联合搜索在作者实验中的结果,不是脱离条件的产品规格。
以后看到类似“算法—架构—PPA 联合优化”,可以沿三层证据追问:设计空间有没有覆盖真实约束;估算器在目标工艺与分布上能否把候选顺序排对;最终设计有没有通过布局布线、sign-off 和硅后测量。FSGen 已经把第一层做得很有启发,也给第二层提供了作者验证。第三层,仍要等工程与芯片结果回答。
作者:麒芯
声明:本文基于公开论文与开源仓库整理分析。文中实验数字均为作者结果,不代表第三方复现、客户部署、版图后 sign-off、流片、量产或硅后表现,也不构成投资建议。
参考资料:
1. arXiv:《FSGen: Agile Fused and Sparse Accelerator Generator with Accurate Power Model for LLM Applications》
2. FSGen:作者公开代码仓库
3. 香港科技大学研究门户:FSGen 论文记录
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
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.