苹果如何能把一个 200 亿参数(20B)的模型跑在设备端?
问题在于,20B 参数无论用什么合理的精度,都塞不进手机RAM。为了能运行模型,苹果用了一套以今天的标准来看相当"非主流"的架构——先由一个小模型根据prompt预测需要哪些experts,再把这些专家从 NAND 闪存加载进 RAM。
它和典型 MoE 的区别在于:专家选择每次Prompt只做一次,之后所有 token 都用同一组专家生成,而不是像传统 MoE 那样每生成一个 token 就切换一次专家。
1. iPhone 的 RAM 只有 8–12GB,还要留给系统和其他 App。一个 20B 模型即使压到 4-bit 量化也要约 10GB,根本放不下。但 iPhone 的 NAND 有 256GB。问题是 NAND 读取速度比 RAM 慢一到两个数量级。
2. 传统 MoE 的做法在手机上行不通。 标准 MoE(比如 Mixtral、DeepSeek 那类)每生成一个 token 就由router重新选择一次Expert。这在数据中心没问题,因为所有Expert都常驻显存,切换是零成本的。
但在手机上,如果每个 token 都要从 NAND 重新加载不同的专家,推理速度会被 I/O 拖垮
3. 苹果的解法:每条Prompt只加载一次Expert。 用户输入 Prompt 后,先由一个常驻 RAM 的小模型"看一眼"这个问题大概属于什么领域,然后一次性把对应的专家权重从 NAND 加载进 RAM。
之后整条回复的所有 token 都用这同一组专家生成,中途不再换。NAND 加载的延迟只在开头出现,用户感受为首字延迟略长,后面的生成速度就和小模型一样快。
4. 代价:传统 MoE 逐 token 切换专家,理论上每个 token 都能用到最合适的参数;苹果这种"per-query routing"等于赌一把——开头选的专家要负责整条回复。如果一个问题中途话题跳跃(比如前半段聊代码、后半段聊菜谱),模型质量可能打折扣。但对手机端的典型短任务(摘要、改写、回复建议)来说,这个 trade-off 非常划算。
5. 对 Edge AI 投资的意义:这个设计说明端侧大模型的瓶颈正在从"算力"转向"存储带宽和架构创新"——NAND 在推理中从纯存储变成了"二级权重池",这对 NAND 厂商(你关注的 SNDK、铠侠、三星)是个潜在的长期叙事:
端侧 AI 不仅拉动 DRAM/HBM,也可能给高性能 NAND(更快的随机读取)创造新需求。
当然这个逻辑现在还早,但方向值得跟踪。
总而言之,不论以后AI怎么发展,储存都是躺赢
谢谢大家
点击图片查看原图