llama.cpp 之于 LLM,它之于扩散模型
更新于 2026-09-25
← 返回汇总把整条扩散模型推理管线装进一个 C++ 二进制
纯 C/C++ 实现的扩散模型推理引擎,基于 ggml 张量库,覆盖 SD1.x→FLUX.2→Qwen-Image-2.1 的 30+ 图像模型、6 个编辑模型、5 个视频模型系。单二进制零外部依赖,从 CPU(AVX) 到 CUDA/Vulkan/Metal 六种后端,Android 上也能跑。适合本地出图、省显存部署、边缘设备集成。
819 forks · 267 open issues · MIT · 2023-08 创建 · 采集于 2026-09-25(GitHub API)。Day-0 = 新模型发布当天即可推理(Qwen-Image-2.1,2026-09-20)。
PyTorch + CUDA + diffusers + transformers,一条链断一环全瘫。sd.cpp 一个二进制,无外部依赖。
显存不够就被拒之门外。sd.cpp 靠 GGUF 量化 + VAE tiling + Flash Attention,4GB 卡也能跑 SDXL,甚至纯 CPU 出图。
服务器/GIMP 插件/Android 想嵌个生图能力,塞不动 Python 栈。C++ 库直接链接,KoboldCpp、LocalAI 都这么干。
解法是把 llama.cpp 的范式原样搬进扩散世界:ggml 张量后端 + 权重量化格式 + 单文件 CLI + 全平台预编译产物。
SD1.x / SD2.x / SD-Turbo · SDXL(含 Turbo) · SD3 / SD3.5 · FLUX.1 dev/schnell · FLUX.2 dev/klein · Qwen-Image 1.0 / 2.1 · Z-Image · Krea2 · Ideogram4 · PiD · Lens · Chroma · LongCat · MiniT2I · PixArt · ERNIE-Image · SenseNova U1.5 · Ovis / Anima / HiDream / LLaDA / Mage-Flow / SeFi / Boogu…
FLUX.1-Kontext-dev · Qwen-Image-Edit(含 2509 版)· LongCat Image Edit · Boogu Image Edit · Mage-Flow-Edit · LLaDA-Image Edit
指令式改图:输入原图 + 文字指令,输出编辑结果。
Wan2.1 / 2.2(含 VACE)· MiniMax-H3 · LTX-2.3 / 2.5 · HunyuanVideo 1.5 · LingBot-Video
视频是显存大户,量化 + 低精度是本地跑的必要条件。
每个模型有独立文档页(docs/qwen_image_2.1.md 等),写明权重下载与推荐参数。
| 时间 | 事件 | 意义 |
|---|---|---|
2026-09-20 | Qwen-Image-2.1 Day-0 支持 | 官方发布当天即可推理,发布即用 |
2026-08-20 | LTX-2.5 支持 | 视频模型持续扩充 |
2026-08-04 | MiniMax-H3 Day-1 支持 | 次日跟进,视频赛道跟进能力 |
2026-06 | Krea2 · Ideogram4 · PiD · Lens 密集落地 | 单月 4+ 新模型 |
2026-04-11 | 全新内嵌 Web UI | 不再只是 CLI,零配置浏览器操作 |
2026-01-18 | FLUX.2-klein 支持 | 紧跟 Black 开源大模型 |
2025-11~12 | FLUX.2-dev · Z-Image 连发 | 当月双杀 |
2025-10-12 | Qwen-Image / Qwen-Image-Edit | 国产头部模型首发窗口期 |
CI 产物编号已到 master-919(2026-09-25),master 分支几乎每天多次构建。
这是它能把「大模型塞进小显存」的根基——和 llama.cpp 共用同一套量化哲学。
| 后端 | 适用硬件 | 定位 |
|---|---|---|
CPU | x86 AVX / AVX2 / AVX512 | 兜底:无显卡也能出图,慢但能跑 |
CUDA | NVIDIA 全系 | 性能首选,显存吃紧时配合 GGUF |
Vulkan | N/A/Intel/AMD 皆可 | 跨厂商 GPU 通用方案 |
Metal | Apple Silicon | Mac 统一内存利器 |
OpenCL | 老 GPU / 异构设备 | 长尾兼容 |
SYCL | Intel oneAPI | Intel 卡原生加速 |
平台:Linux / macOS / Windows / Android(Termux、Local Diffusion)。后端是编译期开关,官方文档 backend.md 有选型指南。
与 stable-diffusion-webui 的 GPU RNG 一致。同一 seed + 参数 = 同一张图,跨机器可复现。
对齐 ComfyUI 的 RNG 行为。老工作流迁移时用。
# 1. 拿可执行文件:releases 页下载预编译产物,或源码构建 ./bin/sd-cli # 2. 下权重(SD 1.5 为例,safetensors/gguf/ckpt 均可) curl -L -O https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors # 3. 一行出图 ./bin/sd-cli -m v1-5-pruned-emaonly.safetensors -p "a lovely cat"
进阶:examples/cli/README.md 全参数文档 · docs/performance.md 性能与显存调优 · docs/build.md 构建各后端 · 2026-04 起有内嵌 Web UI。
定位是「引擎层」——自己不做大 UI,让上层应用长出来。这与 llama.cpp 在 LLM 生态的角色完全同构。
Playground 复刻 ggml 分块量化:生成模拟权重分布 → 按 32 值一块做 Q8_0 / Q5_1 / Q4_0 量化与反量化 → 直方图实时叠加对比,显示压缩比与量化误差。调分布形状(正态/重尾/离群点),看 Q4_0 何时崩、Q8_0 何时几乎无损——这正是 sd.cpp 省显存的代价公式。
纯前端实现,零网络依赖 · 量化/反量化算法与 ggml 块格式对齐(sandbox 数值验证)
评分 8.5:diffusion 推理侧事实上的「llama.cpp 同位素」——30+ 模型覆盖、Day-0 跟进速度、六后端全平台,是本地/边缘生图无可替代的选择;内嵌 Web UI 后开始吃桌面用户。生态位清晰:性能卷不过 CUDA 专用栈,但轻量与覆盖无人能敌。看点:Qwen/FLUX/Z-Image 系国产与开源新模型的默认本地引擎化、ggml 量化格式成为 diffusion 权重分发标准、LocalAI/KoboldCpp 集成持续加深。风险在 API 稳定性与维护者集中度。