DiffusionKit
Apple Silicon 本地运行 SD3/FLUX 扩散模型,MLX 加速推理,隐私友好的端侧 AI 画图工具
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Apple Silicon 本地运行 SD3/FLUX 扩散模型,MLX 加速推理,隐私友好的端侧 AI 画图工具
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:你有一台 M2 MacBook Air,想给文章配一张图,但不想把数据传到云端——隐私顾虑、网络延迟、API 费用,每一条都让人头疼。传统方案要么靠云端 API,要么在服务器上部署庞大的 PyTorch 环境,两条路都不轻松。
DiffusionKit 正是来解决这个问题的:它让你直接在 Apple Silicon Mac 上跑 Stable Diffusion 3、FLUX.1 等主流扩散模型,用的是苹果自研的 MLX 框架(对标 CUDA 的 Apple GPU 加速库)和 Core ML 推理引擎。702 颗 GitHub Stars,已经有 Piper 这样的开发者开始在生产环境用它做本地 AI 图像生成。

Apple Silicon(M 系列芯片)在 CPU 和统一内存架构上有显著优势,但 AI 推理一直是短板——NVIDIA 有 CUDA,AMD 有 ROCm,而 Apple 需要自己的生态。2023 年苹果开源了 MLX(类似 NumPy 的数组框架,专为 Apple 芯片优化),DiffusionKit 就是建立在 MLX 之上的扩散模型推理引擎。
项目由 Argmax, Inc. 开发维护,这是一家专注于模型优化的公司,曾为多家科技公司提供模型压缩和部署服务。DiffusionKit 的核心价值是把 PyTorch 训练好的模型"翻译"成 Core ML 格式,然后在 Mac 上高效推理。整个工具链从模型转换到图像生成,形成了完整的闭环。
DiffusionKit 实际上包含两个子项目:
diffusionkit 包python/src/diffusionkit/
├── mlx/ # MLX 推理后端(主力)
│ ├── diffusionkit.mlx.clip.py # CLIP 文本编码器
│ ├── diffusionkit.mlx.t5.py # T5 编码器(SD3 专用)
│ ├── diffusionkit.mlx.mmdit.py # MMDiT 主模型(SD3 核心)
│ ├── diffusionkit.mlx.vae.py # VAE 解码器
│ ├── diffusionkit.mlx.tokenizer.py # 文本分词
│ ├── diffusionkit.mlx.sampler.py # 采样器(调度)
│ └── diffusionkit.mlx.scripts/generate_images.py # CLI 入口
├── torch/ # PyTorch 模型结构定义(用于加载权重)
└── tests/ # 转换和推理测试
推理流程(以 SD3 为例):
DiffusionKit Swift PackageSwift 包处于早期阶段(README 标注 🚧),主要用于纯 iOS/macOS 原生应用场景,无需 Python 环境即可集成扩散模型推理。
| 功能 | 说明 |
|---|---|
| 支持模型 | Stable Diffusion 3 Medium、FLUX.1-dev、FLUX.1-schnell |
| 推理后端 | MLX(Apple Silicon GPU 加速) |
| 模型转换 | PyTorch (.safetensors) → Core ML (.mlpackage) |
| 输入模式 | 文生图(Text-to-Image)、图生图(Image-to-Image) |
| CLI 工具 | diffusionkit-cli 一键生成 |
| Python API | DiffusionPipeline / FluxPipeline 编程调用 |
| Swift Package | iOS/macOS 原生应用集成(开发中) |
# 安装
pip install -e .
huggingface-cli login --token YOUR_HF_TOKEN
# 最简文生图
diffusionkit-cli --prompt "a photo of a cat" --output-path cat.png
# 图生图(保持构图,略改风格)
diffusionkit-cli --image-path input.png --denoise 0.7 --prompt "a photo of a cat"
# 高分辨率生成
diffusionkit-cli --height 1024 --width 1024 --prompt "landscape"
from diffusionkit.mlx import DiffusionPipeline
pipeline = DiffusionPipeline(
shift=3.0,
use_t5=False,
model_version="argmaxinc/mlx-stable-diffusion-3-medium",
low_memory_mode=True,
a16=True, # 使用 16 位激活
w16=True, # 使用 16 位权重
)
image, _ = pipeline.generate_image(
"a photo of a cat",
cfg_weight=5.0,
num_steps=50,
latent_size=(64, 64), # 64*8 = 512
)
image.save("cat.png")
优点:
argmaxinc/mlx-stable-diffusion-3-medium),跳过 Core ML 转换步骤缺点:
DiffusionKit 代表了一个重要趋势:端侧 AI 推理的崛起。随着 M3/M4 芯片内存容量提升(最高 128GB 统一内存),本地运行 7B 参数模型已成为现实。DiffusionKit 通过 MLX 把苹果芯片的 AI 算力直接暴露给开发者,是 Apple 芯片 AI 开源生态的重要拼图。
对于内容创作者、独立开发者和隐私敏感型应用,DiffusionKit 提供了一个无需云端、随用随跑的 AI 画图方案。随着苹果持续投资 MLX 框架,这类工具的能力边界还会继续扩展。