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 倉庫中提出。