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。

相關

  • 專案
  • 專案
  • 專案
  • 專案