FLASH: Latent-Aware Semi-Autoregressive Speculative Decoding for Multimodal Tasks

📄 arXiv: 2505.12728v2 📥 PDF

作者: Zihua Wang, Ruibo Li, Haozhe Du, Joey Tianyi Zhou, Yu Zhang, Xu Yang

分类: cs.CV, cs.MM

发布日期: 2025-05-19 (更新: 2025-05-25)

备注: This preprint is under review

🔗 代码/项目: GITHUB


💡 一句话要点

提出FLASH:一种面向多模态任务的潜在感知半自回归推测解码框架,加速LMM推理。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 多模态学习 推测解码 视觉语言模型 模型加速 半自回归解码 token压缩 视频理解

📋 核心要点

  1. LMM推理速度慢,尤其是在处理大量低信息密度的视觉token时,成为模型部署的瓶颈。
  2. FLASH通过潜在感知的token压缩和半自回归解码策略,优化draft模型,提高解码效率和接受率。
  3. 实验结果表明,FLASH在视频字幕和视觉指令调整等任务上,显著优于现有推测解码方法,加速效果明显。

📝 摘要(中文)

大型语言模型和多模态模型(LLM和LMM)展现出强大的推理能力,但常常受限于缓慢的解码速度。这个问题在LMM中尤为突出,因为视觉输入通常包含比文本更多的token,但信息密度更低。为了提升性能,视觉tokenization的粒度越来越细,这进一步加剧了该问题。推测解码通过使用较小的draft模型生成候选token,然后由目标模型选择性地验证,从而在不牺牲输出质量的前提下提高速度,已被证明能有效加速LLM推理。虽然这种策略已被扩展到LMM,但现有方法在很大程度上忽略了视觉输入的独特属性,并且仅仅依赖于基于文本的draft模型。本文提出了FLASH(Fast Latent-Aware Semi-Autoregressive Heuristics),一种专门为LMM设计的推测解码框架,它利用多模态数据的两个关键属性来设计draft模型。首先,为了解决视觉token中的冗余,我们提出了一种轻量级的潜在感知token压缩机制。其次,考虑到视觉对象通常在场景中共现,我们采用半自回归解码策略,在每次前向传播中生成多个token。这些创新加速了draft解码,同时保持了较高的接受率,从而加快了整体推理速度。实验表明,FLASH在单模态和多模态设置中都显著优于先前的推测解码方法,在视频字幕任务上实现了高达2.68倍的加速,在视觉指令调整任务上实现了高达2.55倍的加速。代码已开源。

🔬 方法详解

问题定义:论文旨在解决多模态模型(LMM)推理速度慢的问题,尤其是在处理视觉输入时,由于视觉token数量多且信息密度低,导致推理效率低下。现有的推测解码方法主要针对文本数据,忽略了视觉数据的特性,因此在LMM上的加速效果有限。

核心思路:FLASH的核心思路是设计一个专门为LMM优化的draft模型,该模型能够有效地处理视觉token,并利用视觉场景中对象共现的特性进行半自回归解码。通过潜在感知的token压缩减少视觉token的冗余,并使用半自回归解码一次生成多个token,从而提高draft模型的解码速度和准确性。

技术框架:FLASH框架主要包含以下几个模块:1) 视觉token压缩模块:利用轻量级的神经网络对视觉token进行压缩,减少冗余信息。2) 半自回归draft模型:基于压缩后的视觉token和文本上下文,采用半自回归的方式生成多个候选token。3) 目标模型验证模块:使用目标LMM对draft模型生成的候选token进行验证,选择接受的token。4) 自适应调整机制:根据验证结果动态调整draft模型的参数,提高接受率。

关键创新:FLASH的关键创新在于:1) 提出了潜在感知的token压缩机制,能够有效地减少视觉token的冗余,提高draft模型的解码效率。2) 采用了半自回归解码策略,利用视觉场景中对象共现的特性,一次生成多个token,进一步加速了解码过程。3) 设计了专门为LMM优化的draft模型,能够更好地适应多模态数据的特性。

关键设计:在视觉token压缩模块中,可以使用轻量级的卷积神经网络或Transformer结构进行特征提取和压缩。半自回归draft模型可以使用Transformer decoder结构,并采用mask机制控制token的生成顺序。目标模型验证模块可以使用目标LMM的交叉熵损失函数来评估候选token的质量。自适应调整机制可以使用强化学习或梯度下降等方法来优化draft模型的参数。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,FLASH在视频字幕任务上实现了高达2.68倍的加速,在视觉指令调整任务上实现了高达2.55倍的加速,显著优于现有的推测解码方法。FLASH在保持输出质量的同时,有效地提高了LMM的推理速度,证明了其在多模态任务中的有效性。

🎯 应用场景

FLASH可应用于各种需要快速多模态推理的场景,例如视频理解、图像描述、视觉问答、机器人导航等。该技术能够显著提升LMM的推理效率,降低计算成本,使其更容易部署在资源受限的设备上,并促进多模态人工智能在实际应用中的普及。

📄 摘要(原文)

Large language and multimodal models (LLMs and LMMs) exhibit strong inference capabilities but are often limited by slow decoding speeds. This challenge is especially acute in LMMs, where visual inputs typically comprise more tokens with lower information density than text -- an issue exacerbated by recent trends toward finer-grained visual tokenizations to boost performance. Speculative decoding has been effective in accelerating LLM inference by using a smaller draft model to generate candidate tokens, which are then selectively verified by the target model, improving speed without sacrificing output quality. While this strategy has been extended to LMMs, existing methods largely overlook the unique properties of visual inputs and depend solely on text-based draft models. In this work, we propose \textbf{FLASH} (Fast Latent-Aware Semi-Autoregressive Heuristics), a speculative decoding framework designed specifically for LMMs, which leverages two key properties of multimodal data to design the draft model. First, to address redundancy in visual tokens, we propose a lightweight latent-aware token compression mechanism. Second, recognizing that visual objects often co-occur within a scene, we employ a semi-autoregressive decoding strategy to generate multiple tokens per forward pass. These innovations accelerate draft decoding while maintaining high acceptance rates, resulting in faster overall inference. Experiments show that FLASH significantly outperforms prior speculative decoding approaches in both unimodal and multimodal settings, achieving up to \textbf{2.68$\times$} speed-up on video captioning and \textbf{2.55$\times$} on visual instruction tuning tasks compared to the original LMM. Our code is available \href{https://github.com/ZihuaEvan/FlashSD/}{[here]}.