苹果这项新工作将为未来 iPhone 加入大模型的能力带来无限想象力。
近年来,GPT-3、OPT和PaLM等大型语言模型(LLM)在广泛的自然语言处理(NLP)任务中展现了强大的性能。然而,这些性能的实现需要大量的计算和内存推理,因为这些大型语言模型可能包含数千亿甚至万亿个参数,这使得在资源有限的设备上高效加载和运行变得具有挑战性
当前标准的应对方案是将整个模型加载到 DRAM 中进行推理,然而这种做法严重限制了可以运行的最大模型尺寸。举个例子,70 亿参数的模型需要 14GB 以上的内存才能加载半精度浮点格式的参数,这超出了大多数边缘设备的能力。
为了解决这种局限性,苹果的研究者提出在闪存中存储模型参数,至少比 DRAM 大了一个数量级。接着在推理中,他们直接并巧妙地进行闪存加载所需参数,不再需要将整个模型拟合到 DRAM 中。
这种方法基于最近的工作构建,这些工作表明 LLM 在前馈网络(FFN)层中表现出高度稀疏性,其中 OPT、Falcon 等模型的稀疏性更是超过 90%。因此,研究者利用这种稀疏性, 有选择地仅从闪存中加载具有非零输入或预测具有非零输出的参数。
论文地址: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 倍。
以上是模型推理加速:CPU性能提升5倍,苹果采用闪存进行大规模推理加速,Siri 2.0即将亮相?的详细内容。更多信息请关注PHP中文网其他相关文章!

在约翰·罗尔斯1971年具有开创性的著作《正义论》中,他提出了一种思想实验,我们应该将其作为当今人工智能设计和使用决策的核心:无知的面纱。这一理念为理解公平提供了一个简单的工具,也为领导者如何利用这种理解来公平地设计和实施人工智能提供了一个蓝图。 设想一下,您正在为一个新的社会制定规则。但有一个前提:您事先不知道自己在这个社会中将扮演什么角色。您最终可能富有或贫穷,健康或残疾,属于多数派或边缘少数群体。在这种“无知的面纱”下运作,可以防止规则制定者做出有利于自身的决策。相反,人们会更有动力制定公

许多公司专门从事机器人流程自动化(RPA),提供机器人以使重复性任务自动化 - UIPATH,在任何地方自动化,蓝色棱镜等。 同时,过程采矿,编排和智能文档处理专业

AI的未来超越了简单的单词预测和对话模拟。 AI代理人正在出现,能够独立行动和任务完成。 这种转变已经在诸如Anthropic的Claude之类的工具中很明显。 AI代理:研究

快速的技术进步需要对工作未来的前瞻性观点。 当AI超越生产力并开始塑造我们的社会结构时,会发生什么? Topher McDougal即将出版的书Gaia Wakes:

产品分类通常涉及复杂的代码,例如诸如统一系统(HS)等系统的“ HS 8471.30”,对于国际贸易和国内销售至关重要。 这些代码确保正确的税收申请,影响每个INV

数据中心能源消耗与气候科技投资的未来 本文探讨了人工智能驱动的数据中心能源消耗激增及其对气候变化的影响,并分析了应对这一挑战的创新解决方案和政策建议。 能源需求的挑战: 大型超大规模数据中心耗电量巨大,堪比数十万个普通北美家庭的总和,而新兴的AI超大规模中心耗电量更是数十倍于此。2024年前八个月,微软、Meta、谷歌和亚马逊在AI数据中心建设和运营方面的投资已达约1250亿美元(摩根大通,2024)(表1)。 不断增长的能源需求既是挑战也是机遇。据Canary Media报道,迫在眉睫的电

生成式AI正在彻底改变影视制作。Luma的Ray 2模型,以及Runway的Gen-4、OpenAI的Sora、Google的Veo等众多新模型,正在以前所未有的速度提升生成视频的质量。这些模型能够轻松制作出复杂的特效和逼真的场景,甚至连短视频剪辑和具有摄像机感知的运动效果也已实现。虽然这些工具的操控性和一致性仍有待提高,但其进步速度令人惊叹。 生成式视频正在成为一种独立的媒介形式。一些模型擅长动画制作,另一些则擅长真人影像。值得注意的是,Adobe的Firefly和Moonvalley的Ma

ChatGPT用户体验下降:是模型退化还是用户期望? 近期,大量ChatGPT付费用户抱怨其性能下降,引发广泛关注。 用户报告称模型响应速度变慢,答案更简短、缺乏帮助,甚至出现更多幻觉。一些用户在社交媒体上表达了不满,指出ChatGPT变得“过于讨好”,倾向于验证用户观点而非提供批判性反馈。 这不仅影响用户体验,也给企业客户带来实际损失,例如生产力下降和计算资源浪费。 性能下降的证据 许多用户报告了ChatGPT性能的显着退化,尤其是在GPT-4(即将于本月底停止服务)等旧版模型中。 这


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Atom编辑器mac版下载
最流行的的开源编辑器