CoreInfer: Accelerating Large Language Model Inference with Semantics-Inspired Adaptive Sparse Activation
作者: Qinsi Wang, Saeed Vahidian, Hancheng Ye, Jianyang Gu, Jianyi Zhang, Yiran Chen
分类: cs.LG, cs.CL
发布日期: 2024-10-23
备注: Project page: https://wangqinsi1.github.io/coreinfer_page/
💡 一句话要点
CoreInfer:基于语义的自适应稀疏激活加速大语言模型推理
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大语言模型 稀疏激活 模型推理加速 语义信息 核心神经元
📋 核心要点
- 现有自适应稀疏激活方法依赖token级别的MLP预测,导致激活图频繁变化,限制了加速效果。
- CoreInfer提出句子级核心神经元概念,利用语义相关性预测核心神经元,无需MLP,降低计算开销。
- 实验表明,CoreInfer在NVIDIA TITAN XP GPU上,相比Huggingface和PowerInfer分别实现了10.33倍和2.72倍的加速。
📝 摘要(中文)
大型语言模型(LLMs)拥有数十亿参数,引发了人工智能应用的新浪潮。然而,其在推理过程中产生的高计算成本和内存需求带来了重大挑战。自适应稀疏激活推理通过仅激活每个token的一小部分神经元来加速模型推理,且不降低性能,为资源受限的硬件设备展现了巨大潜力。然而,现有方法基于单个token使用额外的MLP来预测激活的神经元,导致激活图频繁变化和资源调用,限制了稀疏激活的加速效果。本文提出了CoreInfer,一种基于句子级别预测的无MLP自适应稀疏激活推理方法。具体来说,我们提出了句子级核心神经元的概念,即对于给定句子最关键的神经元子集,并从经验上证明了其有效性。为了确定核心神经元,我们探索了核心神经元与句子语义之间的相关性。我们发现核心神经元在与句子语义的关系中表现出稳定性和相似性——这是先前研究忽略的见解。基于这一发现,我们进一步设计了两种基于语义的方法来预测核心神经元,以适应不同的输入场景。在CoreInfer中,核心神经元在预填充阶段确定,并在编码阶段固定,从而实现零成本的稀疏推理。我们在各种模型和任务中评估了CoreInfer的模型泛化和任务泛化能力。值得注意的是,在NVIDIA TITAN XP GPU上,CoreInfer相比Huggingface实现和PowerInfer分别实现了10.33倍和2.72倍的加速。
🔬 方法详解
问题定义:现有自适应稀疏激活方法在加速大语言模型推理时,依赖于token级别的预测,使用额外的MLP来确定每个token需要激活的神经元。这种方法导致激活图频繁变化,增加了计算开销和资源调用,从而限制了稀疏激活带来的加速效果。现有方法的痛点在于token级别预测的低效性。
核心思路:CoreInfer的核心思路是利用句子级别的语义信息来预测核心神经元,即对于一个给定的句子,只激活对其语义表达至关重要的神经元子集。通过在句子级别进行预测,并固定这些核心神经元在整个编码阶段的使用,可以避免激活图的频繁变化,从而降低计算开销,提高推理效率。这种设计基于一个关键观察:核心神经元与句子语义之间存在稳定性和相似性。
技术框架:CoreInfer的整体框架包含两个主要阶段:预填充阶段和编码阶段。在预填充阶段,CoreInfer利用基于语义的方法来预测句子级别的核心神经元。具体来说,根据不同的输入场景,可以选择不同的语义预测方法。预测出的核心神经元在编码阶段保持固定,用于后续的推理计算。这种设计使得在编码阶段可以实现零成本的稀疏推理。
关键创新:CoreInfer最重要的技术创新点在于提出了句子级核心神经元的概念,并利用句子语义信息进行预测,避免了token级别预测带来的额外计算开销。与现有方法相比,CoreInfer无需额外的MLP进行token级别的激活预测,从而显著降低了计算复杂度,提高了推理效率。核心神经元与句子语义之间的稳定性和相似性是该方法的基础。
关键设计:CoreInfer的关键设计包括:1) 句子级核心神经元的定义和选择;2) 基于语义的预测方法,根据不同输入场景选择不同的方法;3) 在预填充阶段确定核心神经元并在编码阶段固定,实现零成本稀疏推理。论文中没有明确提及具体的参数设置或损失函数,但强调了语义信息在核心神经元预测中的作用。具体的网络结构细节取决于所使用的大语言模型。
🖼️ 关键图片
📊 实验亮点
CoreInfer在NVIDIA TITAN XP GPU上的实验结果显著。与Huggingface的实现相比,CoreInfer实现了10.33倍的加速。与PowerInfer相比,CoreInfer也实现了2.72倍的加速。这些结果表明,CoreInfer在加速大语言模型推理方面具有显著优势,能够有效降低计算成本,提高推理效率。
🎯 应用场景
CoreInfer具有广泛的应用前景,尤其适用于资源受限的硬件设备,如移动设备、嵌入式系统和边缘服务器。通过降低大语言模型的推理计算成本,CoreInfer可以使这些设备能够运行更复杂的AI应用,例如智能助手、机器翻译和文本摘要等。该研究有助于推动大语言模型在实际场景中的部署和应用。
📄 摘要(原文)
Large language models (LLMs) with billions of parameters have sparked a new wave of exciting AI applications. However, their high computational costs and memory demands during inference pose significant challenges. Adaptive sparse activation inference, which activates only a small number of neurons for each token, offers a novel way to accelerate model inference without degrading performance, showing great potential for resource-constrained hardware devices. Nevertheless, existing methods predict activated neurons based on individual tokens with additional MLP, which involve frequent changes in activation maps and resource calls, limiting the acceleration benefits of sparse activation. In this paper, we introduce CoreInfer, an MLP-free adaptive sparse activation inference method based on sentence-level prediction. Specifically, we propose the concept of sentence-wise core neurons, which refers to the subset of neurons most critical for a given sentence, and empirically demonstrate its effectiveness. To determine the core neurons, we explore the correlation between core neurons and the sentence's semantics. Remarkably, we discovered that core neurons exhibit both stability and similarity in relation to the sentence's semantics -- an insight overlooked by previous studies. Building on this finding, we further design two semantic-based methods for predicting core neurons to fit different input scenarios. In CoreInfer, the core neurons are determined during the pre-filling stage and fixed during the encoding stage, enabling zero-cost sparse inference. We evaluated the model generalization and task generalization of CoreInfer across various models and tasks. Notably, on an NVIDIA TITAN XP GPU, CoreInfer achieved a 10.33 times and 2.72 times speedup compared to the Huggingface implementation and PowerInfer, respectively.