PowerInfer: Fast Large Language Model Serving with a Consumer-grade GPU

TL;DR

PowerInfer利用神经元激活的幂律分布,实现单GPU高效推理,性能提升达11.69倍。

cs.LG 🔴 高级 2023-12-16 47 次浏览
Yixin Song Zeyu Mi Haotong Xie Haibo Chen
大规模语言模型 稀疏性 GPU优化 混合推理 模型压缩

核心发现

方法论

PowerInfer基于神经元激活的幂律分布特性,将高频激活的‘热神经元’预加载至GPU,低频激活的‘冷神经元’由CPU计算。采用自适应预测器和神经元感知稀疏算子,优化激活预测和稀疏矩阵乘法。通过离线策略生成神经元放置方案,结合CUDA实现神经元级稀疏操作,有效降低GPU内存需求和数据传输。系统兼容OPT、LLaMA2、Falcon等多模型,实现在单卡RTX4090上达11.69×性能提升。

关键结果

  • 在单卡RTX4090上,PowerInfer对OPT-175B模型实现13.20 tokens/sec(量化模型)和8.32 tokens/sec(非量化),比llama.cpp快11.69倍,且保持模型精度。对OPT-30B模型,性能接近A100,达82%的生成速率,显著缩短推理时间。
  • 采用神经元激活的幂律分布,约26%的神经元贡献80%的激活,验证激活稀疏性和局部性,支持热神经元预加载策略。在线预测器准确率超过93%,实现动态激活预测。
  • 结合GPU-CPU混合架构,减少GPU内存压力和数据传输,利用稀疏算子提升矩阵乘法效率,突破单GPU大模型推理瓶颈。

研究意义

该研究突破了消费级GPU在大模型推理中的瓶颈,推动LLM在个人电脑端的普及。通过利用激活稀疏性和局部性特征,显著降低硬件成本和能耗,为边缘计算和私有化部署提供新思路。系统兼容多模型,性能接近高端服务器,具有广泛应用潜力,推动AI普及和创新发展。

技术贡献

提出基于幂律激活分布的神经元预加载策略,结合自适应预测器和神经元感知稀疏算子,创新性地实现GPU-CPU混合推理架构。设计了神经元级稀疏矩阵乘法算子,优化了模型存储和计算流程。通过离线策略生成神经元放置方案,结合整数线性规划,提升推理效率。系统在保持模型精度的同时,大幅提升推理速度,为大模型在边缘设备的部署提供技术基础。

新颖性

首次系统性利用神经元激活的幂律分布特性,设计GPU-CPU混合推理架构,实现大模型在单卡消费级GPU上的高效推理。区别于传统模型切分和稀疏加速方法,强调激活局部性和动态预测,突破了GPU内存限制,显著提升推理性能。

局限性

  • 依赖激活稀疏性,模型激活特性不同或激活率较低时,性能提升有限。某些模型或任务激活分布不符合幂律,影响效果。
  • 系统设计复杂,需离线预处理和神经元放置策略,增加部署难度。实时预测和稀疏算子实现对硬件和软件要求较高。
  • 在极端低激活率或特殊激活函数(如SwiGLU)模型中,性能提升有限,需进一步优化稀疏预测和算子设计。

未来方向

未来将探索更智能的神经元激活预测机制,结合深度学习优化神经元放置策略。计划扩展支持更多激活函数和模型结构,提升系统适应性。还将研究多GPU协作和动态调度,以进一步提升推理速度和规模适应性。

AI 总览摘要

PowerInfer是一套面向个人电脑的高效大模型推理系统,突破了单GPU硬件限制。其核心创新在于利用神经元激活的幂律分布特性,将频繁激活的‘热神经元’预加载到GPU,而将‘冷神经元’由CPU处理,从而大幅降低GPU内存需求和数据传输开销。

该系统结合自适应预测器和神经元感知稀疏算子,优化激活预测和稀疏矩阵乘法,显著提升推理速度。在NVIDIA RTX4090上,PowerInfer对OPT-175B模型实现了11.69倍的性能提升,达到13.20 tokens/sec,且保持模型精度。对于较小的OPT-30B模型,性能接近高端A100 GPU的表现,达82%的生成速率。

通过离线策略生成神经元放置方案,结合CUDA实现神经元级稀疏操作,突破了GPU内存和带宽瓶颈。实验验证了激活的幂律分布和局部性,支持动态激活预测,系统兼容多种主流模型。该研究为边缘设备部署大模型提供了新途径,推动AI普及,具有重要的学术和产业价值。

深度分析

研究背景

近年来,大规模语言模型(LLMs)在自然语言处理领域取得突破,代表作如GPT、LLaMA、OPT等推动模型规模不断扩大。高性能训练和推理依赖高端GPU集群,成本昂贵,限制了模型的普及。为降低硬件门槛,研究者尝试模型压缩、剪枝、量化等技术,但仍难以在单卡消费级GPU上高效运行。现有模型切分和稀疏加速方案虽能缓解部分问题,但受限于GPU内存和带宽,推理速度仍难满足边缘应用需求。PowerInfer基于激活稀疏性和局部性特征,提出新颖的GPU-CPU混合架构,旨在突破这一瓶颈。

核心问题

主要挑战在于大模型参数规模超出单GPU内存限制,导致推理过程中的数据传输和存储成为瓶颈。传统方法如模型切分和稀疏加速在实际应用中受限,尤其在低延迟场景下表现不佳。如何利用模型激活的稀疏性和局部性特征,实现高效、低成本的推理,成为亟待解决的问题。这涉及激活预测、神经元存储、稀疏算子设计以及硬件资源调度的多方面技术难题。

核心创新

核心创新包括:1)基于幂律分布的神经元激活预加载策略,有效利用激活的局部性;2)引入自适应预测器,动态预测激活神经元,减少不必要的计算;3)设计神经元感知稀疏算子,提升稀疏矩阵乘法效率;4)结合离线神经元放置策略和整数线性规划,优化GPU-CPU神经元分布。这些创新突破了传统模型切分和稀疏加速的局限,实现单GPU高效推理。

方法详解

  • �� 离线阶段:分析激活分布,统计热神经元,预加载到GPU,冷神经元由CPU存储。• 训练自适应预测器,实时预测激活神经元,减少GPU内存占用。• 设计神经元感知稀疏算子,直接在神经元级别进行稀疏矩阵乘法。• 利用离线策略和整数线性规划,生成神经元放置方案,考虑激活频率和硬件带宽。• 运行时:结合预测器和稀疏算子,GPU处理热神经元,CPU处理冷神经元,减少数据传输,提升速度。

实验设计

采用Wikipedia数据集,评估OPT-175B、OPT-30B、LLaMA2等模型在单卡RTX4090上的推理性能。比较基线llama.cpp、FlexGen、DejaVu等方案,测量tokens/sec和延迟。进行激活稀疏性、预测准确率和神经元放置策略的消融实验,验证系统的鲁棒性和适应性。

结果分析

PowerInfer在RTX4090上对OPT-175B模型实现13.20 tokens/sec(量化)和8.32 tokens/sec(非量化),比llama.cpp快11.69倍。对OPT-30B模型,性能接近A100,达82%的生成速率。激活分析显示26%的神经元贡献80%的激活,验证稀疏性和局部性。系统在保持模型精度的同时,大幅提升推理速度,验证了激活幂律分布的实用性。

应用场景

适用于边缘设备、个人电脑和私有云环境,支持多模型、多任务推理。可广泛应用于智能助手、内容生成、边缘AI等场景,降低硬件成本,提升响应速度。未来还可结合多GPU和动态调度,进一步扩展规模和性能。

局限与展望

依赖激活稀疏性,模型激活特性不同或激活率较低时效果减弱。系统设计复杂,需离线预处理和神经元放置策略,部署难度较大。对于非ReLU激活模型,性能提升有限,需持续优化稀疏预测和算子实现。

通俗解读 非专业人士也能看懂

想象你在一个工厂里工作,工厂里有很多工人(神经元),每天都在做不同的任务。有些工人(热工人)每天都很忙,几乎一直在工作,工厂提前安排好他们的任务,随时准备好。其他工人(冷工人)只在特定任务时才会工作,平时不用他们。工厂通过提前安排热工人的工作区域,让他们一直待在工厂里,减少等待时间。而冷工人只在需要时才调动到工厂里工作,节省空间和时间。这个方法让工厂运转得更快、更省力。PowerInfer就是用类似的策略,把常用的神经元提前加载到GPU里,不常用的由CPU处理,整体提升推理速度,就像工厂效率大大提高一样。

简单解释 像给14岁少年讲一样

你知道在学校里,有些学生每天都很活跃,总是参与各种活动,而有些学生只在特定的课题上表现出色。PowerInfer就像是老师提前安排那些经常活跃的学生(热神经元)在教室里,随时可以用他们完成任务。而那些偶尔活跃的学生(冷神经元),老师只在需要时才叫他们来帮忙。这样,老师不用每次都叫所有学生来,节省了时间和精力。这种方法让学校的工作变得更快更有效率。PowerInfer用类似的办法,把经常用的神经元提前加载到GPU里,不常用的由CPU处理,整体让大模型的推理变得更快,就像学校效率提升了一样。

原文摘要

This paper introduces PowerInfer, a high-speed Large Language Model (LLM) inference engine on a personal computer (PC) equipped with a single consumer-grade GPU. The key principle underlying the design of PowerInfer is exploiting the high locality inherent in LLM inference, characterized by a power-law distribution in neuron activation. This distribution indicates that a small subset of neurons, termed hot neurons, are consistently activated across inputs, while the majority, cold neurons, vary based on specific inputs. PowerInfer exploits such an insight to design a GPU-CPU hybrid inference engine: hot-activated neurons are preloaded onto the GPU for fast access, while cold-activated neurons are computed on the CPU, thus significantly reducing GPU memory demands and CPU-GPU data transfers. PowerInfer further integrates adaptive predictors and neuron-aware sparse operators, optimizing the efficiency of neuron activation and computational sparsity. The evaluation shows that PowerInfer significantly outperforms llama.cpp by up to 11.69x while retaining model accuracy across various LLMs (including OPT-175B) on a single NVIDIA RTX 4090 GPU. For the OPT-30B model, PowerInfer achieves performance comparable to that of a high-end server-grade A100 GPU, reaching 82% of its token generation rate on a single consumer-grade RTX 4090 GPU.

cs.LG cs.OS