第 4 环 · INT4 量化
同一个圆心:一台开机只有一个 AI 的手机。前三环已经把「文字闭环 → 真跑通 → 权重从内存加载」走完,本环要解决的是大模型最要命的瓶颈——内存带宽。
大模型推理,带宽比算力更稀缺。核心思路「内存带宽优先」落到硬件上,第一步就是把权重从 8bit 压到 4bit(INT4 量化),同样的内存能装下两倍的权重,带宽省一半。
给 min_bus.sv 加了 INT4 反量化逻辑(NPU.QUANT):SRAM 里一个 32bit 字,装 8 个 4bit 权重;取前 4 个,符号扩展回 8bit 喂给 NPU 脉动阵列。
SRAM 32bit = 8 个 INT4 权重(每个 4bit) w4_0 = data[3:0] → 符号扩展 → w8_0(8bit) w4_1 = data[7:4] → 符号扩展 → w8_1 w4_2 = data[11:8] → 符号扩展 → w8_2 w4_3 = data[15:12] → 符号扩展 → w8_3 → 喂给 4×4 脉动阵列
权重在内存里占 4bit,喂进 NPU 时才变回 8bit——带宽减半,算力不变。
权重以 4bit 打包存储,反量化后 NPU 依然算出 2×3=6——证明 INT4 量化这条链通了,带宽省一半而结果不错。
本环走完一整圈:目标 → 内存带宽瓶颈 → INT4 量化落地 → 仿真跑通 → 回到目标(离「完整本地化」又近了一步——权重更省内存,越接近「手机里装下大模型」)。
第 5 环:激活值也走 INT4 量化(权重、激活都 4bit,带宽再省一半),并实现 NPU.STORE 把多列结果读回——量化这条路再走深一层。