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。
相關
- 專案
- 專案
- 專案
- 專案