模型推理加速:CPU性能提升5倍,苹果采用闪存进行大规模推理加速,Siri 2.0即将亮相?


苹果这项新工作将为未来 iPhone 加入大模型的能力带来无限想象力。

近年来,gpt-3、opt和palm等大型语言模型(llm)在广泛的自然语言处理(nlp)任务中展现了强大的性能。然而,这些性能的实现需要大量的计算和内存推理,因为这些大型语言模型可能包含数千亿甚至万亿个参数,这使得在资源有限的设备上高效加载和运行变得具有挑战性

当前标准的应对方案是将整个模型加载到 DRAM 中进行推理,然而这种做法严重限制了可以运行的最大模型尺寸。举个例子,70 亿参数的模型需要 14GB 以上的内存才能加载半精度浮点格式的参数,这超出了大多数边缘设备的能力。

为了解决这种局限性,苹果的研究者提出在闪存中存储模型参数,至少比 DRAM 大了一个数量级。接着在推理中,他们直接并巧妙地进行闪存加载所需参数,不再需要将整个模型拟合到 DRAM 中。

这种方法基于最近的工作构建,这些工作表明 LLM 在前馈网络(FFN)层中表现出高度稀疏性,其中 OPT、Falcon 等模型的稀疏性更是超过 90%。因此,研究者利用这种稀疏性, 有选择地仅从闪存中加载具有非零输入或预测具有非零输出的参数。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

论文地址:https://arxiv.org/pdf/2312.11514.pdf

具体来讲,研究者讨论了一种受硬件启发的成本模型,其中包括闪存、DRAM 和计算核心(CPU 或 GPU)。接着引入两种互补技术来最小化数据传输、最大化闪存吞吐量:

  • 窗口:只加载前几个标记的参数,并重用最近计算的标记的激活。这种滑动窗口方法减少了加载权重的 IO 请求数量;

  • 行列捆绑:存储上投影和下投影层的串联行和列,以读取闪存的更大连续块。这将通过读取更大的块来增加吞吐量。

为了进一步减少从闪存传输到DRAM的权重数量,研究人员尝试预测FFN的稀疏性并避免加载归零参数。通过结合使用窗口和稀疏性预测,每个推理查询仅需加载2%的闪存FFN层。他们还提出了静态内存预分配,以最大程度地减少DRAM内的传输并减少推理延迟

本文的闪存加载成本模型在加载更好数据与读取更大块之间取得了平衡。与 CPU 和 GPU 中的 naive 实现相比,优化该成本模型并有选择地按需加载参数的闪存策略可以运行两倍于 DRAM 容量的模型,并将推理速度分别提升 4-5 倍和 20-25 倍。

有人评价称,这项工作会让 iOS 开发更加有趣。

闪存和 LLM 推理

带宽和能量限制

虽然现代 NAND 闪存提供了高带宽和低延迟,但仍达不到 DRAM 的性能水准,尤其是在内存受限的系统中。下图 2a 说明了这些差异。

依赖 NAND 闪存的 naive 推理实现可能需要为每个前向传递重新加载整个模型,这一过程非常耗时,即使是压缩模型也需要几秒时间。此外将数据从 DRAM 传输到 CPU 或 GPU 内存需要耗费更多能量。

在 DRAM 充足的场景中,加载数据的成本有所降低,这时模型可以驻留在 DRAM 中。不过,模型的初始加载仍然耗能,尤其是在第一个 token 需要快速响应时间的情况下。本文的方法利用 LLM 中的激活稀疏性,通过有选择地读取模型权重来解决这些挑战,从而减少了时间和耗能成本。

重新表达为:获取数据传输速率

在大量连续读取的情况下,闪存系统表现最佳。举例来说,苹果MacBook Pro M2配备了2TB的闪存,在基准测试中,未缓存文件进行1GiB的线性读取速度超过了6GiB/s。然而,由于这些读取具有多阶段性质,包括操作系统、驱动程序、中端处理器和闪存控制器,较小的随机读取无法达到如此高的带宽。每个阶段都会带来延迟,从而对较小的读取速度造成较大的影响

为了规避这些限制,研究者提倡两种主要策略,它们可以同时使用。

第一种策略是读取较大的数据块。虽然吞吐量的增长不是线性的(较大的数据块需要较长的传输时间),但初始字节的延迟在总请求时间中所占的比例较小,从而提高了数据读取的效率。图 2b 描述了这一原理。一个与直觉相反但却有趣的观察结果是,在某些情况下,读取比需要更多的数据(但数据块较大)然后丢弃,比只读取需要的部分但数据块较小更快。

第二种策略是利用存储堆栈和闪存控制器固有的并行性来实现并行读取。研究结果表明,在标准硬件上使用多线程 32KiB 或更大的随机读取,可以实现适合稀疏 LLM 推理的吞吐量。

最大化吞吐量的关键在于权重的存储方式,因为提高平均块长度的布局可以显著提高带宽。在某些情况下,读取并随后丢弃多余的数据,而不是将数据分割成更小的、效率更低的数据块,可能是有益的。

进行闪存加载

受上述挑战的启发,研究者提出了优化数据传输量和提高重新表达为:获取数据传输速率的方法,以显著提高推理速度。本节将讨论在可用计算内存远远小于模型大小的设备上进行推理所面临的挑战。

分析该挑战,需要在闪存中存储完整的模型权重。研究者评估各种闪存加载策略的主要指标是延迟,延迟分为三个不同部分:进行闪存加载的 I/O 成本、管理新加载数据的内存开销以及推理操作的计算成本。

苹果将在内存限制条件下减少延迟的解决方案分为三个战略领域,每个领域都针对延迟的特定方面:

1、减少数据负载:旨在通过加载更少的数据来减少与闪存 I/O 操作相关的延迟。

2、优化数据块大小:通过增加加载数据块的大小来提高闪存吞吐量,从而减少延迟。

以下是研究者为提高闪存读取效率而增加数据块大小所采用的策略:

  • 捆绑列和行 

  • 基于 Co-activation 的捆绑

3、有效管理加载的数据:简化数据加载到内存后的管理,最大限度地减少开销。

虽然与访问闪存相比,在 DRAM 中传输数据的效率更高,但会产生不可忽略的成本。在为新神经元引入数据时,由于需要重写 DRAM 中的现有神经元数据,重新分配矩阵和添加新矩阵可能会导致巨大的开销。当 DRAM 中的前馈网络(FFN)有很大一部分(约 25%)需要重写时,这种代价尤其高昂。

为了解决这个问题,研究者采用了另一种内存管理策略。这种策略包括预先分配所有必要的内存,并建立相应的数据结构来进行有效的管理。如图 6 所示,该数据结构包括指针、矩阵、偏移、已使用数和 last_k_active 等元素

图 6:内存管理,首先将最后一个元素复制到删除神经元,以保持内存块的连续性,然后将所需元素堆栈到最后,这样可以避免多次复制整个数据。

需要注意的是,重点并不在于计算过程,因为这与本文的核心工作无关。这种划分使得研究者能够专注于优化闪存交互和内存管理,从而在内存有限的设备上实现高效的推理

需要进行实验结果的重写

OPT 6.7B 模型的结果

预测器。如图 3a 所示,本文的预测器能准确识别大多数激活的神经元,但偶尔也会误识数值接近于零的非激活神经元。值得注意的是,这些接近零值的假负类神经元被排除后,并不会明显改变最终输出结果。此外,如表 1 所示,这样的预测准确度水平并不会对模型在零样本任务中的表现产生不利影响。

延迟分析。当窗口大小为 5 ,每个 token 需要访问 2.4% 的前馈网络(FFN)神经元。对于 32 位模型,每次读取的数据块大小为 2dmodel × 4 字节 = 32 KiB,因为它涉及行和列的连接。在 M1 Max 上,进行闪存加载每个 token 的延迟为 125 毫秒,内存管理(包括神经元的删除和添加)的延迟为 65 毫秒。因此,与内存相关的总延迟不到每个 token 190 毫秒(参见图 1)。相比之下,基线方法需要以 6.1GB/s 的速度加载 13.4GB 的数据,导致每个 token 的延迟约为 2330 毫秒。因此,与基线方法相比,本文的方法有了很大改进。

对于 GPU 机器上的 16 位模型,闪存加载时间缩短至 40.5 毫秒,内存管理时间为 40 毫秒,由于从 CPU 向 GPU 传输数据的额外开销,时间略有增加。尽管如此,基线方法的 I/O 时间仍然超过 2000 毫秒。

表 2 提供了每种方法对性能影响的详细比较。

Falcon 7B 模型的结果

延迟分析。在本文的模型中使用大小为 4 的窗口,每个 token 需要访问 3.1% 的前馈网络(FFN)神经元。在 32 位模型中,这相当于每次读取的数据块大小为 35.5 KiB(按 2dmodel ×4 字节计算)。在 M1 Max 设备上,进行闪存加载这些数据所需的时间约为 161 毫秒,内存管理过程又增加了 90 毫秒,因此每个 token 的总延迟时间为 250 毫秒。相比之下,基线延迟时间约为 2330 毫秒,本文的方法大约快 9 到 10 倍。


# gpt  # 情况下  # 约为  # 所示  # 的是  # 重写  # 所需  # 更大  # 较小  # 内存管理  # 加载  # palm  # Token  # https  # nlp  # iphone  # ios  # 多线程  # 线程  #   #   # 数据结构  # 指针 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化91478 】 【 技术知识72672 】 【 云计算0 】 【 GEO优化84317 】 【 优选文章0 】 【 营销推广36048 】 【 网络运营41350 】 【 案例网站102563 】 【 AI智能45237


相关推荐: 豆包AI怎么评价回答的好坏_点赞与反馈功能使用教程  文心一言辅助学习方法 解决难题与知识点梳理使用指南  飞常准AI如何预判放票时间_飞常准AI放票时间预测与抢票时机【技巧】  百度AI助手直接入口 一键直达官网入口  ChatGPT官网免费使用入口 ChatGPT在线版官方地址  AI图像识别如何减少保险欺诈和加速理赔  AI Lead Generation: 解锁未来增长引擎,营销新纪元  如何用文心一言写简历 快速生成高含金量求职简历方法  Excel AI:5大免费AI功能提升数据分析效率  AI问卷调查生成工具有哪些_一键生成调研表单的AI工具推荐  Jasper AI如何做SEO优化 Jasper AI结合SurferSEO用法【教程】  重温经典:宝可梦动画中的精彩瞬间与幕后花絮  Gemini 与 Google Drive 结合的文件智能检索  怎么用ai制作表情包 AI个性化动态表情包教程【方法】  通义千问怎么找新功能入口_通义千问新功能查找【攻略】  通义千问怎么设置常用功能快捷键_通义千问快捷键设置【步骤】  锂提取AI工具:地热数据分析与机器学习建模深度解析  免费AI头像生成终极指南:逼真、个性化、无水印  人工智能时代:你需要知道的真相和未来趋势  Vidu AI:使用Q1模型轻松创建电影级短片  CallidusAI:提升合同起草效率的智能Word插件指南  Descript音频编辑终极指南:技巧、AI工具与专业效果  Claude怎么用新功能表格生成_Claude表格生成使用【攻略】  轻松入门:如何创建自己的图像识别模型  AI 和 Plagiarism Checker:SEO 内容创作的终极指南  LeetCode问题解析:移除回文子序列,掌握字符串技巧  改善面部不对称:简单有效的肌肉平衡技巧  Recall:打造你的AI知识库,提升记忆力与效率  豆包AI怎么用提示词生成短视频脚本_豆包AI脚本提示词编写【教程】  LALAL.AI教程:音视频人声分离、降噪终极指南  创客贴AI排版如何批量处理图文_创客贴AI排版批量操作与效率提升【方法】  2025年最佳免费AI艺术生成器:POD终极指南  智谱AI智能绘图怎么用_智谱AI智能绘图使用方法详细指南【教程】  Saregama Carvaan: 5000首经典歌曲唤醒你的回忆  Gamma做年终总结PPT怎么用_Gamma做年终总结PPT使用方法详细指南【教程】  Feelin网页版在线入口 Feelin官方网站导航  解密Poppy Playtime怪物:全面解析玩具世界背后的故事  实测效率提升超35%!科大讯飞星火AIPC开启AI办公新纪元  AI赋能!图形设计师必备的顶级AI工具  Canva AI终极指南:免费AI聊天机器人,设计、视频、网站全搞定!  AI绘图软件怎么用_AI绘图软件使用方法详细指南【教程】  Xcode 26 Beta 新功能:集成 ChatGPT 代码助手全面测评  Veribix Demo Analytics: 优化呼叫录音分析,提升客服效率  面试成功秘诀:如何巧妙回答常见面试问题  ChatGPT写论文大纲教程 辅助学术构思与资料检索操作方法  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  New You KIN Skin Analyzer:焕发肌肤新生的终极指南  WorkPPT:AI驱动的PPT制作神器,效率提升不止10倍!  AI虚拟女友:终极浪漫伴侣还是数字陷阱?  Vizeo AI视频生成器:无需技术,轻松打造营销利器 

 2024-01-14

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

南京市珐之弘网络技术有限公司


南京市珐之弘网络技术有限公司

南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 87067657

 13565296790

 87067657@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.