一句话结论
LOWN 解决的是扩散视觉语言模型在每次去噪步骤都重复处理整张图、而视觉词元又占输入大头的问题:它用“无图预测是否与上一次图像条件预测一致”作为证书,逐步决定要不要看图、这一步解掩多少词元;不训练、不调阈值,在十个基准上保留 LLaDA-V 99.6% 的分数,平均只用 35.3% 的解码浮点运算量。
方法要点
扩散视觉语言模型把整段输入反复送进去噪网络。据论文摘要给出的测量,在其研究的基准里,视觉词元占输入的 89-97%,所以大部分解码计算花在重复看同一张图上。已有的视觉词元剪枝能少算一部分,但会丢掉被剪掉的信息,而且剩下的图仍然每步都要算。
作者先做诊断:在每一步比较 LLaDA-V 有图和无图的预测,发现去掉图后只有 22.8% 的步骤会改变一个被解掩的词元,最低只有 7.9%。这说明图不是每步都必要,固定每步看图的调度浪费很大。
LOWN 的核心是“证书”。每一步先做无图预测,把它与上一次图像条件预测比较。若一致,说明上一次带图预测仍然可信,一致的位置成为证书;证书数量决定本步解掩多少词元,不需要再跑图像分支。若不一致,才处理图像,更新图像条件预测。这个规则没有训练参数,也没有阈值,换基准不需要重新调参。
关键设计有三点:一是逐步路由,不是固定间隔看图;二是把一致性变成可复用的证书,既决定是否看图,也决定解掩数量;三是与视觉词元剪枝正交,可叠加,且能在键值缓存下运行。
last_img_pred = None
for step in denoising_steps:
noimg_pred = predict_masked(x_t, image=None)
if last_img_pred is None:
img_pred = predict_masked(x_t, image=image)
last_img_pred = img_pred
cert = positions_where(noimg_pred == img_pred)
else:
cert = positions_where(noimg_pred == last_img_pred)
if cert_is_empty_or_disagrees(noimg_pred, last_img_pred):
img_pred = predict_masked(x_t, image=image)
last_img_pred = img_pred
cert = positions_where(noimg_pred == img_pred)
k = count(cert)
x_t = unmask_topk(x_t, cert, k)
关键数字
原文摘要只给聚合结果,没有给逐数据集分数表;下表只列可核对数字,不编造单项提升。
| 数据集/评测项 | 指标 | 对比基线 | 提升/变化 |
|---|---|---|---|
| 十个基准 | 相对分数保留 | LLaDA-V | 99.6%,几乎持平 |
| 十个基准 | 平均解码浮点运算量占比 | LLaDA-V 全量解码 | 35.3%,计算明显减少 |
| 基准输入构成 | 视觉词元占输入比例 | — | 89-97% |
| 逐步图像必要性诊断 | 去图后改变解掩词元的步比例 | 有图 LLaDA-V | 平均 22.8%,最低 7.9% |
这组数字说明两件事:图确实不是每步都需要,而且省计算的空间很大;但 99.6% 是十个基准的聚合保留率,不等于每个任务都无损。
局限与前提
适用对象主要是 LLaDA 系扩散视觉语言模型。摘要说它能跨 LLaDA-based DVLMs 泛化,但没有覆盖其他扩散架构或自回归视觉语言模型。换成非 LLaDA 解码器时,证书规则是否仍然成立需要重新验证。
收益依赖“图像必要性”的分布。平均 22.8% 的步骤需要图像,最低 7.9%;如果任务里图像信息在更多步骤中起决定作用,省下的计算会变少。作者没有在摘要中单列失败案例,实际部署应按自己的任务分布压测。
证书来自“与上一次图像条件预测一致”。如果图像信息在连续多步中突然变得关键,仍要靠不一致触发图像分支;这一步会補回计算,但不保证所有样本都同样省。对精度敏感的场景,不能只看聚合分数,要逐项验证。
与视觉词元剪枝正交是优点,但 LOWN 不恢复剪枝丢掉的信息。两者叠加时,精度和延迟都要重测。不训练、不调阈值降低了接入成本,也意味着它不改变模型本身;底层模型、解码框架和键值缓存实现仍是前提。
能不能用
代码与项目页:摘要称已公开,入口在 arXiv 摘要页 的外链;权重是否公开摘要没有声明,需要看项目页确认。本文不伪造仓库地址。
本地复现需要:LLaDA-V 权重与推理代码、支持扩散式解码的框架、十个基准中的至少一个、可用的键值缓存实现。不需要训练,也不需要调阈值。建议先跑一个基准,记录分数保留率和实际解码浮点运算量,再决定是否接入自己的任务。