Swift 🧨Diffusers:Mac 版快速 Stable Diffusion
使用 Mac 版 Diffusers 轻松将文本转换为精美图像,这是一款由最先进的扩散模型提供支持的原生应用程序。它利用了社区为 Hugging Face Hub 贡献的一系列最先进的文本到图像模型,并转换为 Core ML 以实现闪电般的性能。我们的最新版本 1.1 现已在 Mac App Store 上架,具有显著的性能升级和用户友好的界面调整。它为未来的功能更新奠定了坚实的基础。此外,该应用程序是完全开源的,并采用宽松的 许可证,因此您也可以在其基础上进行构建!请访问我们的 GitHub 存储库 https://github.com/huggingface/swift-coreml-diffusers 获取更多信息。

Mac 版 🧨Diffusers 到底是什么?
Diffusers 应用程序(App Store,源代码)是我们的 🧨diffusers
库 的 Mac 版本。这个库是用 Python 和 PyTorch 编写的,并采用模块化设计来训练和运行扩散模型。它支持许多不同的模型和任务,并且高度可配置和优化。它也可以在 Mac 上运行,使用 PyTorch 的 mps
加速器,这是 Apple Silicon 上 cuda
的替代品。
那么,为什么您会想运行原生 Mac 应用程序呢?原因有很多
- 它使用 Core ML 模型,而不是原始的 PyTorch 模型。这很重要,因为它们允许针对 Apple 硬件特性进行额外的优化,而且 Core ML 模型可以在您系统中的所有计算设备上运行:CPU、GPU 和神经引擎,**同时**——Core ML 框架将决定模型的哪些部分在每个设备上运行,以使其尽可能快。PyTorch 的
mps
设备无法使用神经引擎。 - 它是一个 Mac 应用程序!我们努力遵循 Apple 的设计语言和指导方针,使其在您的 Mac 上感觉像家一样。无需使用命令行、创建虚拟环境或修复依赖项。
- 它是本地和私密的。您不需要在线服务的积分,也不会遇到长时间的排队——只需生成所有您想要的图像,并将其用于娱乐或工作。隐私得到保证:您的提示和图像归您所有,并且永远不会离开您的计算机(除非您选择共享它们)。
- 它是开源的,它使用 Swift、Swift UI 以及适用于 Mac 和 iOS 开发的最新语言和技术。如果您是技术人员,您可以使用 Xcode 随意扩展代码。我们也欢迎您的贡献!
性能基准
总结:根据您的电脑,Diffusers 1.1 上的文本到图像生成速度可提升多达 两倍。⚡️
我们对多台 Mac 进行了大量测试,以确定能够获得最佳性能的计算设备组合。对于某些电脑,使用 GPU 效果最好,而另一些电脑则在启用神经引擎(或 ANE)时效果更佳。
来看看我们的基准测试。所有组合都除了 CPU 外,还使用了 GPU 或 ANE。
模型名称 | 基准测试 | M1 8 GB | M1 16 GB | M2 24 GB | M1 Max 64 GB |
---|---|---|---|---|---|
核心数(性能/GPU/ANE) | 4/8/16 | 4/8/16 | 4/8/16 | 8/32/16 | |
Stable Diffusion 1.5 | |||||
GPU | 32.9 | 32.8 | 21.9 | 9 | |
ANE | 18.8 | 18.7 | 13.1 | 20.4 | |
Stable Diffusion 2 Base | |||||
GPU | 30.2 | 30.2 | 19.4 | 8.3 | |
ANE | 14.5 | 14.4 | 10.5 | 15.3 | |
Stable Diffusion 2.1 Base | |||||
GPU | 29.6 | 29.4 | 19.5 | 8.3 | |
ANE | 14.3 | 14.3 | 10.5 | 15.3 | |
OFA-Sys/small-stable-diffusion-v0 | |||||
GPU | 22.1 | 22.5 | 14.5 | 6.3 | |
ANE | 12.3 | 12.7 | 9.1 | 13.2 |
我们发现内存量似乎对性能影响不大,但 CPU 和 GPU 核心的数量确实有影响。例如,在 M1 Max 笔记本电脑上,使用 GPU 的生成速度比使用 ANE 快得多。这可能是因为它具有标准 M1 处理器四倍的 GPU 核心数(以及两倍的 CPU 性能核心数),而神经引擎核心数相同。相反,Mac Mini 中使用的标准 M1 处理器使用 ANE 比使用 GPU 快两倍。有趣的是,我们测试了同时使用 GPU 和 ANE 加速器,发现它相对于仅使用其中一个获得的最佳结果并没有提高性能。临界点似乎在 M1 Pro 芯片的硬件特性附近(8 个性能核心,14 或 16 个 GPU 核心),我们目前无法访问。
🧨Diffusers 1.1 版本根据应用程序运行的计算机自动选择最佳加速器。我们所知的任何云服务都没有提供某些设备配置,例如“Pro”变体,因此我们的启发式算法可以针对它们进行改进。如果您想帮助我们收集数据以不断改善我们应用程序的开箱即用体验,请继续阅读!
社区征集基准数据
我们有兴趣在 Mac 设备上运行更全面的性能基准测试。如果您想提供帮助,我们创建了这个 GitHub issue,您可以在其中发布您的结果。我们将使用它们来优化应用程序未来版本的性能。我们对 M1 Pro、M2 Pro 和 M2 Max 架构特别感兴趣 🤗

版本 1.1 中的其他改进
除了性能优化和修复一些错误外,我们还专注于添加新功能,同时尽量保持用户界面简单干净。其中大部分是显而易见的(指导尺度,可选禁用安全检查器,允许取消生成)。我们最喜欢的功能是模型下载指示器,以及一个用于重用先前生成的种子以调整生成参数的快捷方式。
版本 1.1 还包括有关不同生成设置作用的额外信息。我们希望 🧨Diffusers for Mac 能够尽可能地让所有 Mac 用户(而不仅仅是技术人员)都能轻松进行图像生成。
后续步骤
我们相信 Apple 生态系统中图像生成还有巨大的潜力。在未来的更新中,我们将专注于以下方面:
- 从 Hub 轻松访问更多模型。以 Mac 式的方式,从应用程序中运行任何 Dreambooth 或微调模型。
- 发布 iOS 和 iPadOS 版本。
我们正在考虑更多想法。如果您想提出自己的建议,非常欢迎您在我们的 GitHub 仓库中提出。