在撰寫本文時,Stable Diffusion WebUI 已經有了針對 Apple Silicon(M1)架構的版本支持。這意味着您現在可以在搭載 M1 處理器的 Mac 上運行 Stable Diffusion,體驗到性能提升的同時,還能享受到 macOS 的穩定性與安全性。以下是一份詳細的指導,幫助您在 MacOS M1 上順利安裝和使用 Stable Diffusion WebUI,即使是初學者也能輕鬆上手。
準備工作
1.1 硬件需求
- Mac – 您的 Mac 需要配備有 M1 處理器或其他兼容 ARM64 的芯片。
- 存儲空間 – 建議至少預留 20GB 以上的磁盤空間來存放模型文件和其他相關數據。
1.2 軟件準備
- Homebrew – 如果您還沒有安裝 Homebrew,請先按照官方指引進行安裝[^1]。
- Git – 用於下載 Stable Diffusion WebUI 源碼。
- Xcode Command Line Tools – 這是一些基本的命令行工具集合,通常可以通過安裝 Xcode 開發環境獲得。
安裝依賴庫
2.1 使用 Homebrew 安裝依賴包
# 確保您已經更新了最新的 Homebrew 倉庫信息
brew update
# 安裝必要的依賴包
brew install coreutils wget unzip p7zip cmake ninja
# 如果需要進行視頻編碼或解碼操作,還需要額外安裝 ffmpeg
brew install ffmpeg
獲取 Stable Diffusion WebUI 源代碼
3.1 克隆 WebUI 倉庫
由於 Stable Diffusion WebUI 是基於 Python 和 CUDA/Rust 等技術開發的,因此我們需要通過 Git 從 GitHub 上下載其源代碼。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
配置環境變量
4.1 創建虛擬環境
爲了隔離項目依賴,我們通常會爲每個項目建立一個獨立的虛擬環境。在 M1 Mac 上,我們可以使用 Rosetta 2 轉譯器來創建 Python 3 虛擬環境。
cd stable-diffusion-webui
python3 -m venv --system-site-packages env_arm64
source env_arm64/bin/activate # (輸入後按回車鍵)
4.2 安裝依賴模塊
在激活虛擬環境之後,我們可以開始安裝所需的 Python 模塊。
pip3 install -r requirements.txt
如果遇到任何問題,可能需要在 pip 安裝前添加額外的參數,例如 `–no-use-pep518` 或者嘗試手動指定 wheelhouse 目錄。
編譯和安裝必要組件
5.1 編譯 ONNX Runtime
ONNX Runtime 是用於高性能機器學習模型的推理框架,WebUI 中使用了它的某些功能。在 M1 Mac 上,我們需要編譯適用於 ARM64 的 ONNX Runtime。
cd scripts && sh build_ort.sh
這個腳本將自動下載、編譯並在本地安裝 ONNX Runtime for ARM64。
5.2 安裝 CUDnn
由於 M1 Mac 不支持原生 CUDA,所以我們需要找到替代方案。目前推薦的方法是使用 ROCm[^2] 及其配套的 HIP API。但是需要注意的是,HIP 並不是直接替換掉 CUDA,因此在某些情況下可能會有兼容性問題。
# 首先安裝 ROCm SDK
curl -sSL https://raw.githubusercontent.com/RadeonOpenCompute/ROCmInstaller/master/scripts/rocm-install.sh | bash -s -- -d /opt/rocm
# 然後設置環境變量以便後續使用 HIP
export PATH=/opt/rocm/hip/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/rocm/lib
# 最後,安裝 hipify-py 以轉換 TensorFlow 的 CUDA 代碼至 HIP
pip3 install git+https://github.com/ROCmSoftwarePlatform/pytorch@develop#egg=hipify-py
配置 WebUI
6.1 調整配置文件
在安裝完所有依賴後,我們需要對 WebUI 的一些配置文件進行調整。打開 `stable-diffusion-webui/webui-user-settings.json` 文件,並根據您的系統實際情況修改其中的路徑和選項。
6.2 啓動服務端
在一切準備就緒後,您可以按照以下步驟啓動 Stable Diffusion WebUI:
# 在終端中進入 WebUI 根目錄
cd stable-diffusion-webui
# 運行服務器
python3 webui/main.py
這將在您的默認瀏覽器中打開 WebUI。您可能會看到一些錯誤日誌,但大多數情況下這些並不影響正常使用。
七、模型下載及訓練
7.1 下載預訓練模型
Stable Diffusion 有多種預訓練模型可供選擇。您可以從 Hugging Face Hub[^3] 或者其他社區資源中下載所需模型。
7.2 訓練自定義模型
如果您想自己訓練模型,那麼需要準備大量的計算資源和足夠的數據集。在 M1 Mac 上,這可能不是最理想的環境,因爲訓練過程可能會非常耗時且佔用大量內存。不過,隨着技術的進步,未來也許會有更高效的解決方案。
八、常見問題和解決方法
8.1 性能優化
由於 M1 Mac 上的 GPU 資源有限,您可能在處理高分辨率圖像或大規模生成任務時會感到速度較慢。可以嘗試使用外部雲服務或GPU工作站來進行這類工作。
8.2 安全注意事項
在使用 Stable Diffusion WebUI 時,務必注意網絡安全和個人隱私保護。避免在不安全的網絡環境中上傳敏感內容,並且定期檢查和更新您的密碼和安全策略。
九、結語
恭喜您!現在您已經在 MacOS M1 上成功地安裝並配置了 Stable Diffusion WebUI。儘管這個過程可能有一些複雜,但它爲您提供了一個強大的創作平臺。希望本文能爲您的數字藝術之旅帶來便利。