apple-aiml-research/ml-stable-diffusion
Stable Diffusion with Core ML on Apple Silicon
解决的问题
该项目使 Stable Diffusion 图像生成模型能够在 Apple Silicon 设备(Mac、iPad 和 iPhone)上运行。它解决了在移动和桌面硬件上运行大型、计算成本高昂的扩散模型的挑战,通过提供专为 Apple 的 Core ML 框架设计的模型转换和优化工具来应对这一问题。
工作原理
该项目提供两个主要组件:
- Python 包(
python_coreml_stable_diffusion):用于将 PyTorch 模型(通过 Hugging Face diffusers)转换为 Core ML 格式。它包含权重压缩和优化工具,例如训练后调色板化(post-training palettization)和混合位调色板化(Mixed-Bit Palettization, MBP),以减少模型大小和内存使用。 - 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。
相关
- 项目
- 项目
- 项目
- 项目