使用 LFM2.5-VL-DSpark 加速视觉语言模型

Hugging Face Blog 模型

摘要

今天,我们为视觉语言模型 (VLM) LFM2.5-VL-3B 发布了一个实验性的 DSpark 草稿模型,它增加了一个推测解码路径,以实现更快的推理速度,同时内存成本最小。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/09/24 15:10

通过 LFM2.5-VL-DSpark 加速视觉语言模型

来源:https://huggingface.co/blog/LiquidAI/lfm2-5-vl-dspark

今天我们发布了针对视觉语言模型 LFM2.5-VL-3B 的实验性 DSpark 草稿模型。正如我们近期发布的 LFM2.5-DSpark 草稿模型一样,它通过增加一条投机解码路径,以最小的内存占用增加换取更大的加速效果,同时不改变输出质量。

  • 更快的推理速度: 在设备端解码速度提升最高达 3.13 倍,在 H100 上提升最高达 2.66 倍;端到端加速分别高达 2.62 倍和 2.27 倍。
  • 微小的内存开销: 草稿模型增加了 2.8 亿参数,在目标模型 30 亿参数的基础上仅占 8.9%。
  • 首日支持: 提供兼容 LFM 的 DSpark 集成,适用于 llama.cpp、MLX-VLM 和 SGLang。

投机解码如何应用于视觉语言模型

视觉草稿模型采用与我们的文本 LFM2.5-DSpark 草稿模型相同的架构:它从目标模型的固定抽样层捕获隐藏状态,并基于这些状态草拟出一组包含 k 个候选词元的块。图像块和文本词元在这些层之前被投影到共享表示中,因此草稿模型无论输入模态如何,都处理相同维度的隐藏状态向量。因此推理算法与文本模型相同。 DSpark-Vision (https://cdn-uploads.huggingface.co/production/uploads/644249b08443bce4c9890a0f/P7UX63U74cbjMWDapPjFm.png)

训练与架构

我们遵循 DSpark 的方法,使用视觉语言 SFT 数据的混合数据集进行训练,并根据预期的工作负载进行加权。基于对 3、4、5 层的消融实验,草稿模型是一个简化的仅含注意力的草稿器,包含 4 层和大小为 9 的块。我们在最终混合数据上进行了 10 个 epoch 的训练,并在每个 epoch 后测量接受率,随着训练词元的增加接受率有所提升,最终达到收益递减。在推理时,我们建议根据硬件情况选择 8 或 9 的块大小。

生成的草稿模型大约有 2.8 亿参数,仅将部署模型的参数总数增加了 8.9%。

组件LFM2.5-VL-3B
解码器堆栈(4 层)1.93 亿
隐藏状态投影层2100 万
马尔可夫头6550 万
归一化 + 置信度头640 万
总计2.795 亿

在 CPU 和 GPU 上的推理加速

LFM2.5-VL-3B 的 DSpark 草稿模型首日即支持 llama.cpp、MLX-VLM 和 SGLang。

我们测量了设备端推理和 GPU 推理的性能。两种配置均使用 DSpark 块大小 8,并在六项多样化的视觉任务上进行评估,包括通用视觉问答、文本视觉问答、图像描述、图表问答、复杂推理和多轮对话,遵循 MMSpec 基准测试。

设备端推理。 使用 MLX 在 M5 Max 上,解码速度因任务而异提升了 2.30 倍至 3.13 倍,端到端延迟改善了 1.56 倍至 2.62 倍。使用 llama.cpp 在 M3 Ultra 上,解码速度提升 1.57 倍至 2.14 倍,端到端提升 1.30 倍至 1.77 倍。

截图 2026-09-24 15.49.03 (https://cdn-uploads.huggingface.co/production/uploads/644249b08443bce4c9890a0f/n638hOT2C6Yoflniz2ffs.png)

GPU 推理。 在 H100 上,同一个草稿器提供 2.04 倍至 2.66 倍更快的解码速度,端到端提升 1.64 倍至 2.27 倍。

截图 2026-09-24 15.49.27 (https://cdn-uploads.huggingface.co/production/uploads/644249b08443bce4c9890a0f/QUPP6CX21dma5OiIYcEIL.png)

投机解码在视觉工作负载上的局限性

在大型语言模型中,预填充阶段主要是计算密集型的,其成本随提示长度(次)二次增长。视觉语言模型还增加了图像首先通过视觉编码器,然后语言骨干网络处理数百个视觉词元以及文本提示的步骤。边缘设备的计算能力远低于数据中心 GPU,因此预填充在端到端延迟中占据更大比例,正如在 Apple 硅芯片和 H100 上测量的首 token 时间和解码测量所显示的那样。(M5 的单核 GPU 神经加速器缩小了这一差距)。

投机解码仅加速解码阶段,不加速视觉编码或预填充。当这些阶段已占用大部分运行时间时,即使较大的解码加速也只能带来适度的端到端提升。这就是阿姆达尔定律,整体加速受限于未被加速的工作负载部分。

如何使用 LFM2.5-VL-DSpark

使用 SGLang 运行 DSpark 草稿模型需要支持 LFM2 目标 DSpark 的 SGLang 版本(PR #40651)。启动目标模型并附加草稿模型:

python -m sglang.launch_server \
  --model-path LiquidAI/LFM2.5-VL-3B \
  --speculative-algorithm DSPARK \
  --speculative-draft-model-path LiquidAI/LFM2.5-VL-3B-DSpark \
  --speculative-draft-attention-backend flashinfer \
  --speculative-dspark-block-size 9 \
  --disable-radix-cache

然后查询位于 http://localhost:30000/v1 的 OpenAI 兼容端点。块大小从草稿模型的 config.json 读取;基线是使用相同命令但不带三个 --speculative-* 标志。

使用 llama.cpp 运行需要相应的 llama.cpp 版本(PR #29339)。

llama-server -m models/LFM2.5-VL-3B-F16.gguf \
  --mmproj models/mmproj-LFM2.5-VL-3B-F16.gguf \
  -md LFM2.5-2.6B-DSpark-F16.gguf \
  --spec-type draft-dspark --spec-draft-n-max 8 --spec-draft-n-min 0 \
  -fa on -ngl 99 -c 8192

使用 MLX-VLM 运行需要相应的版本(PR #2280)。

mlx_vlm.server --model LiquidAI/LFM2.5-VL-3B --draft-model LiquidAI/LFM2.5-VL-3B-DSpark

块大小从附属元数据中读取(n-max 会限制在此值内)。投机解码是精确的:目标模型验证每个提议的词元,因此贪婪输出与单独使用目标模型相同;每个响应的 timings 会报告 draft_n/draft_n_accepted。

快速入门

我们的视觉 DSpark 草稿模型已发布在 Hugging Face 上,提供 Safetensors 和 GGUF 格式。

通过 LFM2.5,我们正在实现 AI 随处运行的愿景。这些模型是:

  • 开放权重 —— 可自由下载、微调和部署,无限制。
  • 首日即快速可用 —— 首日支持 llama.cpp、MLX 和 SGLang。
  • 完整的系列 —— 从用于定制的基础模型,到专门的音频和视觉变体,一个架构涵盖多种用例。

我们迫不及待想看到您构建的内容。

引用

如需引用,请使用以下参考文献或 BibTeX:Liquid AI, “LFM2.5-VL-DSpark: Accelerating vision-language models on edge and beyond”, Liquid AI Blog, Sep 2026.

@article{liquidAI2026vldspark,
  author = {Liquid AI},
  title = {LFM2.5-VL-DSpark: Accelerating vision-language models on edge and beyond},
  journal = {Liquid AI Blog},
  year = {2026},
  note = {www.liquid.ai/blog/lfm2-5-vl-dspark},
}

相似文章

LFM2.5-DSpark使推理速度最高提升3.2倍

Hugging Face Blog

Liquid AI 发布了LFM2.5系列的DSpark草稿模型检查点,使推理速度在GPU和设备上最高提升3.2倍,质量损失极小,并在首日就支持llama.cpp和SGLang等开源工具。