Highlight
Apple 平台的机器学习能力分为四个层次:系统内置智能、ML 驱动的系统 API、Create ML 定制、Core ML 部署。
核心内容
这个 Session 把 Apple 平台的机器学习能力分成了四个层次。
第一层是系统内置智能,通过 Apple Intelligence 直接在 App 中使用。Writing Tools 提供文本改写、校对、总结能力,集成到系统的文本和 Web 视图即可(02:24)。Image Playground 提供端侧图像生成,几行代码就能获得预构建的 UI,模型在本地运行,用户可以无成本生成任意数量的图像(03:01)。Siri 通过 App Intents 理解和执行 App 功能,今年带来更自然、更个性化、上下文相关的体验(03:27)。
第二层是 ML 驱动的系统 API。Vision 框架今年新增了 Swift API(支持 Swift 6)、手部姿态检测、美学评分请求(04:23)。新增的 Translation 框架支持直接的语言翻译 API 和翻译展示 UI,可以批量翻译文本(05:11)。Natural Language、Sound Analysis、Speech 等框架继续提供文本分析、声音识别、语音转文字能力。
第三层是 Create ML,用你自己的数据定制系统模型。今年新增了对象追踪模板(用于 visionOS 空间体验锚定)、时间序列分类/预测组件,以及数据标注可视化(06:40)。
第四层是 Core ML,用于部署自定义模型(包括从 Hugging Face 下载的开源模型如 Whisper、Stable Diffusion、Mistral)。工作流分为三步:训练(PyTorch/TensorFlow/JAX/MLX on Mac,Metal 加速)-> 准备(Core ML Tools 转换和优化)-> 集成(Core ML 框架加载和推理)(07:51)。
详细内容
Apple 的端侧机器学习能力建立在 Apple 硅片的统一内存架构上,CPU、GPU 和 Neural Engine 中的 ML 加速器协同工作,实现高效低延迟的推理(00:59)。这使得手势识别、人像模式、ECG 和心率监测等特性能够完全在设备上运行,既保证交互性又保护用户隐私(00:22)。
Apple Intelligence:系统内置智能
Writing Tools 是 Apple Intelligence 的新语言能力,可以直接集成到系统文本视图和 Web 视图中。用户可以在 App 内直接使用改写、校对和总结功能,无需额外开发。建议查看「Get started with Writing Tools」(10168)了解最佳实践(02:24)。
Image Playground 提供端侧图像生成,开发者不需要训练模型或设计安全护栏,只需几行代码就能获得预构建的 UI。由于模型在本地运行,用户可以无成本生成任意数量的图像(03:01)。
Siri 今年通过 App Intents 框架获得重大改进,语音更自然、更个性化、上下文更相关。建议查看「Bring your app to Siri」(10133)了解如何增强 App 的 Siri 能力(03:27)。
ML 驱动的系统 API
Vision 框架今年提供了全新的 Swift API,支持 Swift 6。新增功能包括手部姿态检测(Body Pose 请求的一部分)和美学评分请求(04:23)。建议查看「Discover Swift enhancements in the Vision framework」(10163)了解如何轻松集成视觉理解能力。
Translation 框架是今年新增的语言翻译框架,提供两种集成方式:简单的翻译展示 UI(可编程启动)和直接翻译 API(可在任意 UI 中显示输出)。使用该 API 可以批量请求,更高效地翻译更多文本(05:11)。建议查看「Meet the Translation API」(10117)了解语言资源的下载和管理。
此外,Natural Language、Sound Analysis、Speech 等框架继续提供文本分析、声音识别、语音转文字能力(04:49)。
Create ML:用自有数据定制模型
Create ML 让你用自己的数据定制驱动系统框架的模型。Create ML app 提供模板选择、几步点击训练、评估和迭代。底层 Create ML 和 Create ML Components 框架支持在所有平台的应用内训练模型(06:07)。
今年新增功能:
建议查看「What’s new in Create ML」(10183)了解详情(07:07)。
Core ML 工作流:训练、准备、集成
对于更高级的用例(如微调的扩散模型或从 Hugging Face 下载的大语言模型),Core ML 提供完整的工作流。该工作流分为三个阶段(07:51):
# 阶段 1:训练(在 Mac 上使用 PyTorch/TensorFlow/JAX/MLX)
# 利用 Apple 硅片和统一内存架构,通过 Metal 加速训练
import torch
import coremltools as ct # 阶段 2:准备(使用 Core ML Tools 转换)
# 从 PyTorch 模型开始
torch_model = MyTrainedModel()
torch_model.eval()
# 转换为 Core ML 格式
mlmodel = ct.convert(
torch_model,
inputs=[ct.TensorType(shape=(1, 3, 224, 224), dtype=np.float32)]
)
# 优化模型(量化、压缩等)
mlmodel = ct.optimization.layerwise_compression(mlmodel)
# 保存 Core ML 模型
mlmodel.save("MyModel.mlmodel")
关键点:
torch_model.eval()确保模型处于推理模式,关闭 dropout 等训练特定行为ct.convert()将 PyTorch 模型转换为 Core ML 格式,指定输入张量形状和数据类型ct.optimization.layerwise_compression()对模型进行层级压缩,减小模型体积mlmodel.save()保存为.mlmodel文件,可在 Xcode 中直接使用
// 阶段 3:集成(使用 Core ML 框架加载和推理)
import CoreML
struct ModelPredictor {
let model: MyModel
init() throws {
// 从 bundle 加载编译后的模型
self.model = try MyModel(configuration: MLModelConfiguration())
}
func predict(image: CVPixelBuffer) throws -> MyModelOutput {
// 执行推理
let input = MyModelInput(image: image)
return try model.prediction(input: input)
}
}
关键点:
MyModel(configuration:)从 bundle 加载模型,支持配置计算单元(CPU/GPU/Neural Engine)MyModelInput封装模型输入,类型安全model.prediction(input:)执行推理,返回类型化的输出- Core ML 自动在 CPU、GPU 和 Neural Engine 之间分割模型以最大化硬件利用率
训练阶段(08:28):
- 利用 Apple 硅片和统一内存架构
- 支持 PyTorch、TensorFlow、JAX 和 MLX
- 通过 Metal 在 Apple GPU 上高效训练
- 建议查看「Train your machine learning and AI models on Apple GPUs」(10160)
准备阶段(09:14):
- 使用 Core ML Tools 将训练好的模型转换为 Core ML 格式
- 使用压缩技术优化模型以实现良好性能
- 今年新增:新的模型压缩技术、模型状态表示、Transformer 特定操作、模型多函数支持
- 建议查看「Bring your machine learning and AI models to Apple silicon」(10159)了解存储大小、延迟和准确性之间的权衡
集成阶段(10:16):
- Core ML 是在 Apple 设备上部署模型的网关,被数千个应用使用
- 简化开发工作流的 Xcode 集成
- 自动在 CPU、GPU 和 Neural Engine 之间分割模型
- 建议查看「Deploy machine learning and AI models on-device with Core ML」(10161)了解新特性:
- 新的
MLTensor类型简化计算胶水代码 - 使用状态管理大语言模型的键值缓存
- 使用函数在运行时选择图像生成模型的特定风格适配器
- 更新的性能报告提供每个操作成本的更多见解
- 新的
底层框架:MPS Graph 和 BNNS Graph
当 Core ML 的自动管理不够用时,可以使用更底层的框架(11:41):
MPS Graph(12:25):
- 基于 Metal Performance Shaders
- 可以加载 Core ML 模型或以编程方式构建、编译和执行计算图
- 适合有高图形工作负载的应用,可以将 ML 任务与其他工作loads排序
- 建议查看「Accelerate machine learning with Metal」(10218)了解 GPU 上 Transformer 的高效执行
BNNS Graph(13:12):
- Accelerate 框架的新 API,用于在 CPU 上优化运行机器学习模型
- 性能显著优于旧的基于内核的 BNNS API
- 支持 Core ML 模型,实现 CPU 上的实时和延迟敏感推理
- 对内存分配有严格控制,适合音频处理等用例
研究工具:MLX 和 CoreNet
Apple 开源了研究工具支持机器学习研究(14:47):
MLX(15:09):
- 由 Apple 机器学习研究人员设计,供其他研究人员使用
- 熟悉且可扩展的 API,用于在 Apple 硅片上探索新想法
- 基于统一内存模型,支持 CPU 和 GPU 之间的高效操作
- 支持 Python、C++ 或 Swift
CoreNet(15:42):
- 功能强大的神经网络工具包,专为研究人员和工程师设计
- 支持训练从标准到新颖架构的广泛模型
- 可以扩展或缩小以解决多样化任务
- 包括 OpenELM,一个高效的语言模型家族
核心启发
-
优先使用系统内置智能和 ML 驱动的 API
为什么值得做:Apple Intelligence、Writing Tools、Image Playground、Vision、Translation 等系统级功能已经过充分优化和测试,集成成本低,用户体验好。
怎么开始:Writing Tools 和 Image Playground 只需几行代码即可集成,Vision 框架的新 Swift API 更容易使用,Translation 框架提供开箱即用的翻译 UI。优先考虑这些方案,而不是自己训练类似功能的模型。
-
Create ML 适合需要自有数据定制的中级场景
为什么值得做:当系统模型不能满足特定需求时,Create ML 提供了用自有数据定制模型的低门槛方案,不需要深入的机器学习专业知识。
怎么开始:使用 Create ML app 选择合适的模板,用自有数据训练、评估和迭代。新的对象追踪模板适合 visionOS 空间体验,时间序列组件适合预测类应用。
-
Core ML 工作流适合部署自定义模型和开源模型
为什么值得做:当需要使用预训练的开源模型(如 Whisper、Stable Diffusion、Mistral)或自己训练的模型时,Core ML 提供了完整的端侧部署方案,充分利用 Apple 硬件加速。
怎么开始:在 Mac 上用 PyTorch/TensorFlow/JAX/MLX 训练模型,用 Core ML Tools 转换和优化,用 Core ML 框架集成到应用中。利用
MLTensor、状态和函数等新特性简化生成式 AI 模型的部署。 -
需要细粒度控制时使用 MPS Graph 或 BNNS Graph
为什么值得做:当 Core ML 的自动管理不能满足性能或延迟要求时,MPS Graph 和 BNNS Graph 提供了更底层的控制。
怎么开始:MPS Graph 适合有高图形工作负载的应用,可以将 ML 任务与其他 GPU 工作loads 排序。BNNS Graph 适合 CPU 上的实时和延迟敏感推理,如音频处理。
关联 Session
- Get started with Writing Tools — 集成 Apple Intelligence 写作能力到应用
- Discover Swift enhancements in the Vision framework — 探索 Vision 框架的 Swift 6 新 API
- Meet the Translation API — 了解新增的语言翻译框架
- What’s new in Create ML — 探索 Create ML 的新模板和特性
- Train your machine learning and AI models on Apple GPUs — 学习在 Mac 上训练模型的最佳实践
评论
GitHub Issues · utterances