揭开AI世界的神秘面纱:PowerInfer 文献解析

216次阅读
12 条评论

🚀 作为 AI 世界的一位探险者,我们时常发现一些激动人心的突破,其中最新的一项就是 PowerInfer。这项技术能够在个人计算机上利用普通的 GPU 进行高速的大型语言模型推断,这将为我们的生活带来怎样的改变呢?

背景

Generative large language models (LLMs) 已经成为人们关注的焦点。这些模型在创造性写作、高级代码生成以及复杂的自然语言处理任务中表现出了卓越的能力。然而,传统上这些模型需要在配备高端昂贵的服务器级 GPU 的数据中心进行部署。与此同时,越来越多的人们希望在更易接触的本地平台上运行 LLMs,尤其是配备消费级 GPU 的个人电脑。这种转变是由对增强数据隐私、模型定制化以及减少推断成本的需求驱动的。

然而,将 LLMs 部署在消费级 GPU 上也带来了重大挑战,主要是由于其巨大的内存需求。LLMs 通常以自回归 Transformer 的形式顺序生成文本标记,每个标记需要访问包含数千亿参数的整个模型。因此,推断过程受到 GPU 内存容量的限制,特别是在本地部署中,每次处理单个请求时(通常一次只有一个请求)会留下极少的机会进行并行处理。

PowerInfer:改变游戏规则

PowerInfer 是一种高速的 LL 微观形态推断系统,经过精心设计,能够利用 LL 推断中固有的高度局部性。它的关键想法是通过将频繁激活的神经元分配到 GPU,而将不经常激活的神经元分配到 CPU,从而最大程度地减少 GPU 的内存需求,提高推断速度。

快人一步:PowerInfer 的内部工作原理

PowerInfer 的工作原理基于两个关键见解:一是 LL 推断中存在的高局部性,二是 CPU 和 GPU 的协同执行。它通过离线和在线组件实现神经元分配策略,并结合神经元感知运算符,从而有效地管理 GPU 和 CPU 之间的计算负载。

实验结果

PowerInfer 在高端 PC 上的表现令人印象深刻。与传统方法相比,PowerInfer 的推断速度提高了 7.23 倍,具有显著的优势。在低端 PC 上,PowerInfer 的性能提升略有降低,但仍然达到了 5.01 倍的提速。此外,PowerInfer 还支持压缩后的 LLMs,如 INT4 量化模型,其性能提升了 2.89 倍。此外,PowerInfer 还支持不同的批处理大小,当批处理大小小于 32 时,PowerInfer 的性能提升最为显著,达到了 6.08 倍的提速。

结语

PowerInfer 的问世,为 AI 领域注入了新的活力,让人们看到了在个人计算机上进行高速大型语言模型推断的可能性。这项技术不仅提升了推断速度,还为本地部署提供了更加灵活的选择。我们对于未来这项技术的应用前景充满期待。

🌟 如果您对这篇文章有任何疑问或想了解更多细节,欢迎在评论区留言,我们将会不断分享更多有趣的技术内容。让我们一起期待 AI 技术带来的更多惊喜吧!

正文完
 
评论(12 条评论)
2023-12-21 16:45:12 回复

重点1:本文介绍了在LLM推理过程中我们对局部性的见解,并突出了两个显著的特点。LLM推理具有高度的局部性,表明经常激活的一组神经元。尽管输入依赖性是LLM激活稀疏性,但激活神经元之间存在一个功率分布。

重点2:在OPT-30B和LLaMA(ReGLU-70B)的MLP层中,分别有26%和43%的神经元负责80%的总激活,这些神经元被称为热激活神经元。相反,剩余的74%和57%的神经元受到输入依赖,被归类为冷激活神经元。这种高局部性不仅局限于单个层,而是贯穿整个模型。如图5b所示,在OPT-30B和LLaMA(ReGLU-70B)中,大约有17%和26%的神经元负责所有层数的80%的总激活。

重点3:如果激活的神经元位于CPU内存中,在CPU上计算它们会比将它们转移到GPU上快,特别是当激活神经元数量较少和通常部署中的小批量大小时。具有向量扩展的现代CPU可以有效地处理这类较小的矩阵计算。我们比较了在OPT-30B中加载和计算10% 3 MLP层和60%注意层CPU侧神经元的GPU与直接在CPU上使用AVX2向量扩展所需的时间。结果如图6所示,在小于32的批量大小下,将权重转移到GPU(NVIDIA RTX 4090)并计算它们所需的时间超过了直接在CPU上使用AVX2向量扩展所需的时间。

 Macintosh  Safari  美国科罗拉多丹佛
2023-12-21 16:45:58 回复

重点1:本文介绍了在LLM推理过程中我们对局部性的见解,并突出了两个显著的特点。LLM推理具有高度的局部性,表明经常激活的一组神经元。尽管输入依赖性是LLM激活稀疏性,但激活神经元之间存在一个功率分布。

 Macintosh  Safari  美国科罗拉多丹佛
2023-12-21 16:46:30 回复

重点2:在OPT-30B和LLaMA(ReGLU-70B)的MLP层中,分别有26%和43%的神经元负责80%的总激活,这些神经元被称为热激活神经元。相反,剩余的74%和57%的神经元受到输入依赖,被归类为冷激活神经元。这种高局部性不仅局限于单个层,而是贯穿整个模型。

 Macintosh  Safari  美国科罗拉多丹佛
2023-12-21 16:47:13 回复

重点3:如果激活的神经元位于CPU内存中,在CPU上计算它们会比将它们转移到GPU上快,特别是当激活神经元数量较少和通常部署中的小批量大小时。具有向量扩展的现代CPU可以有效地处理这类较小的矩阵计算。我们比较了在OPT-30B中加载和计算10% 3 MLP层和60%注意层CPU侧神经元的GPU与直接在CPU上使用AVX2向量扩展所需的时间。在小于32的批量大小下,将权重转移到GPU(NVIDIA RTX 4090)并计算它们所需的时间超过了直接在CPU上使用AVX2向量扩展所需的时间。

 Macintosh  Safari  美国科罗拉多丹佛
2023-12-27 23:36:01 回复

激 活 稀疏 。 最近的研 究表明 ,L LM 推 理在神 经元 激活中 显
示 出显 著 的 稀 疏性[19 ,21 ,50 ]。 例 如 ,我 们 观 察到 OPT-30B
模 型中 大约 80 % 的 神 经元 在 推 理过 程 中 保 持失 活 状 态。 这
种激活 稀疏 现象 在自注 意 和 M LP 块 中都 存在 。在 自我注 意
块中 ,近 一半 的 注意 头(神经 元)做出 的贡 献 最小 ,导 致了 它
们的高 稀疏 性。 在 M LP 块内 观察到 的稀 疏性 主要 归因于 激
活函数的特征。

 Windows  Edge  美国密苏里堪萨斯城
2023-12-27 23:36:39 回复

当 前的 模 型 压 缩技 术 不 足 以 在资 源 有 限 的消 费级 gp u 内
拟合 大型 语 言模 型( llm )。相 比 之下 ,利 用 CPU 额 外的 计算
和内 存资 源 的卸 载技 术 为在 此 类硬 件上 容纳 llm 提 供了 更 可
行的解决方 案 。

 Windows  Edge  美国密苏里堪萨斯城
2023-12-27 23:40:26 回复

Po we rInf e r, 一 个 部署 在 配 备 单个 消 费 级 GP U
的 P C 上的 低 延迟 LL M 推理 系统 。Po we rInf e r 通 过充 分利
用§3 中 描述 的 高局 部性 见 解, 提出 了 神经 元感 知 的卸 载策
略和 推 理引 擎。 它 利 用 GP U 和 C P U 进 行 权重 存 储, 可容
纳各 种尺 寸 的 llm 。 这种 基 于 In sigh t-1 的卸 载方 法 有效 地利
用了 LLM 推理 的 幂律 分 布。

 Windows  Edge  美国密苏里堪萨斯城
2023-12-27 23:40:58 回复

LLa M A (Re G L U) -70 B 分别 占总 激活 量的 26%和 43%。这些
神经 元 被 称为 热 激活 神 经元 。 相 反, 其 余 74%和 57%的神
经元的激活 是输 入依 赖性 的, 将它 们归 类为 冷激 活神 经元 。

 Windows  Edge  美国密苏里堪萨斯城
2023-12-27 23:41:30 回复

如果激 活的神 经元 驻留 在 CP U 内 存中, 在 CP U 上计算 它
们比 将它 们传 输到 GP U 要快 ,特 别 是在 本地 部署 中激 活的
神经元 数量 较少 和批 量大 小较 小的 情况下 。具 有向 量扩 展的
现代 cpu 可以有 效地处 理这 种较小 的矩 阵计算 。

 Windows  Edge  美国密苏里堪萨斯城
2023-12-27 23:42:44 回复

为了减 少推 理延迟 ,推 理引 擎只 计算被 在线 预测 器预测 为
活跃的 神经 元,跳 过大 多数不 活跃 的神 经元。 此外 ,预加 载
策略 使 Po we rI nfe r 能够 将大 量推 理任 务分 配 给 GPU,因 为
已经加 载 在 GPU 上的 热激 活神 经元 构成 了激活 的主 要部 分。
对于不在 GP U 内存中 的冷 激活神 经元 ,Po we rI nfe r 在 CP U
上执行它们的计算,从而消除了向 GPU 传 输 权 重 的 需 要
(Insight-2 )。

 Windows  Edge  美国密苏里堪萨斯城
2023-12-27 23:43:49 回复

LLM Profiler 和 Policy Solver (Offline):该组件包括一个 L LM
Prof ile r, 它使用 来自 一般数 据集 (例如 C4 [32 ])的请 求从 推理
过程中收 集激活 数据。 它监视 所有层 的神经 元激活 (步骤¬ ),
然后是 策略 求解器 将神 经元 分类为 热或 冷。 求解器 旨在 将频
繁激活的神经元 分配给 GP U,而将其 他神经元分配 给 CP U。
它使用 神经 元影响 指标 和硬 件规格 来平 衡工 作负载 ,使 用整
数线性规划来最大 化 GPU 对神经元 的影响指标 (步骤- )。

 Windows  Edge  美国密苏里堪萨斯城
2023-12-27 23:44:38 回复

神 经 元感 知 LLM 推 理引 擎 (Online):在 处理 用户 请求 之前 ,
在 线 引 擎 根 据 离线 解 算 器 的 输 出 , 将 两 种 类 型 的神 经 元 分
配给 各自 的处 理单 元(Step® )。在 运行 时, 引擎 创建 G PU 和
CP U 执 行器 ,它 们是在 CP U 端运 行的 线程 ,以 管理 并发 的
CPU – GPU 计算(步骤¯ )。 该引 擎还 会预 测神 经元 的激 活, 并
跳过未激活 的神 经元 。预 加载 的激 活神 经元

 Windows  Edge  美国密苏里堪萨斯城