apple-aiml-research/ml-stable-diffusion

Stable Diffusion with Core ML on Apple Silicon

解决的问题

该项目使 Stable Diffusion 图像生成模型能够在 Apple Silicon 设备(Mac、iPad 和 iPhone)上运行。它解决了在移动和桌面硬件上运行大型、计算成本高昂的扩散模型的挑战,通过提供专为 Apple 的 Core ML 框架设计的模型转换和优化工具来应对这一问题。

工作原理

该项目提供两个主要组件:

  1. Python 包(python_coreml_stable_diffusion:用于将 PyTorch 模型(通过 Hugging Face diffusers)转换为 Core ML 格式。它包含权重压缩和优化工具,例如训练后调色板化(post-training palettization)和混合位调色板化(Mixed-Bit Palettization, MBP),以减少模型大小和内存使用。
  2. Swift 包(StableDiffusion:一个面向开发者的库,可集成到 Xcode 项目中。它允许应用程序加载转换后的 Core ML 模型,并在设备上直接执行图像生成。

适用人群

  • 应用开发者:希望在 iOS、iPadOS 或 macOS 应用中集成高性能文本到图像生成功能的开发者。
  • 机器学习工程师:希望将 Stable Diffusion 模型优化用于 Apple 硬件边缘部署的研究人员和开发者。

主要亮点

  • 硬件加速:针对 Apple Neural Engine (ANE)、GPU 和 CPU 进行优化。
  • 高级压缩:支持无数据训练后调色板化(最高 8 位)和混合位调色板化(MBP),在几乎不损失质量的情况下实现极大幅度的模型尺寸缩减。
  • 内存管理:包含 reduceMemory 选项,可按需加载和卸载模型,使在内存有限的设备(如 iPhone 12 Mini)上也能运行。
  • 广泛兼容性:支持多个 Stable Diffusion 版本,包括 SD 2.1 和 SDXL。

相关

  • 项目
  • 项目
  • 项目
  • 项目