Core ML、MLX 与基础模型:如何选择苹果端侧 AI 栈
如今,苹果提供了四种在用户设备上运行模型的截然不同的方式,选错一种往往意味着需要重写代码。在我用来撰写本文的 M2 Max 上,MLX 能够持续提供 11.2 TFLOPS 的 FP16 矩阵运算,并以实测 351 GB/s 的统一内存带宽传输数据。
对于大多数应用而言,这种算力并非最佳选择,因为内置的 Foundation Models 框架只需六行 Swift 代码就能完成任务,且不会增加任何下载体积。
这四个框架并非相互竞争,而是针对同一个问题的四种不同解答:这个模型属于谁?由谁负责执行?
简而言之:
Foundation Models 是默认选项。如果苹果的端侧约 30 亿参数大语言模型能够胜任你的任务(摘要、抽取、分类、生成结构化输出、调用你的工具),那么你无需打包任何模型权重,也无需支付推理成本,并且还能免费获得操作系统层面的所有模型升级。
Core ML 适用于将你训练好的模型打包进应用内分发。它是唯一能够原生调度神经引擎、符合 App Store 发布规范、并以提前编译换取电池续航与确定性的方案。
MLX 则适用于模型本身就是产品的场景:研究、微调、运行开放权重的大语言模型,或任何需要对张量进行即时控制的工作负载。它是一款面向开发者机器和 Mac 应用的工具,而非用于 iOS 正式发布的载体。
Core AI(iOS 27)是这一切的基础:一个底层的模型执行框架,提供 NDArray 张量与显式的计算单元指定功能,专为那些目前滥用 Core ML 作为张量运行时的团队而设计。
通常,只需一个问题就能做出决策:内置模型 → Foundation Models;你的模型在 iOS 上 → Core ML;你的模型在 Mac 上 → MLX;在 iOS 上需要张量级控制 → Core AI。
本文剩下的部分,则聚焦于那 20% 会打破这一经验法则的特殊情况。
问题背后的问题
我所观察过的每一次“该用哪个框架”的讨论,最终都会归结为两个维度。(关于这两个维度,我都曾撰写了深入分析:基础模型、核心机器学习、MLX、核心人工智能。)
第一个维度:模型权重属于谁……