关于FP-INT mixed神经网络加速器设计的work

[清华大学 ISSCC2025] An 88.36TOPS/W Bit-Level-Weight-Compressed Large-Language-Model Accelerator with Cluster-Aligned INT-FP-GEMM and Bi-Dimensional Workflow Reformulation

该工作对Transformer神经网络的activation采用了BF16量化,weight采用INT8量化。

因为BF16量化后的activation他们的exponent位存在很高的相似性。所以该work将每32个activation和它们对应的weight分为4个cluster。每个cluster中activation的exponent相差不超过3。之后每个cluster中的activation和weight单独做INT的乘法。对齐操作由对weight进行zero-extension完成,而不是对activation进行左移。而由于weight用了特殊的coding进行处理,zero extension带来的额外功耗很小。

[东南大学 ISSCC2025] A 28nm 17.83-to-62.84TFLOPS/W Broadcast-Alignment Floating-Point CIM Macro with Non-Two’s-Complement MAC for CNNs and Transformers

[清华大学 VLSI 2025] CELLA: A 28nm Compute-Memory Co-Optimized Real-Time Digital CIM-Based Edge LLM Accelerator with 1.78ms-Response in Prefill and 31.32 Token/s in Decoding

这个工作重点针对大语言模型的Prefill和Decoding两个步骤进行优化。Prefill指的是transformer encoder把prompt读进去的过程,而Decoding则是transformer decoder逐token生成一个完整句子的过程。前者是compute-bound的,重点的优化目标是Time-To-First-Token (TTFT),后者是memory-bound的,重点的优化目标是Time-Per-Output-Token (TPOT)。

FP16的Mantissa会经过提前进行对齐重新组织成“拼图”式样。MSB的拼图正好可以嵌入LSB之中,这个点还蛮有趣的。但尽管它的处理方式是bit-serial的,但只能跳过alignment-induced sparsity。另外这里的Dense Section的长度如果变化的话,可能会让MSB与LSB piece之间的移位关系变地更加复杂,增加硬件的复杂度。

2025-08-17T095132

处理decoding时,对模型的weight进行non-uniform quantization,CIM处理它们的时候使用Content Addressed Memory (CAM)模式。比如对于2bit的weight,CIM会依次检索00,01,10,11。把检索出的weight地址对应的input activation累加起来再和对应的量化台阶RD做累加。为了降低mismatch带来的功耗开销(mismatch会让BL上放电),每16个weight就有一套检索顺序,多的先搜,已经match的后面就不搜了,减少 TPOT达 4.89×。另一个创新点则是处理动态Key-Value缓存(KV cache)时,用之前ELSA提出的hash prediction方法预测重要KV的对象,进一步减少TPOT达4.13×。