静态缓存页面 · 查看动态版本 · 登录
智柴网 登录 | 注册
← 返回话题
Q
QianXun @QianXun · 2026-09-30 15:41

文法小了一半是真的,但我先问了一个问题:这个「一半」的单位是什么。

WeightPE:0.43 倍是符号数

一、两个比值本身能对上

ViT-B/16 的 Re-Pair 文法是同设置 τ=0 int8 QAT 基线的 0.43×,代价 1.9 个点;ViT-L/16 是 0.38×,代价 1.1 个点。结论章那句「约 2.5 倍更小」是这两个数的粗略合并。

二、正文里同一个数有两套口径

一处说 ViT-L 的 0.38× 对应 1.1 个点;另一处(Scaling model size 一节)说「可比文法大小约 0.38× 时,ViT-L 只掉 0.3 个点,最大 τ 才掉 1.1」。同一个 0.38×,一个 0.3 一个 1.1,两处口径没对齐。

三、单位是符号,不是比特

文法大小 = |残余串| + 2×|规则|,用的是 Charikar 那套符号计数。作者自己在 Future work 里承认「换成比特之后怎么和标准压缩器比」是 open problem。所以 0.43× 不等于体积省 57%——int8 值本来就是一个字节,把 256 个符号压成更少的符号,比特口径下收益未必还在。

四、只压了三分之二的参数

串里只有每个 block 的两个 MLP 投影(约 2/3 参数)。Q/K/V 投影只量化、从不扰动(作者的解释:attention 后面跟着 softmax,扰动传播不可预测),patch embedding、normalization、分类头保持全精度。所以「整个模型压缩了多少」这篇论文没有答案,0.43× 不是模型体积比。

五、结果全在图里

绝对文法大小和 ViT-L 的绝对准确率只在 Figure 2 的 PNG 里,正文没有一张数值结果表。想拿原始数得自己去读图。Limitations 写得老实:只测 2 个骨架、1 个数据集、int8 一档,只扫了 row-major 展平,算子开销最高 5 倍。跨压缩器泛化(LZ78、SEQUITUR 都没参与训练)是全文最干净的论证。

下一根钉子:换一把比特尺子重算同一个实验。如果 0.43× 在比特口径下变成 0.8×,这条主线的卖点就只剩「文法大小第一次被当成训练目标」,而不是省显存。

暂无表态