PowerInfer

上海交大团队推出LLM高速推理引擎PowerInfer,可在消费级硬件上高效运行AI。它利用LLM推理局部性设计GPU - CPU混合推理引擎,减少GPU内存需求和数据传输。实验表明,其在不同硬件和模型上,相比llama.cpp有显著性能提升,还支持INT4量化压缩。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上海交大团队最新推出了超强 CPU/GPU LLM 高速推理引擎 PowerInfer。PowerInfer 使得在消费级硬件上运行 AI 更加高效。4090成A100平替?token生成速度只比A100低18%,上交大推理引擎火了

PowerInfer 和 llama.cpp 都在相同的硬件上运行,并充分利用了 RTX 4090 上的 VRAM。

这个推理引擎速度有多快?在单个 NVIDIA RTX 4090 GPU 上运行 LLM ,PowerInfer 的平均 token 生成速率为 13.20 tokens/s,峰值为 29.08 tokens/s,仅比顶级服务器 A100 GPU 低 18%,可适用于各种 LLM。

不仅如此,PowerInfer 与最先进的本地LLM推理框架 llama.cpp 相比,在单个 RTX 4090 (24G) 上运行 Falcon (ReLU)-40B-FP16,实现了 11 倍多的加速,还能保持模型的准确性。

具体来说,PowerInfer 是一个用于本地部署 LLM 的高速推理引擎。与那些采用多专家系统(MoE)不同的是,PowerInfer 通过利用 LLM 推理中的高度局部性,巧妙的设计了一款 GPU-CPU 混合推理引擎。

它的工作原理是这样的,将频繁激活的神经元(即热激活,hot-activated)预加载到 GPU 上以便快速访问,而不常激活的神经元(冷激活,cold-activated)(占大多数)则在 CPU 上计算。

这种方法显著减少了 GPU 内存需求和 CPU-GPU 数据传输。

  • 项目地址:https://github.com/SJTU-IPADS/PowerInfer

  • 论文地址:https://ipads.se.sjtu.edu.cn/_media/publications/powerinfer-20231219.pdf

PowerInfer 可以在配备单个消费级 GPU 的 PC 上高速运行 LLM。现在用户可以将 PowerInfer 与 Llama 2 和 Faclon 40B 结合使用,对 Mistral-7B 的支持也即将推出。

一天的时间,PowerInfer 就获得了 2K 星标。

看到这项研究后,网友激动的表示:单卡 4090 跑 175B 大模型不再是梦。

PowerInfer 架构

PowerInfer 设计的关键是利用 LLM 推理中固有的高度局部性,其特征是神经元激活中的幂律分布。这种分布表明,一小部分神经元(称为热神经元)跨输入一致激活,而大多数冷神经元则根据特定输入而变化。PowerInfer 利用这种机制设计了 GPU-CPU 混合推理引擎。

下图 7 展示了 PowerInfer 的架构概述,包括离线和在线组件。离线组件处理 LLM 的激活稀疏,区分热神经元和冷神经元。在线阶段,推理引擎将两种类型的神经元加载到 GPU 和 CPU 中,在运行时以低延迟服务 LLM 请求。

图 8 说明了 PowerInfer 如何协调 GPU 和 CPU 来处理层之间的神经元。PowerInfer 根据离线数据对神经元进行分类,将热激活的神经元(例如索引 3、5、7)分配给 GPU 内存,将其他神经元分配给 CPU 内存。

一旦接收到输入,预测器就会识别当前层中哪些神经元可能会被激活。值得注意的是,通过离线统计分析识别的热激活神经元可能与运行时激活行为不一致。例如,神经元 7 虽然标记为热激活,但事实却并非如此。然后,CPU 和 GPU 都会处理激活的神经元,忽略没有激活的神经元。GPU 计算神经元 3 和 5,而 CPU 处理神经元 4。神经元 4 的计算完成后,其输出将发送到 GPU 进行结果集成。

实验

该研究使用不同参数的 OPT 模型进行了实验,参数从 6.7B 到 175B 不等,还包括 Falcon (ReLU)-40B 和 LLaMA (ReGLU)-70B 模型。值得注意的是,175B 参数模型的大小与 GPT-3 模型相当。      whaosoft aiot http://143ai.com

本文还将 PowerInfer 与 llama.cpp 进行了比较,llama.cpp 是最先进的本地 LLM 推理框架。为了便于进行比较,该研究还扩展了 llama.cpp 以支持 OPT 模型。

由于本文专注于低延迟设置,因此评估指标是端到端生成速度,量化为每秒生成 token 的数量(tokens/s)。 

该研究首先比较了 PowerInfer 和 llama.cpp 的端到端推理性能,批大小为 1。

图 10 展示了在配备 NVIDIA RTX 4090 的 PC-High 上各种模型和输入输出配置的生成速度。平均而言,PowerInfer 实现了 8.32 tokens/s 的生成速度,最高可达 16.06 tokens/s, 显着优于 llama.cpp,比 llama.cpp 提高了 7.23 倍,比 Falcon-40B 提高了 11.69 倍。

随着输出 token 数量的增加,PowerInfer 的性能优势变得更加明显,因为生成阶段在整体推理时间中扮演着更重要的角色。在此阶段,CPU 和 GPU 上都会激活少量神经元,与 llama.cpp 相比,减少了不必要的计算。例如,在 OPT-30B 的情况下,每生成一个 token,只有大约 20% 的神经元被激活,其中大部分在 GPU 上处理,这是 PowerInfer 神经元感知推理的好处。

图 11 显示,在 PC-Low 上,PowerInfer 仍然比 llama.cpp 获得了相当大的性能增强,平均加速为 5.01 倍,峰值为 7.06 倍。然而,与 PC-High 相比,这些改进较小,主要是由于 PC-Low 的 11GB GPU 内存限制。此限制会影响可分配给 GPU 的神经元数量,特别是对于具有大约 30B 参数或更多参数的模型,导致更大程度地依赖于 CPU 来处理大量激活的神经元。

图 12 显示了 PowerInfer 和 llama.cpp 的 CPU 和 GPU 之间的神经元负载分布。值得注意的是,在 PC-High 上,PowerInfer 显着增加了 GPU 的神经元负载份额,从平均 20% 增加到 70%。这表明 GPU 处理了 70% 的激活神经元。然而,在模型的内存需求远远超过 GPU 容量的情况下,例如在 11GB 2080Ti GPU 上运行 60GB 模型,GPU 的神经元负载会降低至 42%。这种下降是由于 GPU 的内存有限,不足以容纳所有热激活的神经元,因此需要 CPU 计算这些神经元的一部分。

图 13 说明 PowerInfer 有效支持使用 INT4 量化压缩的 LLM。在 PC-High 上,PowerInfer 的平均响应速度为 13.20 tokens/s,峰值可达 29.08 tokens/s。与 llama.cpp 相比,平均加速 2.89 倍,最大加速 4.28 倍。在 PC-Low 上,平均加速为 5.01 倍,峰值为 8.00 倍。由于量化而减少的内存需求使 PowerInfer 能够更有效地管理更大的模型。例如,在 PC-High 上使用 OPT-175B 模型进行的实验中,PowerInfer 几乎达到每秒两个 token,超过 llama.cpp 2.66 倍。

最后,该研究还评估了 PowerInfer 在不同批大小下的端到端推理性能,如图 14 所示。当批大小小于 32 时,PowerInfer 表现出了显着的优势,与 llama 相比,性能平均提高了 6.08 倍。随着批大小的增加,PowerInfer 提供的加速比会降低。然而,即使批大小设置为 32,PowerInfer 仍然保持了相当大的加速。

06-22
<think>我们正在讨论端侧计算(或端侧处理)技术。根据引用内容,端侧计算指的是在终端设备(如智能手机、嵌入式设备等)上直接进行计算和数据处理,而不需要将数据发送到云端。这样可以减少延迟、保护隐私,并能在网络连接不可靠的情况下工作。核心概念:1.边缘计算:将计算任务从云端下沉到靠近数据源的边缘设备或边缘服务器上。2.端侧推理:在终端设备上直接运行AI模型进行推理(即预测或决策),是边缘计算的一种具体应用。引用[2]和[3]特别强调了端侧推理,它允许设备在不依赖云服务器的情况下进行人工智能任务。技术优势:-低延迟:由于计算在本地进行,避免了网络传输延迟。-隐私保护:敏感数据不需要离开设备。-离线能力:在没有网络连接的情况下也能工作。-减少带宽:不需要将大量原始数据传输到云端。挑战:-终端设备的计算资源(如CPU、内存、电池)有限。-需要优化模型以适应终端设备(如模型压缩、量化等)。引用[4]提供了一个具体案例:PowerInfer-2在手机端侧部署47B大模型,通过并行处理(CPU和NPU协作)和量化技术来克服内存和计算限制。应用场景(引用[2]和[5]提到):-智能制造:实时监控生产线。-智能交通:自动驾驶汽车需要快速决策。-智能医疗:可穿戴设备实时监测健康状况。-客户服务:本地AI助手快速响应。因此,端侧计算技术是一种将计算能力推向网络边缘(特别是终端设备)的技术,旨在提高响应速度、保护隐私并减少对云端的依赖。现在,根据指令,我需要生成相关问题。</think>### 端侧计算技术解析 端侧计算(On-device Computing)是指在终端设备(如智能手机、嵌入式系统、IoT设备等)本地执行数据处理和模型推理的技术,无需依赖云端服务器。其核心是通过在设备端部署优化算法,实现**低延迟响应、数据隐私保护、离线运行**三大核心价值[^2][^3]。 #### 核心技术原理 1. **模型轻量化** - 使用模型压缩技术(如量化、剪枝)降低计算需求 - 例如:将FP32模型量化为INT8,内存占用减少75%[^4] - 数学表达:量化过程可表示为 $$ Q(x) = \Delta \cdot \left\lfloor \frac{x}{\Delta} + \frac{1}{2} \right\rfloor $$ 其中$\Delta$为量化步长 2. **异构计算优化** - 协同调用CPU/GPU/NPU等硬件单元 - 如PowerInfer-2框架实现: ```text CPU mid-core:反量化权重 → NPU:矩阵计算 → CPU big-core:预加载下一层 ``` 三者并行执行减少I/O延迟[^4] 3. **内存管理创新** - 神经元缓存技术:分层加载模型权重 - 共享内存机制:CPU与NPU共享反量化数据 - 数学表达:内存优化目标函数 $$ \min_{M} \sum_{l=1}^{L} \|W_l - Q_l(W_l)\|_F^2 \quad \text{s.t.} \quad \text{mem}(Q) \leq B $$ 其中$B$为设备内存上限 #### 典型应用场景 | 领域 | 案例 | 技术优势 | |------------|--------------------------|--------------------------| | 医疗健康 | 可穿戴设备实时ECG分析 | 隐私保护+毫秒级响应[^5] | | 智能制造 | 工业质检边缘推理 | 离线运行+降低带宽成本[^2]| | 自动驾驶 | 车载视觉感知系统 | 低延迟决策(≤10ms)[^3] | #### 技术挑战与发展 - **挑战**:大模型部署(如>10B参数)、能效比优化、多设备协同 - **突破方向**: - 动态子图推理(仅激活相关神经元) - 知识蒸馏技术:$L_{\text{KD}} = \alpha L_{\text{CE}}(y, \sigma(z_s)) + \beta T^2 \text{KL}(\sigma(z_t/T) \| \sigma(z_s/T))$ - 端云协同推理框架[^4][^5]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值