利用移动NPU的高效端侧扩散大语言模型推理
摘要
本文提出了llada.cpp,一种NPU感知推理框架,用于在智能手机上加速扩散大语言模型(dLLM)。它引入了三种技术——Multi-Block Speculative Decoding、Dual-Path Progressive Revision和Swap-Optimized Memory Runtime——以使dLLM推理与移动NPU特性对齐,实现了相比CPU基线17-42倍的延迟降低。
arXiv:2606.13740v1 公告类型:新
摘要:扩散大语言模型(dLLM)通过并行去噪多个token来加速生成,使其对延迟敏感的移动端推理具有吸引力。然而,重复去噪在智能手机上引入了大量计算。移动神经处理单元(NPU)提供高吞吐量的密集矩阵计算,但高效利用它们仍然具有挑战性:token提交缩小了每块的有效工作负载,token修订使KV缓存复用复杂化,有限的NPU可见地址空间导致昂贵的重映射和数据传输开销。
本文提出了llada.cpp,这是首个用于在智能手机上加速dLLM的NPU感知推理框架。llada.cpp通过三种技术使逐块的dLLM推理与移动NPU的执行特性对齐。(1)Multi-Block Speculative Decoding利用推测的未来块token来填充当前块解码后期缩减的工作负载。(2)Dual-Path Progressive Revision使已提交的token在稳定前可被修订,并通过CPU端路径刷新不稳定token,而不会阻塞密集的NPU执行。(3)Swap-Optimized Memory Runtime压缩NPU可见地址布局,并将数据准备与NPU计算重叠,以减少重映射和传输开销。我们将llada.cpp实现为一个端到端框架,并在多种硬件平台和dLLM工作负载上进行了评估。llada.cpp在复用前缀KV缓存的情况下,将LLaDA-8B的生成延迟相比CPU基线降低了17-42倍,同时保持了生成质量。
查看缓存全文
缓存时间: 2026/06/15 09:07
# 利用移动 NPU 实现高效的设备端扩散 LLM 推理 来源:https://arxiv.org/html/2606.13740 ,Yanfan Sun北航中国 and Ju Ren清华大学中国 ###### 摘要。 扩散大语言模型(dLLM)通过并行去噪多个 token 来加速生成,使其适用于延迟敏感的移动推理。然而,重复的去噪过程在智能手机上引入了大量计算。移动神经处理单元(NPU)提供高吞吐量的密集矩阵计算,但高效利用它们仍然充满挑战:token 提交导致每块有效工作负载缩减,token 修订使 KV 缓存复用复杂化,而 NPU 可见地址空间有限则带来昂贵的重映射和数据传输开销。 在本文中,我们提出了 llada.cpp,这是首个面向智能手机上加速 dLLM 的 NPU 感知推理框架。llada.cpp 通过三种技术将块式 dLLM 推理与移动 NPU 的执行特征对齐:(1)多块推测解码通过推测性地引入未来块的 token 来填补当前块解码后期阶段缩减的工作负载。(2)双路径渐进修订使已提交的 token 在稳定前保持可修订状态,并通过 CPU 侧路径刷新不稳定 token,同时不影响密集的 NPU 执行。(3)交换优化内存运行时间通过压缩 NPU 可见地址布局并将数据准备与 NPU 计算重叠,以减少重映射和传输开销。我们将 llada.cpp 实现为一个端到端框架,并在多种硬件平台和 dLLM 工作负载上进行了评估。llada.cpp 在保留生成质量的同时,相较于使用前缀 KV 缓存复用的 CPU 基线,将 LLaDA-8B 的生成延迟降低了 17 倍至 42 倍。 ## 1. 引言 大语言模型(LLM)正成为移动计算的核心界面,支持个性化助手(Liu et al., 2024 (https://arxiv.org/html/2606.13740#bib.bib2); Wang et al., 2023 (https://arxiv.org/html/2606.13740#bib.bib1))、多模态交互(Chu et al., 2023 (https://arxiv.org/html/2606.13740#bib.bib3); Zhang et al., 2025 (https://arxiv.org/html/2606.13740#bib.bib4))以及上下文感知自动化(Wen et al., 2024 (https://arxiv.org/html/2606.13740#bib.bib5); Lee et al., 2024 (https://arxiv.org/html/2606.13740#bib.bib6))等应用。尽管取得了成功,LLM 推理仍然以自回归解码为主(Vaswani et al., 2017 (https://arxiv.org/html/2606.13740#bib.bib7)),这种逐 token 生成输出的方式导致延迟随输出长度线性增长。在移动设备上,有限的内存带宽和严格的功耗预算加剧了这种延迟压力,阻碍了交互式 LLM 应用的发展。 最近的扩散大语言模型(dLLM)(Nie et al., 2026 (https://arxiv.org/html/2606.13740#bib.bib12); Austin et al., 2021 (https://arxiv.org/html/2606.13740#bib.bib11); Khanna et al., 2025 (https://arxiv.org/html/2606.13740#bib.bib13))提供了一种有前景的替代方案。dLLM 不是逐个生成 token,而是迭代地对一个掩码序列进行去噪,并并行更新多个 token 位置。为了使这种迭代过程对长序列服务实用,现有系统常采用块式解码(Arriola et al., 2025 (https://arxiv.org/html/2606.13740#bib.bib14)),即将输出序列划分为连续的块(例如,32 个 token)。块从左到右依次解码,以实现前缀键值(KV)缓存的复用,而每个块内的 token 则通过迭代去噪并行更新。这种非自回归的公式暴露了序列级别的并行性,并将延迟瓶颈从输出长度转移到去噪步骤的数量。 虽然 dLLM 减少了 token 级别的顺序依赖,但它们引入了新的性能瓶颈:重复的并行计算。一个 dLLM 通常执行多次去噪迭代,每次都需要对整个序列进行昂贵的 Transformer 计算。此外,由于 dLLM 迭代会反复修订 token 状态,在块内跨迭代复用 KV 缓存变得困难。在资源受限的移动设备(如智能手机)上,这种重复的并行计算可能带来巨大的计算负担。如图 1 (https://arxiv.org/html/2606.13740#S1.F1) 所示,这种开销可能抵消 dLLM 相对于自回归解码的优势。 参考图注 图 1. 在搭载 SM8750 SoC 的 OnePlus Ace5 Pro 上,128 token 输出的端到端生成加速比。在本文中,我们识别出一个关键的架构机遇:dLLM 的并行解码特性与现代移动神经处理单元(NPU)(Mahurin, 2023 (https://arxiv.org/html/2606.13740#bib.bib8); Rico et al., 2024 (https://arxiv.org/html/2606.13740#bib.bib9))的张量计算能力高度契合。移动 NPU 旨在以高吞吐量和能效执行密集张量操作。例如,高通报告称,Snapdragon X Elite 中的 Hexagon NPU 可提供高达 45 TOPS INT8 性能(Qualcomm Technologies, Inc., 2023 (https://arxiv.org/html/2606.13740#bib.bib10))。自回归解码在每个生成步骤暴露的并行性有限,而块式 dLLM 推理则自然地在每个块内和跨去噪迭代中创建了大规模的并行工作负载。这一观察为设备端加速创造了新机遇:通过围绕移动 NPU 的执行特征重新思考 dLLM 推理,我们可以将 dLLM 重复的并行计算从劣势转化为优势。 然而,在智能手机上高效实现 dLLM 推理需要的不只是简单地将计算卸载到 NPU。尽管移动 NPU 非常适合密集张量操作,但它们偏好静态、规则且形状稳定的执行,而块式 dLLM 推理本质上是动态的。这种不匹配体现在三个层面:(1)在 token 提交层面,随着去噪过程在每个块中留下的掩码 token 减少,有效工作负载缩小,导致 NPU 在后期阶段的前向传播效率低下。(2)在 token 修订层面,已提交的 token 在获取更多上下文后可能仍需要修订,这引入了稀疏且不规则的 KV 缓存更新。(3)在内存访问层面,dLLM 推理的工作集通常超出 NPU 有限的可见地址空间,迫使频繁地与系统内存进行数据交换,并带来昂贵的映射和传输开销。 为了解决这些挑战,我们提出了 llada.cpp,这是首个面向智能手机上加速 dLLM 的 NPU 感知推理框架。llada.cpp 的核心思想是将 dLLM 的并行解码特性与移动 NPU 强大的张量计算能力对齐,将硬件利用率的提升转化为更低的生成延迟。具体来说,llada.cpp 引入了三个关键组件: (1)多块推测解码提升了去噪后期的 NPU 利用率。llada.cpp 推测性地引入未来块的 token 以维持足够的并行工作负载,同时通过逐块接受机制保证原始的提交顺序。 (2)双路径渐进修订实现了高效的 token 修订,且不会中断密集的 NPU 执行。llada.cpp 使用细粒度算法识别需要修订的 token,并将相应的更新和 logits 计算卸载到专用的 CPU 侧内核。 (3)交换优化内存运行时间针对由 NPU 有限可见地址空间引起的内存访问瓶颈。llada.cpp 利用图级别的生存期和访问顺序信息构建紧凑的 VA 布局,减少碎片化和重映射开销,并将数据准备与 NPU 执行流水线化,以隐藏数据移动延迟。 我们将 llada.cpp 实现为端到端框架,并在多种硬件平台和 dLLM 工作负载上进行了评估。llada.cpp 在使用前缀 KV 缓存复用的情况下,将 LLaDA-8B 的端到端延迟相较于 CPU 基线降低了 17 倍至 42 倍,同时保留了生成质量。值得注意的是,llada.cpp 在 LLaDA-8B 上实现了相较于同等规模自回归模型最高 3.9 倍的加速,突显了扩散并行生成在移动设备上的优势。 总之,本文做出以下贡献: - •我们识别了静态移动 NPU 执行与动态块式 dLLM 推理之间的不匹配,并描述了在 token 提交、token 修订和内存访问方面的三个关键挑战。 - •我们提出了 llada.cpp,这是首个面向智能手机上加速 dLLM 的 NPU 感知推理框架,结合了跨 NPU、CPU 和系统内存的算法与系统级优化。 - •我们在多种硬件平台和 dLLM 工作负载上评估了 llada.cpp,表明它能有效地将 dLLM 并行性转化为比自回归和纯 CPU 基线更低的智能手机延迟。 ## 2. 背景与动机 ### 2.1. 扩散大语言模型 自回归大语言模型(LLM)以严格的从左到右方式生成文本,每个解码步骤仅基于先前生成的 token 预测下一个 token。这种范式已成为当前 LLM 中主要的生成方法,并自然地支持带有 KV 缓存复用的增量解码。然而,其顺序依赖性暴露了有限的 token 级别并行性。因此,即使有 token 级别的优化,生成延迟从根本上仍然与输出长度相关。 参考图注 图 2. 解码范式对比:(a) 自回归,(b) 扩散,以及 (c) 块式扩散 LLM 解码。扩散大语言模型(dLLM)提供了自回归生成的替代方案。如图 2 (https://arxiv.org/html/2606.13740#S2.F2)(b) 所示,它们通过迭代对掩码 token 序列进行去噪来生成文本,而不是逐个生成 token。在每一步,模型并行预测未解决的位置,并更新一个基于置信度选择的子集,逐步将序列精炼为最终输出。这将延迟从输出长度转移到去噪步骤的数量,同时将逐 token 解码转换为序列级别的矩阵工作负载,从而更好地利用加速器并减少生成开销。这些特性使得 dLLM 对移动设备上延迟敏感的场景特别有吸引力。 块式解码。原始 dLLM 解码的一个关键限制是缺乏有效的 KV 缓存复用。由于模型反复对一个 token 状态可能随迭代变化的序列进行去噪,缓存的 KV 状态可能迅速变得陈旧,迫使运行时对序列的大部分重新计算注意力状态。块式解码解决了这个问题,使 dLLM 生成对长序列更加实用。如图 2 (https://arxiv.org/html/2606.13740#S2.F2)(c) 所示,输出被划分为连续的块,而不是反复对整个增长中的序列进行去噪。块从左到右解码,而当前块内的 token 则通过多个步骤并行去噪。这种结构将重复计算局部化,并实现了跨块边界的 KV 缓存复用。因此,块式解码保留了块内的扩散并行性,同时在块间施加了结构化的从左到右工作流。 KV 缓存刷新。虽然块式解码实现了跨已完成块的 KV 缓存复用,但当前块内的 KV 状态本质上是动态的。与自回归解码(其中生成的 token 一旦附加到前缀后便固定)不同,dLLM 解码在多个去噪步骤中反复精炼掩码 token。随着 token 身份的变化,在早期步骤中计算出的相应 KV 状态可能变得陈旧。表 1 (https://arxiv.org/html/2606.13740#S2.T1) 显示,复用这种陈旧的 KV 缓存条目可能导致注意力操作基于过时的表示,使模型基于不一致的上下文进行条件生成,从而降低生成质量。因此,确定何时以及如何刷新 KV 缓存成为实用 dLLM 系统的关键设计问题。 表 1. 块式解码对精度的影响。基线遵循原始 dLLM 解码,反复对整个增长中的序列进行去噪,而块式解码则复用已完成块的前缀 KV 缓存。 表 2. 在 CPU 和 NPU 上,对 32-128 个活跃 token 进行一次 LLaDA-8B 去噪步骤的延迟。 ### 2.2. 机遇:移动神经处理单元 现代移动设备越来越多地将神经处理单元(NPU)作为设备端深度学习推理的一等计算引擎。与提供轻量灵活计算用于控制密集型任务的 CPU,以及主要针对图形渲染优化且常涉及高成本同步的 GPU 不同,NPU 采用专用数据路径高效执行密集张量操作(Chen et al., 2025a (https://arxiv.org/html/2606.13740#bib.bib15))。如表 2 (https://arxiv.org/html/2606.13740#S2.T2) 所示,在正则的 LLaDA 去噪工作负载(如矩阵乘法)上,NPU 相较于 CPU 表现出明显的性能优势。 关键洞察。在这项工作中,我们观察到块式 dLLM 解码自然暴露了一个与移动 NPU 执行模型高度契合的计算单元。自回归解码通常每步只推进一个 token,导致矩阵形状小而 NPU 利用率低。相比之下,一个 dLLM 块包含多个一起去噪的 token 位置,可以视为一个小型 token 批次。这使得块式去噪能够映射到 NPU 上的密集矩阵工作负载。由于移动 NPU 在常规 LLM 推理期间通常处于空闲状态,这种映射使得 dLLM 生成能够利用几乎免费的计算能力,在隐藏并行去噪额外计算的同时提高生成效率。 参考图注 图 3. 在 SM8750 SoC 上单个 FFN 下投影矩阵乘法的延迟。(a) 在 CPU、GPU 和 NPU 上,对 4 到 128 个 token 的实测延迟。(b) 在 CPU 和 NPU 上,将相同的 32 个活跃 token 处理为不同大小的稀疏组的实测延迟。尽管存在这一机遇,但有效利用移动 NPU 需要理解其计算和内存特性。通过全面评估,我们的分析确定了以下四个关键属性: (1)阶梯矩阵性能。在计算方面,移动 NPU 的大部分吞吐量来自固定大小的分块矩阵引擎(如脉动阵列),这些引擎在硬件偏好的块形状上运行。当张量维度小于块大小或不可整除时,NPU 编译器会插入内部填充以形成对齐的块,这些填充元素仍会消耗矩阵引擎周期。因此,矩阵乘法延迟呈现出阶梯状模式,而非随张量大小平滑扩展。如图 3 (https://arxiv.org/html/2606.13740#S2.F3)(a) 所示,在同一块对齐范围内,延迟几乎保持不变,但一旦张量形状越过块边界,延迟便会急剧增加。 (2)弱向量支持。除了分块矩阵计算,移动 NPU 对不规则或向量风格操作的支持要弱得多。虽然 NPU 通过专用矩阵引擎在矩阵乘法方面表现出色,但其通用向量单元通常提供的计算吞吐量和内存带宽要低得多。如图 3 (https://arxiv.org/html/2606.13740#S2.F3)(b) 所示,向量风格和不规则操作在 NPU 上的效率远低于密集的分块矩阵内核。
相似文章
Quant.npu:通过全静态量化实现端侧大语言模型的高效移动NPU推理
Quant.npu 提出了一种面向移动 NPU 的全静态量化框架,利用可学习参数和旋转矩阵,无需运行时重新计算即可实现高效的低比特大语言模型推理,延迟最高降低 15.1%。
Prefilling-dLLM:扩散语言模型中长上下文推理的预测性预填充
本文提出Prefilling-dLLM,一种无需训练的框架,它将前缀分割成块并缓存KV表示,在扩散语言模型的长上下文推理中实现了最先进的质量和高达28倍的加速。
@_avichawla: 研究人员发现了一种让大语言模型(LLM)提速 8.5 倍的方法!(且不影响准确度)投机解码相当有效……
研究人员提出了 DFlash 技术,这是一种利用块扩散模型(block diffusion models)进行投机解码的方法,可在不损失准确度的情况下,将大语言模型推理速度提升高达 8.5 倍。该技术已集成到 vLLM 和 SGLang 等主要框架中。
基于时空并行解码与置信度外推的高效扩散LLMs
本文介绍了时空并行解码(TSPD)和置信度外推(CE),通过动态判断令牌何时收敛并预测logit趋势,来加速基于扩散的大语言模型的推理,减少不必要的去噪步骤,同时保持输出质量。
$R^2$-dLLM:通过时空冗余削减加速扩散大语言模型
R²-dLLM 引入时空冗余削减技术,在保持生成质量的同时将扩散 LLM 的解码步数最多压缩 75%,直击部署瓶颈。