環境
- MacBook Pro M2 Max, 32GB RAM
- macOS 15 Sequoia
- Python 3.11
步驟 1:安裝 ComfyUI
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
踩坑 1:PyTorch MPS 報錯
第一次啟動時出現:
RuntimeError: MPS backend out of memory
原因:MPS 的內存管理不如 CUDA 成熟,大模型容易 OOM。
解決:在啟動命令加上 --lowvram:
python main.py --lowvram
或者限制 MPS 緩存:
export PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.5
踩坑 2:模型路徑
ComfyUI 默認從 models/ 讀取。放置模型時注意子目錄結構:
ComfyUI/
└── models/
├── checkpoints/ # SD 基礎模型 (.safetensors)
├── vae/ # VAE 模型
├── clip/ # CLIP 模型
├── loras/ # LoRA 權重
└── controlnet/ # ControlNet 模型
踩坑 3:HuggingFace 下載慢
使用 huggingface-cli + 鏡像加速:
pip install huggingface_hub
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download stabilityai/stable-diffusion-xl-base-1.0 --local-dir models/checkpoints/
最終配置
我的啟動腳本 start.sh:
#!/bin/bash
source venv/bin/activate
export PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.3
python main.py --lowvram --listen 0.0.0.0 --port 8188
效能數據
| 模型 | 分辨率 | 耗時 | 內存 | |------|--------|------|------| | SD 1.5 | 512×512 | ~15s | ~6GB | | SDXL | 1024×1024 | ~45s | ~14GB | | SDXL + LoRA | 1024×1024 | ~50s | ~16GB |
結論
Mac M2 跑 ComfyUI 是可行的,但需要合理的記憶體管理。7B LLM + SD 同時跑會爆 RAM,建議分開使用。MPS 的生態還在改進,但日常使用已經足夠。