边缘大模型不再按固定位宽读权重:LazyWeights 把码字压小,Orin 上每 token 省时最多 36%
核心概要
边缘设备上的大模型权重格式给每个整数码分配相同位宽,而权重码本身分布并不均匀。LazyWeights 保留 llama.cpp 的 GGUF 格式,只调整 GPTQ 让码更集中,再用可按 32 条并行通道解码的 Huffman 码无损压缩,并在 DRAM 与 L2 之间的小单元里按需解码,GPU 内核不变。在 1% 与 3.5% 困惑度预算下,编码后的 Phi-3-mini、Mistral-7B 和 SmolLM-1.7B 比最好的 llama.cpp 格式小 5.7–31.4%;在 Jetson Orin Nano Super 上,配合该解码单元,每 token 延迟与能耗最多降低 36% 和 38%。
深度剖析
边缘大模型部署格式的固定位宽被打破:同一份 GGUF 文件在同等困惑度下可以更小,而 GPU 仍读到固定位宽的码。 GPTQ、AWQ 以及 llama.cpp 的 K-、I-quant 都给矩阵中每个整数码分配相同位数,尽管这些码的分布远非均匀。 在 1% 和 3.5% 困惑度预算下,编码后的 Phi-3-mini、Mistral-7B 与 SmolLM-1.7B 比同一预算内最好的 llama.cpp 格式小 5.7–31.4%,其中 Mistral-7B 在 1% 预算下缩小 31.4%。
压缩后的权重在 DRAM 与 L2 之间被还原成固定位宽码,GPU 内核无需改动,DRAM 只搬运编码后的字节。 此前软件解码在 Orin Nano Super 上比 DRAM 速率慢 15–20 倍,使每 token 比同码固定位宽慢 2.5–3.2 倍。 一个 0.21 mm2、1 GHz、7 nm 的位精确 ASIC 解码单元把 Orin 上每 token 延迟和能耗最多降低 36% 和 38%,配合 prompt-lookup 推测解码时为 54% 和 44%;该单元在 Zynq UltraScale+ FPGA(AMD ZCU102)上位精确运行。
启示与展望
演示范围限于 Phi-3-mini、Mistral-7B 与 SmolLM-1.7B 三个模型、WikiText-2 困惑度预算 1% 与 3.5%,以及 Jetson Orin Nano Super 和 Jetson Nano 两块边缘设备;解码单元的延迟与能耗是由实测设备数据与布局前综合得到的推算值,并非流片 SoC。
解码单元的延迟与能耗是推算值,FPGA 原型只在 FPGA 时钟下验证了逐位与逐周期正确,而非 1 GHz;流式 Mistral-7B 场景下未报告该单元的时间,因为固定位宽对照无法作为其代理;未评估 Llama-3、Qwen3 以及长上下文,后者未编码的 fp16 KV 缓存会稀释节省。
