AI Toolkit 采样策略全解:5 个参数从 4 步到 25 步

发布时间:2026/9/14 13:12:43
AI Toolkit 采样策略全解:5 个参数从 4 步到 25 步 AI Toolkit 采样策略全解5 个参数从 4 步到 25 步【免费下载链接】ai-toolkitThe ultimate training toolkit for finetuning diffusion models项目地址: https://gitcode.com/GitHub_Trending/ai/ai-toolkit同一句提示词、同一个底模只改两个采样参数出图质量就能差出一截。开源项目 ai-toolkitAI Toolkit是面向扩散模型的微调工具箱覆盖 LoRA 训练到纯图生成的完整链路而采样策略由sampler、sample_steps、guidance_scale以及训练侧的noise_scheduler和timestep_type这 5 个参数直接决定。读懂 4 个核心机制采样器、步数、引导尺度、timestep 加权在 ai-toolkit 里采样出现在两个位置训练配置的sample块训练进程每sample_every步采样一次作为视觉反馈和纯生成任务的generate块。两侧字段一致选型方法通用。sampler先看模型家族流匹配系FLUX、Wan2.2、Qwen-Imagesample.sampler必须写flowmatch模板注释明确要求与train.noise_scheduler保持一致——训练和采样是同一个调度器两边不一致时噪声路径对不上经典 SD 系generate 模板默认sampler: ddpm注释说明当前阶段实际默认走 ddpmflowmatch 的实现位于 toolkit/samplers/custom_flowmatch_sampler.py在 diffusers 的 FlowMatchEulerDiscreteScheduler 之上扩展了时间步分配与加权逻辑。sample_steps去噪过程的曝光时长采样步数像相机的曝光时长4 步是抓拍只能拿到大致构图25 步是长曝光纹理细节才有机会保留。模板里的实际取值FLUX.1-schnell 用 4 步注释 1 - 4 works wellFLUX.1-dev 用 20 步Wan2.2 与 Qwen-Image 用 25 步SD 生成模板用 20 步。4 步到 20 步之间不是质量的线性爬坡——schnell 本身是蒸馏架构4 步就是它的设计工作点。guidance_scale文本对齐的强度引导尺度控制去噪方向向文本条件靠拢的力度过高画面开始变形过低则提示词约束变弱。各模板的取值SD 系 7FLUX.1-dev 4Wan2.2 3.5Qwen-Image 3FLUX.1-schnell 固定为 1模板注释直接写明 schnell does not do guidance这个模型没有引导机制调高数值没有意义。不同引导策略下的路径差异如下timestep_type把损失权重压到对的时间步上训练时会从 1000 个时间步中采样默认并不对每个时间步等权处理。set_train_timesteps支持以下几种分配方式linear1000→1 均匀分配Wan2.2 模板采用weighted使用 toolkit/timestep_weighing/default_weighing_scheme.py 的默认曲线文件注释说明曲线由 flex.1-alpha 计算得出且其他 flowmatch 模型上观察到类似曲线中段权重最高约 1.52两端低于 1末端约 0.44即去噪中段承担最大损失权重flux_shift动态偏移代码注释 matches inference dynamic shifting偏移量 mu 按图像序列长度在 base_seq_len 256 / max_seq_len 4096 区间内由 0.5 线性插值到 1.16sigmoid/lognorm_blend向中心偏置的采样分布曲线形态如下按模型对号入座采样器 × 步数 × 引导值速查下表数值全部取自仓库配置模板配置模板一列的文件名带 24gb 后缀即该配置的显存定位采样器适用模型推荐步数引导值配置模板24GB 参考flowmatchFLUX.1-dev204train_lora_flux_24gb.yamlflowmatchFLUX.1-schnell41train_lora_flux_schnell_24gb.yamlflowmatchWan2.2-T2V-A14B253.5train_lora_wan22_14b_24gb.yamlflowmatchQwen-Image253train_lora_qwen_image_24gb.yamlddpmSD1.5 / 社区 ckpt207generate.example.yaml选型分三步走先看模型家族流匹配系FLUX / Wan2.2 / Qwen-Imagesampler: flowmatch与noise_scheduler: flowmatch必须成对出现经典 SD 系以 generate 模板为基准sampler: ddpm 引导 7再看显存24GB 卡四套 flowmatch 模板的通用动作是quantize: true8bit 混合精度gradient_checkpointing: trueWan2.2 与 Qwen-Image 另开cache_text_embeddings: trueWan2.2 模板注释写明 24GB 卡必须启用低于 24GB仓库未提供更低显存的模板稳妥做法是先用 schnell 4 步路径验证流程再谈质量最后微调步数与引导以表中数值为基线看到基线采样结果后再一次只改一个变量FLUX / Wan2.2 / Qwen-Image 实战采样配置FLUXdev 20 步 4 引导schnell 4 步 1 引导train_lora_flux_24gb.yaml 的sample块sample: sampler: flowmatch # must match train.noise_scheduler width: 1024 height: 1024 guidance_scale: 4 sample_steps: 20schnell 是独立配置 train_lora_flux_schnell_24gb.yaml除步数与引导外还需要 assistant LoRA模板注释 Required for flux schnell trainingsample: sampler: flowmatch width: 1024 height: 1024 guidance_scale: 1 # schnell does not do guidance sample_steps: 4 # 1 - 4 works well对应model块需加一行assistant_lora_path: ostris/FLUX.1-schnell-training-adapter。Wan2.2 14B25 步 3.5 引导 linear 时间步train_lora_wan22_14b_24gb.yaml 的sample块sample: sampler: flowmatch width: 1024 height: 1024 guidance_scale: 3.5 sample_steps: 25两个注意点该模板 train 部分显式写了timestep_type: linear四个模型模板中唯一显式指定时间步分配方式的24GB 卡必须二选一启用cache_text_embeddings或unload_text_encoder模板注释明确两者不可同时开启。Qwen-Image 与 Stable Diffusion 的生成配置train_lora_qwen_image_24gb.yaml 的sample块sample: sampler: flowmatch width: 1024 height: 1024 guidance_scale: 3 sample_steps: 25生成侧的基准是 generate.example.yaml 的generate块也是 SD 系出图的入口generate: sampler: ddpm width: 1024 height: 1024 guidance_scale: 7 sample_steps: 20同一文件还列出了提示词后缀 flags--n负提示词、--l/--cfg引导值、--s步数、--w/--h分辨率不改动配置文件就能做 A/B 对比。出图不符预期时的排查与调优按出现频率排序细节模糊、纹理缺失先核对 sample_stepsschnell 4 步路径用于验证流程拿它当质量基准是方向错误FLUX dev 可从 20 试到 25流匹配模型核对timestep_type与推理行为的匹配度flux_shift对齐推理时的动态偏移linear最中性训练配置里若开了linear_timesteps: true实验性钟形加权注释标注 Experimental先关掉再排查出图与提示词不符SD 系先查 guidance_scale模板默认 7与 neg 负提示词是否配置SDXL 另有--p2/--n2第二文本编码器提示词与--grguidance rescale 可调FLUX 以 4 为基线schnell 的 1 不是可以调高的数值是结构性约束提示词本身矛盾词过多时先精简提示词采样参数是次要因素训练采样正常但生成差核对sample.sampler与train.noise_scheduler是否一致模板的 must match 注释查显存三件套24GB 卡上若为省事关掉了quantize: true/gradient_checkpointing: true/cache_text_embeddings: true先排除这一项继续深入全部模型采样配置模板config/examples/flowmatch / LCM / mean-flow 调度器实现toolkit/samplers/timestep 加权曲线数据flex.1-alpha 计算toolkit/timestep_weighing/default_weighing_scheme.py安装、运行与扩展开发流程README.md项目地址clone 仓库用https://gitcode.com/GitHub_Trending/ai/ai-toolkit【免费下载链接】ai-toolkitThe ultimate training toolkit for finetuning diffusion models项目地址: https://gitcode.com/GitHub_Trending/ai/ai-toolkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考