跳到正文
IFAI

AI科研

苹果如何优化端侧大模型:靠闪存突破内存限制,跑 2 倍大模型

首次发布 传播指数 31

Apple 发表论文《LLM in a flash》,展示如何将模型参数存放在闪存并按需调入 DRAM。借助窗口化复用与行列捆绑技术,设备能运行自身内存 2 倍大的模型,GPU 推理提速最高达 25 倍。这为端侧生成式 AI 落地铺平了道路。

苹果如何优化端侧大模型:靠闪存突破内存限制,跑 2 倍大模型
图:analyticsindiamag.com

手机跑大语言模型,最大的拦路虎向来不是芯片算力不够,而是内存太小。一台手机的运行内存一共就那么大,稍微像样点的大模型动辄几 GB 甚至十几 GB,一塞进去系统直接卡死。

苹果最近放出来的一篇重磅论文,偏偏就盯上了这个痛点。在题为《LLM in a flash: Efficient Large Language Model Inference with Limited Memory》的论文里,苹果研究团队提出了一套全新方案:既然运行内存不够,那就把模型参数扔进手机的闪存里,用到哪部分,再临时搬到内存里。

闪存当内存用,苹果用了两记巧招

把闪存当内存使听起来简单,但闪存的读取速度天生比运行内存慢得多。如果傻傻地每次现用现读,手机能卡成幻灯片。

苹果的做法是给闪存算了一笔精细账。他们构建了一个专门针对闪存特性的推理成本模型,把力气集中在两件事上:尽量少从闪存往内存搬数据,以及只要搬,就一口气搬大块、连续的数据。

为了做到这两点,苹果设计了两个关键技术。

第一个叫「窗口化」(windowing)。大模型在推理的时候,很多神经元其实是一直被激活的。苹果这套技术就是把之前激活过的神经元复用起来,只搬运真正发生变化的新数据,从而大幅削减了数据传输量。

第二个叫「行列捆绑」(row-column bundling)。闪存最擅长顺序读取大块数据,最讨厌零散的随机小读取。苹果根据这个特点,把闪存里读取的数据块捆绑得更大、更连续,直接吃满了闪存的顺序读取吞吐量。

两招配合下来,手机能跑比自身可用运行内存大一倍的模型。而在推理速度上,相比传统朴素加载方式,CPU 上的速度提升了 4 到 5 倍,GPU 上更是飙升了 20 到 25 倍。

手机厂商的端侧军备竞赛

这项技术之所以引人瞩目,是因为苹果正憋着在 iOS 18 里端出一整套生成式 AI 能力。

外界目前普遍预期,苹果打算用生成式 AI 重塑 Siri 和短信应用,让它们在回答复杂问题、自动补全句子时表现得更聪明。不仅如此,苹果还在探索把这套能力塞进 Apple Music、Pages、Keynote 以及开发者离不开的 Xcode 里。

苹果显然不是唯一急着把大模型塞进手机里的巨头。

三星刚刚发布了自家端侧大模型 Gauss,据报道马上就要集成进 2024 年初发布的 Galaxy S24 系列旗舰机中,未来还会覆盖笔记本和平板电脑。

Google 也没闲着,之前就公布了专为端侧设计的 Gemini Nano 模型,正准备落实在 Pixel 8 手机上,用来实现录音机自动生成摘要以及 Gboard 输入法智能回复。

为什么重要

这篇论文最值得关注的地方,在于它真正打到了端侧 AI 的成本七寸。

对于普通用户来说,这意味着你以后不需要为了用上最新本地 AI,被迫去买动辄 16GB 甚至更大内存的顶配手机。本地大模型不仅响应快,更关键的是隐私数据不需要上传云端,甚至没网的时候也能跑。

从行业角度看,苹果的做法非常聪明。手机硬件里 DRAM 芯片成本高、耗电大,如果全靠死堆硬件内存,手机价格很难压下来。苹果没有硬着头皮堆料,而是靠软硬件协同的算法,把原本廉价但速度慢的闪存利用到了极致。

不过在我们看来,这种方案并不是没有隐患。大模型频繁从闪存搬运数据,闪存颗粒的读写擦写寿命(TBW)和发热消耗会承受多大压力,论文里并没有给出长期的实测结论。

但不管怎么说,苹果已经指明了一条路:端侧 AI 的主战场,正在从比拼谁的模型参数更大,转向谁能用更克制的硬件把体验压进用户口袋里。

来源 (1)

  1. [1]
    analyticsindiamag.com(在新标签页打开)原文analyticsindiamag.com

每日 AI 内容精选