stable-diffusion-macos-install-help
在 Apple Silicon Mac 上本地运行 Stable Diffusion 的完整分步安装指南,覆盖从 Homebrew 到 dream.py 的 9 个环节
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
在 Apple Silicon Mac 上本地运行 Stable Diffusion 的完整分步安装指南,覆盖从 Homebrew 到 dream.py 的 9 个环节
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:深夜,你刚入手一台 M1 MacBook Pro,看到 Stable Diffusion 生成的图片震撼了全网,想自己也试试。但搜了一圈教程,要么是 Windows/Linux 的,要么是云端 API 的,要么就是 Intel Mac 的——你看着自己手里这台 Apple Silicon Mac,一时不知道从哪下手。这款指南就是为你准备的。
Stable Diffusion 自 2022 年由 Stability AI 公开以来,迅速成为 AI 图像生成领域的标杆模型。然而,在 Apple Silicon Mac 上本地运行 Stable Diffusion 一直是个「灰色地带」——官方文档主要面向 Linux/Windows,云端教程又需要付费 API,而网上零散的 Mac 经验分享要么版本过时,要么缺少关键依赖(如 protobuf、cmake),导致用户在第一步就卡壳。
这份指南来自 joelparkerhenderson 的个人实践积累,核心目标是解决 macOS Apple Silicon 上的环境依赖地狱——Homebrew 配置、Python 版本、Anaconda 环境变量、protobuf 编译工具链,每一步都有详细的验证命令,确保安装完成后直接进入 dream> 命令行交互界面。
指南开宗明义:Apple Silicon M1 芯片 + 至少 32GB 可用内存。这不是刻意制造门槛,而是 Stable Diffusion 在 macOS 上的实际硬件需求。
M1 芯片集成了 GPU 核心(称为 MPS,即 Metal Performance Shaders),macOS 通过 MPS 后端让 PyTorch 在 M1 的 GPU 上运行 AI 推理任务,无需 NVIDIA 显卡。这也是 macOS 本地跑 SD 的核心优势——苹果自研芯片的统一内存架构让 CPU 和 GPU 共享内存,带宽远高于传统 PCI-e 总线。
然而 32GB 是一个硬性门槛。Stable Diffusion v1.4 的模型权重约为 4GB,加上推理过程中的中间张量(intermediate tensors),峰值内存占用很容易超过 16GB。如果内存不足,系统会频繁触发 swap,导致生成一张图需要等待数分钟,实用性大打折扣。
这份指南不是一行命令搞定一切的「懒人包」,而是一条清晰的学习路径,涵盖了从零到可用的完整链路:
| 步骤 | 组件 | 验证方式 |
|---|---|---|
| 1 | Homebrew | brew --version >= 3.5.10 |
| 2 | Python 3.11+ | python3 --version |
| 3 | cmake | cmake --version >= 3.26 |
| 4 | git | git --version >= 2.40 |
| 5 | protobuf | brew info protobuf |
| 6 | Anaconda | conda --version >= 23.1.0 |
| 7 | SD 权重(v2 / v1.4) | 从 HuggingFace 下载 >4GB .ckpt 文件 |
| 8 | stable-diffusion 仓库 | git clone + conda env create |
| 9 | 启动 dream.py | python3 scripts/dream.py --full_precision |
指南特别推荐将权重文件存放在 /opt/stable-diffusion-checkpoints/ 系统目录而非用户目录,这样可以让同一台 Mac 上的多个用户共享同一套模型文件——这对于学校教室或共享工作站的场景非常友好。
报错 1:ImportError: cannot import name 'TypeAlias'
Python 3.9 不支持 typing.TypeAlias(该特性从 3.10 才引入),需要手动修改 src/k-diffusion/k_diffusion/sampling.py:将 from typing import TypeAlias 改为从 typing_extensions 导入。这是 Apple Silicon + conda 环境下的经典兼容性问题。
报错 2:多个 conda 环境冲突
指南要求在 PATH 中只能有唯一一个 conda 程序(/opt/anaconda3/condabin/conda),如果之前用 pip 或其他方式装过 conda,可能会出现多个 conda 抢 PATH 的情况。解决方法是明确 PATH 顺序或用完整路径调用。
Apple Silicon 的 MPS 后端不支持 autocast,因此指南要求使用 --full-precision 参数而非默认的半精度推理,这会消耗更多内存但保证正确运行。
指南作者在开头坦率地承认了三种不同需求层次:
这份指南的独特价值在于过程的透明性:用户可以完整了解 Stable Diffusion 在 macOS 上的运行原理,理解 conda 环境、PyTorch MPS 后端、模型权重加载的每一个环节。这不是「喂给你一条鱼」,而是「教你钓鱼的全套装备和手法」。
必须指出的是,这个项目的本质是个人经验分享文档,而非 Stable Diffusion 的官方项目或维护版本。主要局限性包括:
这份指南反映了一个重要的趋势:AI 模型正在从服务器走向终端设备。Stable Diffusion 在 Apple Silicon Mac 上的本地运行,代表了去中心化 AI 推理的探索——不依赖云端 API,不上传数据到第三方服务器,模型权重完全由用户掌控。随着 M4 芯片统一内存突破 192GB,未来在个人设备上运行 10B+ 参数模型并非遥不可及。
从社区贡献角度看,这类操作指南是 AI 民主化的重要基础设施——降低 AI 工具的使用门槛,让没有云服务资源的普通用户也能参与进来。133 颗 stars 证明了这个需求的真实存在。