AdaFuse: Accelerating Dynamic Adapter Inference via Token-Level Pre-Gating and Fused Kernel Optimization
作者: Qiyang Li, Rui Kong, Yuchen Li, Hengyi Cai, Shuaiqiang Wang, Linghe Kong, Guihai Chen, Dawei Yin
分类: cs.AI
发布日期: 2026-03-12
备注: Accepted to AAAI 2026. arXiv admin note: substantial text overlap with arXiv:2405.17741
💡 一句话要点
AdaFuse:通过Token级预选通和融合Kernel优化加速动态Adapter推理
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 动态Adapter 推理加速 Token级预选通 融合Kernel 大型语言模型
📋 核心要点
- 现有动态Adapter方法在LLM推理时引入了显著的延迟,主要原因是CUDA Kernel启动的开销。
- AdaFuse通过Token级预选通静态化执行路径,并使用融合Kernel优化,减少了Kernel启动次数。
- 实验表明,AdaFuse在保持精度的同时,显著降低了LLM的推理延迟,加速比超过2.4倍。
📝 摘要(中文)
将动态稀疏结构(如MoE)与参数高效的Adapter(如LoRA)集成是增强大型语言模型(LLM)的强大技术。然而,这种架构增强带来了巨大的代价:尽管计算负载增加很小,但推理延迟却急剧增加,导致解码速度降低超过2.5倍。通过细粒度的性能分析,我们发现主要瓶颈不在于计算本身,而在于传统动态路由所需的分散、顺序CUDA Kernel启动带来的严重开销。为了解决这个挑战,我们提出了AdaFuse,这是一个建立在算法和底层硬件系统之间紧密协同设计之上的框架,以实现高效的动态Adapter执行。AdaFuse采用Token级预选通策略,为Token在所有Adapter层处理之前做出单一的全局路由决策,从而摆脱了传统的层级或块级路由。这种“一次决定,处处应用”的方法有效地静态化了每个Token的执行路径,为整体优化创造了机会。我们通过开发一个定制的CUDA Kernel来利用这一点,该Kernel执行融合切换操作,在一次高效的传递中将所有选定的LoRA Adapter的参数合并到骨干模型中。在流行的开源LLM上的实验结果表明,AdaFuse在精度上与最先进的动态Adapter相当,同时将解码延迟大幅降低了2.4倍以上,从而弥合了模型能力和推理效率之间的差距。
🔬 方法详解
问题定义:论文旨在解决将动态Adapter(如LoRA)集成到大型语言模型(LLM)中时,推理速度显著下降的问题。现有方法由于动态路由导致的频繁CUDA Kernel启动,产生了巨大的开销,成为了性能瓶颈。
核心思路:AdaFuse的核心思路是通过Token级别的预选通(pre-gating)来静态化每个Token的执行路径。这意味着在处理一个Token之前,就确定了该Token将使用的所有Adapter层,从而避免了传统方法中每个Adapter层都需要进行路由决策和Kernel启动的开销。
技术框架:AdaFuse框架主要包含两个关键部分:Token级预选通和融合Kernel优化。首先,Token级预选通模块为每个Token选择一组Adapter。然后,融合Kernel将选定的Adapter参数合并到骨干模型中,并在单个CUDA Kernel中执行计算。这种融合操作减少了Kernel启动的次数,从而提高了推理效率。
关键创新:AdaFuse的关键创新在于Token级预选通和融合Kernel的协同设计。Token级预选通将动态路由问题转化为静态执行路径,为后续的融合Kernel优化提供了可能。融合Kernel则充分利用了静态执行路径的优势,将多个Adapter层的计算合并到单个Kernel中,显著减少了Kernel启动的开销。与传统的层级或块级路由相比,AdaFuse的Token级预选通更加灵活,可以更好地适应不同Token的需求。
关键设计:AdaFuse的关键设计包括:(1)预选通机制的具体实现,例如使用一个轻量级的网络来预测每个Token应该激活哪些Adapter;(2)融合Kernel的优化策略,例如如何有效地将不同Adapter的参数合并到骨干模型中,以及如何避免内存访问冲突;(3)损失函数的设计,可能需要引入一些正则化项来鼓励Adapter的多样性。
🖼️ 关键图片
📊 实验亮点
AdaFuse在多个开源LLM上进行了实验,结果表明,在保持与最先进的动态Adapter相当的精度下,AdaFuse能够将解码延迟降低超过2.4倍。这一显著的性能提升证明了AdaFuse在加速动态Adapter推理方面的有效性,并为LLM的实际应用铺平了道路。
🎯 应用场景
AdaFuse可应用于各种需要高效LLM推理的场景,例如实时对话系统、在线翻译、智能客服等。通过显著降低推理延迟,AdaFuse使得在资源受限的设备上部署大型语言模型成为可能,并提升了用户体验。未来,AdaFuse的思路可以推广到其他动态稀疏模型和硬件平台。
📄 摘要(原文)
The integration of dynamic, sparse structures like Mixture-of-Experts (MoE) with parameter-efficient adapters (e.g., LoRA) is a powerful technique for enhancing Large Language Models (LLMs). However, this architectural enhancement comes at a steep cost: despite minimal increases in computational load, the inference latency often skyrockets, leading to decoding speeds slowing by over 2.5 times. Through a fine-grained performance analysis, we pinpoint the primary bottleneck not in the computation itself, but in the severe overhead from fragmented, sequential CUDA kernel launches required for conventional dynamic routing. To address this challenge, we introduce AdaFuse, a framework built on a tight co-design between the algorithm and the underlying hardware system to enable efficient dynamic adapter execution. Departing from conventional layer-wise or block-wise routing, AdaFuse employs a token-level pre-gating strategy, which makes a single, global routing decision for all adapter layers before a token is processed. This "decide-once, apply-everywhere" approach effectively staticizes the execution path for each token, creating an opportunity for holistic optimization. We capitalize on this by developing a custom CUDA kernel that performs a fused switching operation, merging the parameters of all selected LoRA adapters into the backbone model in a single, efficient pass. Experimental results on popular open-source LLMs show that AdaFuse achieves accuracy on par with state-of-the-art dynamic adapters while drastically cutting decoding latency by a factor of over 2.4x, thereby bridging the gap between model capability and inference efficiency.