一文讲透扩散模型采样器:DDPM、DDIM、Euler、Heun、DPM-Solver、UniPC、LCM 全面对比

news2026/4/16 6:20:14
下面我把范围先说清楚:你问的“类似 Euler、Heun、DPM-Solver 这种定位的求解器”,我这里按扩散模型 / Flow Matching 推理阶段的通用采样器(scheduler / solver)来整理,而不把任务专用或模型专用的东西混进来,比如 RePaint、DDIM inverse、VQDiffusion、CogVideoX/Helios 专用调度器。这也是目前 Diffusers 文档对主流 scheduler 的组织方式:它把 Euler、Heun、LMS、PNDM、KDPM2、DPM-Solver、DEIS、UniPC、EDM、FlowMatch、LCM、TCD 等都放在同一类推理 scheduler 里。严格说不可能把学术史上“所有数值法”穷举完,所以下面给你的是今天主流生态里真正会用到的、比较完整的通用清单。(Hugging Face)先给一句总判断:老牌通用型:DDIM、Euler、Heun、LMS、PNDM、IPNDM、KDPM2扩散特化高阶型:DEIS、DPM-Solver、DPM-Solver++、UniPC、DPM-Solver-v3随机 / SDE / VE 型:Euler a、KDPM2 a、Karras VE、Score SDE VE/VP、SA-Solver模型家族特化型:EDM Euler、EDM DPM-Solver、FlowMatch Euler/Heun、CM、LCM、TCD这些方法的区别,主要不在“能不能生成图”,而在于:是 ODE 还是 SDE、是单步还是多步、是通用还是为某一模型家族特化、在 few-step 下是否更强。(Hugging Face)1)通用确定性 ODE 求解器 / 历史基线这一组最像“数值分析课里的通用 ODE 方法搬到扩散里来”。DDIM 是一阶隐式/确定性基线;Euler、Heun 来自 EDM 设计空间;LMS、PNDM、IPNDM 属于线性多步或伪数值方法;KDPM2 则是 k-diffusion 里 DPM2 那一路的二阶方法。它们共同特点是:兼容性强、容易理解、很多旧 UI / 老教程都能看到。(Hugging Face)求解器方法类型随机性核心特点更适合的应用场景不太适合DDIM一阶、隐式、非 Markov低/可近似无老牌快速基线,逻辑清楚,兼容广做基线对比、复现实验、旧模型兼容极少步数时通常不如新高阶法Euler一阶 ODE低简单、稳、快,很多框架默认好使通用文生图、20~30 步左右的稳妥选择5~8 步这种超低步数Heun二阶预测-修正低比 Euler 更准,但每步更贵质量优先、愿意多花一点算力极致追求吞吐量LMS线性多步低老牌多步法,历史上很常见中等步数、老生态兼容现在 few-step 常被新方法超过PNDM / PLMS伪数值法,RK + 线性多步低比早期 DDIM 更“数值法味儿”老的 latent diffusion / 老教程复现现代 few-step 主战场IPNDM四阶改进伪线性多步低比 PNDM/PLMS 更高阶想保留 PLMS 风格但更高阶主流 UI 支持不如 DPM++ 普遍KDPM2二阶 DPM2 路线低二阶、通常比一阶法更“讲究”中等步数下追求更好精度超低步数未必占优KDPM2 a二阶 + ancestral高在二阶基础上保留随机性想要更多纹理感、风格发散严格可复现、完全确定性场景2)扩散特化的高阶快速求解器这一组是现在最值得单独记住的。核心思想是:不要再把 diffusion ODE 完全当黑盒来解,而是利用它的特殊结构做高阶快速求解。DEIS 走的是 exponential integrator;DPM-Solver / DPM-Solver++ 是扩散专用高阶 ODE solver;UniPC 是统一的 predictor-corrector;DPM-Solver-v3 又在此基础上往 few-step 和大 guidance 做了进一步优化。总体上,这一组最适合“少步数还想保质量”。(Hugging Face)求解器方法类型随机性核心特点更适合的应用场景不太适合DEIS高阶 exponential integrator低利用半线性结构减小离散误差5~15 步 few-step 采样生态支持不如 DPM++ 普及DPM-Solver (single-step)扩散专用高阶 ODE低10~20 步就能出不错质量无引导或轻引导的快速采样强 guidance 下通常不如 ++ 稳DPM-Solver++扩散专用高阶 ODE低对 guided sampling 更友好文生图、CFG 较高、现代通用默认首选之一某些实现里参数较多,新手会迷糊DPMSolverMultistep / DPM++ 2M多步高阶低现在最常见的实战强项之一日常文生图、图像质量和速度平衡需要极强随机性的场景DPMSolverSinglestep / DPM++ 2S单步高阶低历史上常见,逻辑更直接少步快速推理、便于理解一般不如 2M 普遍DPM-Solver SDE / DPM++ SDE扩散特化 SDE 高阶中/高把高阶快解和随机性结合想保留一点随机探索又想快完全确定性复现UniPC统一预测-校正框架低尤其擅长极少步数5~10 步的 few-step 采样老旧框架不一定有DPM-Solver-v3改进版高阶 ODE低对 5~10 NFE、大 guidance 更强追求 cutting-edge few-step 质量工程落地还没 DPM++ 那么普及Cosine DPM-SolverDPM-Solver 的 cosine 变体低面向 cosine/noise schedule 友好音频扩散、Stable Audio Open 一类一般图像模型默认首选并不是它3)随机 / SDE / VE 家族求解器这一组的思路是:不要完全走确定性 ODE,而是保留 SDE / ancestral 的随机性。它们常见于“我不只想稳,我还想要多样性、纹理感、发散感”的场景。Karras VE、Score SDE VE/VP 更偏 score-based / VE/VP 研究线;SA-Solver 则是把多步随机采样这件事做得更系统。(Hugging Face)求解器方法类型随机性核心特点更适合的应用场景不太适合Euler aancestral 一阶高简单直接,随机性足想让结果更活、更有偶然性严格复现、完全稳定Karras VEVE 模型专用随机采样高专门给 variance-expanding 模型用VE 模型、需要 stochastic churnVP / Flow Matching 模型Score SDE VEVE-SDE高score-based VE 路线标准做法研究 / 复现 VE score model主流 latent diffusion 实战Score SDE VPVP-SDE高score-based VP 路线标准做法研究 / 复现 VP score modelA1111/ComfyUI 日常出图SA-Solver随机 Adams 多步 SDE中/高随机 few-step 的代表方法想在少步数里兼顾质量与多样性生态支持不如 DPM++ 普及4)模型家族特化:EDM / Flow Matching / Consistency这组非常重要,因为它们不是“万能黑盒 solver”,而是跟模型训练范式高度绑定。EDM 系:更适合按 Karras/EDM 参数化训练出来的模型。FlowMatch 系:更适合 SD3、FLUX 这类 Flow Matching / rectified flow 风格模型。CM / LCM / TCD 系:更适合 consistency / distilled few-step 模型,本来就是为“一步或极少步”服务的。(Hugging Face)求解器绑定的模型家族随机性核心特点更适合的应用场景不太适合EDMEulerEDM / Karras 公式化低EDM 里非常经典,20~30 步很稳EDM 训练模型的标准默认之一非 EDM 模型硬套EDMDPMSolverMultistepEDM + DPM-Solver++低把高阶快解放到 EDM 公式化里EDM 模型 + few-step普通 VP 模型不一定最优FlowMatch EulerFlow Matching低FM 模型最自然的默认选项之一SD3/FLUX/LTX-Video 一类 FM 模型非 FM 模型FlowMatch HeunFlow Matching低比 FM Euler 更精细FM 模型里偏质量优先极限吞吐量CM Stochastic IterativeConsistency Models中原生支持一步和少步原生 consistency model普通扩散模型直接换 solverLCM SchedulerLatent Consistency Models低/中1~8 步非常快LCM / LCM-LoRA 极少步出图追求最高保真、很多步慢慢磨TCD SchedulerTrajectory Consistency Distillation中比 LCM 更强调低步清晰度和细节TCD 模型、few-step 质量优先非 TCD 权重直接套用DDIM(若放到这里看)扩散基线低很多蒸馏/一致性工作会拿它作老师或对照做老师模型、做速度对照现代强 few-step 首选5)怎么选:直接给你实战版结论如果你在普通文生图里只想先选一个稳妥默认,通常先试DPM-Solver++ 多步(DPM++ 2M)或UniPC。前者是现代扩散采样里的常用强基线,后者在少步数时尤其强。(Hugging Face)如果你想要更多随机性、更多风格发散,通常会优先试Euler a、KDPM2 a、SA-Solver;如果模型本身是 VE 路线,再看Karras VE / Score SDE VE。(Hugging Face)如果你的预算极低,只给 5~10 步,优先关注UniPC、DEIS、DPM-Solver++、DPM-Solver-v3;如果模型本来就是蒸馏好的 few-step 模型,那就直接上LCM / TCD / CM。(Hugging Face)如果你的模型是 Flow Matching,别再优先想 DPM++,通常先试FlowMatch Euler,想更稳一点再试FlowMatch Heun。(Hugging Face)如果你的模型是 EDM 训练出来的,先看EDMEuler或EDMDPMSolverMultistep,因为它们就是按 EDM 公式化写的。(Hugging Face)6)一句话记忆版你可以把这些求解器粗暴记成下面四句:Euler / Heun / LMS / PNDM / IPNDM / KDPM2:通用数值法系DEIS / DPM-Solver / UniPC / DPM-Solver-v3:扩散特化高阶快解系Euler a / Karras VE / Score SDE / SA-Solver:随机 / SDE 系EDM / FlowMatch / CM / LCM / TCD:模型家族绑定系如果你愿意,我下一条可以继续给你整理一版“这些 solver 在 A1111 / ComfyUI / Diffusers 里的对应关系表”。二、以上哪些是Diffusion、哪些属于Flow-matching,哪些两者都能用?可以,最不容易混淆的分法是:按“实际模型家族兼容性”来分,不按数学名字来分。因为像Euler、Heun这种名字,本质上是通用 ODE 数值法;但在工程里,通常会分成:Diffusion 版实现:EulerDiscreteScheduler、HeunDiscreteSchedulerFlow-Matching 版实现:FlowMatchEulerDiscreteScheduler、FlowMatchHeunDiscreteScheduler所以如果只看“Euler”这两个字,会误判。Hugging Face 的 scheduler 总览把这些实现明确分开列出;Flow Matching 原论文也明确说,FM 采样可以用现成的 ODE solver。(Hugging Face)一句话总结属于 Diffusion 的大部分你上面提到的求解器,默认都属于 Diffusion 生态:DDIMEulerDiscrete / EDMEulerHeunDiscreteLMSPNDM / IPNDMKDPM2 / KDPM2 aDEISDPM-Solver / DPM-Solver++DPM-Solver SDEUniPCDPM-Solver-v3Cosine DPM-SolverEuler aKarras VEScore SDE VE / VPSA-SolverEDMDPMSolverMultistepCM / LCM / TCD(它们不是 FM,更接近 consistency / distillation 路线,通常仍站在 diffusion 这边)这些方法的官方文档或论文都直接写明是给diffusion ODE / diffusion models / VE/VP diffusion / score-based models用的。(Hugging Face)属于 Flow-Matching 的明确属于 FM 的,是名字里就写了FlowMatch的这两个:FlowMatch EulerFlowMatch HeunDiffusers 文档把它们单独作为 FlowMatch scheduler 列出来;FlowMatchEulerDiscreteScheduler文档还直接写了它基于 Stable Diffusion 3 的 flow-matching sampling。(Hugging Face)两者都能用的如果你说的是数学方法层面,那真正“两边都能用”的主要是:EulerHeun原因是它们本来就是通用 ODE solver,而 Flow Matching 论文明确说 FM 可以用现成的 ODE solver 来采样。与此同时,Diffusion 侧也早就有 Euler / Heun 版本。(arXiv)但要特别注意:“两者都能用”说的是数学方法,不代表你在代码里可以把同一个 scheduler 类直接乱套到两种模型上。实际工程里一般还是要选对应实现:Diffusion 模型 →EulerDiscreteScheduler/HeunDiscreteSchedulerFlow-Matching 模型 →FlowMatchEulerDiscreteScheduler/FlowMatchHeunDiscreteScheduler(Hugging Face)按你上面那一整份清单重新分类名称分类说明DDIMDiffusion来自 DDPM/DDIM 扩散采样线,不是 FM (Hugging Face)Euler两者都能用数学上是通用 ODE solver;工程上分 Diffusion 版和 FlowMatch 版 (arXiv)Heun两者都能用和 Euler 一样,数学上通用;工程上有 Diffusion 版和 FlowMatch 版 (arXiv)LMSDiffusionDiffusers 放在 diffusion schedulers 里,历史上用于扩散采样 (Hugging Face)PNDMDiffusion伪数值法扩散采样器 (Hugging Face)IPNDMDiffusionPNDM 改进版,仍属 diffusion 线 (Hugging Face)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2522409.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…