新的2.7比特打包格式把11B视觉模型压进3.7GB,均分只掉0.083

Llama-Mobile: Efficient 2.7-Bit Quantization of VLMs

Luka Ribar, Jeevan Bhoot, Douglas Orr

cs.CV, cs.LG

2026-08-21

Graphcore与Arm用模型自生成图文对做量化感知蒸馏,把11B视觉模型压到3.7GB。四项视觉问答均分0.661,相对原版bfloat16的0.744只掉0.083,Pixel手机上解码3.8 token每秒。

这篇在解决什么

视觉语言模型放进手机,显存和算力都紧。Llama 3.2 11B Vision Instruct 的 bfloat16 权重约21.3 GB,直接装不下。量化能压体积,但到3 bit以下,直接取整或 GPTQ 都会崩;量化感知训练(QAT)有效,却通常要原训练数据,开源模型往往给不了。

Graphcore Research 和 Arm 同时卡住两件事:权重压到3 bit以下,还要在 Arm CPU 上解得快;整条流水线不能碰原训练集。

方法

格式叫 S3D8:三个有符号权重打进一个字节,共享5 bit的质心索引,外加三个符号位,折合约2.67 bit/参数,通道 scale 用 bfloat16。质心是32个三维绝对值向量,八个卦限靠符号反射得到。解码对准 Arm 的 TBL 查表,五个逻辑指令拼出三个查表索引,直接读出带符号的 INT8,再乘通道 scale。权重按输出通道打包,方便融合的反量化点积。

质心在 QAT 前用 Lloyd-Max 拟一次,之后冻结。QAT 时前向按最近质心重建,梯度走直通估计。学生用量化权重,教师是原版 bfloat16,损失是回答 token 上的 KL,不在提示上蒸馏。

数据用 ImageNet 训练集约128万张图,教师自己答。提示按模板随机抽:75%走指令模板,70%再叠一条约束(长度、格式、遵从),长度偏短中、少量长答。题库是通用看图问题,不用下游基准的图或题,避免刷榜。对照实验里,固定一句「Describe the image:」明显更差。

结果

评 VQAv2、ChartQA、DocVQA、AI2D 各固定1024条;VQAv2、ChartQA 和 AI2D 报准确率,DocVQA 报 ANLS。实现和划分与官方 model card 不完全相同,只适合相对比较。语言和视觉线性层都量化,一维参数除外。激活在 direct-cast 和 QAT 里是通道 INT8,GPTQ 基线仍是 bfloat16 激活。

格式大小bpp均分
bfloat1621340 MB16.000.744
S3D8 + QAT3569 MB2.680.661
INT + QAT3620 MB2.710.347
student-t + QAT3620 MB2.710.565
lloyd-max + QAT3459 MB2.590.436

S3D8 相对原版均分掉0.083。同样 QAT、相近体积,INT 只有0.347。分项上 S3D8 是0.702 / 0.648 / 0.740 / 0.554,原版是0.754 / 0.747 / 0.844 / 0.631,文档 ANLS 掉得最明显。约2.7 bit 时 GPTQ+S3D8 均分0.340,GPTQ+INT 只有0.018。QAT 把 S3D8 拉到0.661。文中写相对 INT 大约多压22%体积、均分相当。

端到端文件3.73 GB,含词表。Pixel 8a 单图 tile、短提示、解码100 token,中位3.8 token/s。INT8 整模装不进这台手机。Graviton4 上 S3D8 为36.8 token/s,INT8 为26.4。生成(m=1)吃带宽,S3D8 更快;预填充和视觉编码偏算力,和 INT8 打平或略慢。QAT 默认2048步、batch 128。把输出投影或视觉编码器留在 INT8,体积涨到4.5 GB,均分只多0.006。

为什么重要

这是一条可复现的端侧路线:没有原数据也能做多模态 QAT,格式按 Arm 解码路径来设计,而不是先选完网格再找 kernel。3.7 GB、Pixel 上3.8 token/s,11B级 VLM 在中端 Android CPU 上开始能跑。代价也清楚:均分掉0.083,文档类 ANLS 从0.844掉到0.740,掉得比 VQAv2 更明显。

局限与存疑

只做了 Llama 3.2 11B Vision Instruct,只测 CPU。S3D8 绑 Arm 的64项查表,别的架构要重写 kernel。评测是原版套件里四项 VQA 的1024条子集,没有长文、工具调用、多图。提示和选图还能再调。论文也写了:全层同一格式,挑层留高精度没有换来更好的精度-体积曲线。教师生成用温度0.6,蒸馏的是这台教师的答题风格,换模型要重做数据。

术语

原文与代码

相关论文

全部论文解读