← 最新论文
🤖 machine learning

Efficient On-Device Diffusion LLM Inference with Mobile NPU

本文介绍了 llada.cpp,这是首个感知 NPU 的推理框架,通过采用多块投机采样、双路径渐进式修正以及交换优化的内存运行时,来加速端侧扩散大语言模型(diffusion LLMs),从而克服移动端硬件限制,并实现相比 CPU 基准高达 42 倍的延迟降低。

原作者: Tuowei Wang, Yanfan Sun, Ju Ren

发布于 2026-06-15
📖 1 分钟阅读☕ 轻松阅读

原作者: Tuowei Wang, Yanfan Sun, Ju Ren

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你的智能手机是一个繁忙的厨房,而厨师(AI)正试图写一个故事。

问题所在:那个慢吞吞、一次只能切一个词的厨师

传统的 AI 模型(比如你手机里的那些)是一次写一个词的。这就像一个厨师必须先切好洋葱,然后等待炉灶加热,接着再切胡萝卜,然后再次等待。即使炉灶火力很猛,由于厨师一次只能做一件事,导致整体进度非常缓慢。这使得在手机上生成长文本时感觉反应迟钝,并且非常耗电。

新的想法:“扩散”厨师

一种被称为**扩散大语言模型(Diffusion Large Language Model, dLLM)**的新型 AI 试图做出改变。它不再是一个词一个词地写,而是从一整页“噪声”(随机的乱码)开始,尝试同时将它们清理成完整的句子。这就像一个厨师直接把一堆食材扔在柜台上,然后尝试同时将它们排列成一份完美的沙拉。

这听起来很棒,因为它能更好地利用手机中超快的“NPU”(神经网络处理器)——这是一种专门为大规模并行计算设计的芯片。然而,这里有一个陷阱:

  1. “空锅”问题: 当厨师接近完成沙拉时,需要修正的食材越来越少。强大的 NPU 最终会处于闲置状态,因为它没有足够的工作要做,从而浪费了它的速度。
  2. “哎呀,改主意了”问题: 有时厨师摆好了一个词,但随后意识到:“等等,这跟下一句不搭。”于是 AI 必须回头去修正它。在快速的 NPU 上进行这种操作非常混乱,会拖慢整体速度。
  3. “小冰箱”问题: NPU 有一个非常小的专用“冰箱”(内存),用来存放准备好的食材。如果食谱太大,厨师就不得不不断地在小冰箱里交换食材,这既费时又浪费能量。

解决方案:llada.cpp

作者构建了一个名为 llada.cpp 的新系统来解决这三个问题。你可以把它看作一套新的厨房规则,让厨师能够高效地使用强大的 NPU。

1. 多块投机采样(Multi-Block Speculative Decoding):“预看下一份食谱”

类比: 想象厨师正在完成当前的沙拉(区块 A),但因为只剩下一片叶子要切,NPU 开始感到无聊了。与其等待,系统会说:“嘿,不如我们现在就开始准备下一份沙拉(区块 B)的食材吧,以防万一。”
原理: 即使当前的区块还没有 100% 完成,系统也会偷偷开始处理未来的词。这让强大的 NPU 保持忙碌且得到充分利用,因此不会处于闲置状态。如果未来的词是正确的,那就太好了!如果不对,系统只需丢弃它们并继续即可。

2. 双路径渐进式修正(Dual-Path Progressive Revision):“快车道 vs. 慢车道”

类比: NPU 是一辆一级方程式赛车:它极快,但转弯性能较差;CPU 则是一辆可靠的慢速 SUV:它擅长进行细微、复杂的调整。
原理: 当 AI 对某个词很有信心时,NPU 会保留它。但如果 AI 对某个词不确定,需要“改主意”,llada.cpp 不会让快速的 NPU 停下来。相反,它会将这些“修正工作”悄悄发送给后台更灵活、更缓慢的 CPU SUV。NPU 继续带着新词向前冲刺,而 CPU 则在后台默默修复旧的词。

3. 交换优化内存运行时(Swap-Optimized Memory Runtime):“有条理的储藏室”

类比: NPU 的小冰箱太小了,如果你只是随机地把食材扔进去,你会花大量时间通过开关门来更换东西。
原理: llada.cpp 扮演着超级有序的储藏室管理员的角色。它会提前查看整个食谱,弄清楚哪些食材现在必须在冰箱里,哪些可以稍后再说。它还会趁厨师正在烹饪时,提前准备好下一批食材,这样冰箱门就不会关闭太久。这消除了因移动数据而产生的“等待时间”。

结果

作者在真实的智能手机(如 OnePlus Ace5 Pro)上进行了测试。

  • 速度: 他们发现,相比于旧的方法,llada.cpp 让 AI 在手机上的运行速度提升了 17 到 42 倍
  • 质量: 写出的故事与之前一样出色;速度的提升并没有以牺牲准确性为代价。
  • 电池: 由于 NPU 能够快速完成工作且不会闲置,手机整体消耗的能量更少。

简而言之,llada.cpp 是一个聪明的管理者,它教会了手机的 AI 如何高效利用其强大的大脑(NPU)而不被交通拥堵所困,让移动端 AI 的体验变得即时且响应迅速。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →