Zifan He, Shengyu Ye, Rui Ma, Yang Wang, Jason Cong
UCLA, Microsoft Research Asia
2025 preprint
Presenter: wzw
Date: 2026-03-24
FlashAttention/FlashDecoding + INT8 优化的 GPU。memory-based computation,并用 activation-weight co-quantization + 2D LUT 压低带宽和片上访存压力。Qwen 3 1.7B + AMD V80 上,端到端延迟比 MI210 低 1.66x,能效比 A100 高 1.72x,推到 32B 仍可达 2.16x A100 能效。
INT8 + KV-cache optimized decoding 上进步很快,SoTA FPGA 已经不再天然占优。AMD V80 的片上 memory units 数量约是 A100 的 14.9x,容量也更大。centroid search 难在 decode 中 pipeline,
table lookups 吃 memory ports,
linear layers 和 attention / KV-cache 之间的数据搬运也更棘手。
weight-only、activation-only、activation-weight co-quantization。weight-only 约 1090 cycles,
activation-only 约 8256 cycles,
co-quantization 约 569 cycles。
activation VQ 的 memory-based compute 在长序列 prefill 上能比 FP16 arithmetic 更快。
SwiGLU、LayerNorm 等非线性。
centroid search setup latency 太高。Bandwidth-aware Parallel Centroid Search Unit 把 dPE 排成 多条 pipeline chains + 小 reduction tree。c_a=64, c_w=16 时每个 BPCSU 选 l=16。
1D LUT 对每个 output element 单独查表,memory capacity 和 partial-sum latency 都偏高。BRAM + URAM + LUTRAM,并复制寄存器降低 fanout。
nearest-neighbor search 难连续 pipeline。LUTLinear 按 operation sequential,
输出再以 dataflow 形式送到 attention / SFU。LUTLinear,先做 activation centroid search。activation index + weight index 拉出 dot-product entries,并做 SIMD accumulation。dequantizer 把输出恢复到 FP32,送往 attention / SwiGLU / LayerNorm。K/V 流式写入 HBM; decode 时在第一层 linear projection 期间预取历史 KV-cache。GEMM 和 GEMV,因此同一设计能覆盖 prefill 与 decode。Qwen 3 1.7BG=512, v=2, c_w=16, c_a=64, INT8 LUT,等价于 W2A3Vitis HLS 2024.2 + TAPA + RapidStream + Vivado 2024.2AMD Alveo V80, 227 MHzAMD MI210, NVIDIA A100, 后端为 vLLM + FlashAttention + FlashDecoding + GPTQ INT8GLUE + SQuAD v2 上,全部技术打开后相对 FP16 仅 2.7% geomean 下降。RTN INT8,INT8 LUT 方案 geomean 反而高 5.5%。SmoothQuant W8A8,LUT-LLM 只低约 1.2% geomean; MMLU-Pro 也只低 0.9 分。
MI210,LUT-LLM 端到端 geomean latency 低 1.66x,而且只用了约 1/7 的带宽。A100,延迟仍然落后,因为 FlashAttention/FlashDecoding + GPTQ Marlin 非常强。INT4 lookup tables,输出更长时 latency 可逼近 A100 的 BF16/INT8。
MI210,LUT-LLM geomean energy efficiency 高 4.1x。A100,即使对方有 GPTQ Marlin,LUT-LLM 仍高 1.72x。
Allo / InTAR / FlightLLM,LUT-LLM 端到端分别快 5.6x / 1.9x / roughly similar,decode 比 FlightLLM 快 1.1x。FlightLLM / InTAR / Allo 高 1.49x / 1.37x / 3.32x。32 个通道拉 LUT/indices,外加 4+4 通道做输入与输出/KV-cache,有效 LUT 带宽约 227 GB/s。linear layers 必须是主瓶颈,否则 memory-based LUTLinear 不会主导整体收益。attention 和非线性仍保留高精度执行,所以这不是“整个 LLM 全部查表化”。BPCSU + 2D LUT PSum + hybrid execution 把查表型 linear 层真正落到 FPGA。Qwen 3 1.7B / AMD V80 上做出对 MI210 的 1.66x latency 优势,以及对 A100 的 1.72x energy-efficiency 优势。quantization + architecture + roofline 闭环。512,而且对 SoTA FPGA baseline 的比较有一部分依赖 simulator。