MiniMax-H3 CFG 蒸馏模型 SFT 后发糊,可能是什么原因?
Activity
YPatrickW commentedon Oct 9, 2026
@reaper19991110 +1,第三种目前效果最好,但是感觉还是有很多问题的,你做什么任务?
reaper19991110 commentedon Oct 9, 2026
底模是ref2va。目前参考图生成的真人视频的人脸还是比较有ai感的,主要是想训出一版专门针对真人电影/电视剧场景的。
YPatrickW commentedon Oct 9, 2026
请教一下把模型训回推理时走真 CFG(正、负两次前向) 这个咋做呢?
mi804 commentedon Oct 9, 2026
DeCFG 和
training_cfg_scale都能在一定程度上缓解 SFT 对 CFG 蒸馏效果的破坏,但随着训练步数增加,蒸馏效果仍可能逐渐退化。这也是直接 SFT 很难完全避免的问题。如果希望在适配新数据的同时尽可能保留生成质量,通常需要采用 DMD 等蒸馏方法。对于直接 SFT,如果没有训练音频的需求,一个比较有效的经验是设置
--audio_loss_weight 0.0,关闭音频 loss。这样可以显著加快视觉部分的收敛,并改善视觉效果。另外,推理时可以直接传入
cfg_scale=4.0,启用真正的 CFG,也就是正、负条件各进行一次前向计算。reaper19991110 commentedon Oct 9, 2026
简单的说就是,将已经cfg蒸馏的模型,用教师模型指导学生模型的方法,将cfg蒸馏模型变成普通cfg模型。本质上和蒸馏的操作的一样的,只不过是将cfg的v和非cfg的v对调了。思路来自于。https://huggingface.co/nyanko7/flux-dev-de-distill。
reaper19991110 commentedon Oct 9, 2026
感谢回复!
1.DeCFG 和 training_cfg_scale 在步数增加后,退化确实很明显。
2.你说用 DMD 蒸馏的方法进行训练,我有些不理解。据我所知,这是一种用于步数蒸馏的分布匹配蒸馏。你的意思是用分布匹配蒸馏做一种保蒸馏训练吗?也就是原模型作为 teacher,student 模型用 cfg=4 的推理方式出视频,然后进行打分,用分数差作为梯度进行训练。如果我说的不对,麻烦你讲解一下。
3.关闭音频 loss 这一点我确实没想过,之后我会尝试,感谢你的建议。
4.传入 cfg_scale=4.0 进行推理我有过尝试,在我问题里面的方案 1 和方案 3 都进行了推理。
总之,我认为目前对于 CFG 蒸馏的模型,有两种思路。一种是保蒸馏,也就是在不破坏 CFG 蒸馏的情况下进行训练,如 DeCFG 和 training_cfg_scale=4,最后推理仍是 cfg=1。一种是去蒸馏(反蒸馏),即用蒸馏一样的方式,不过是让v_cond回归,或者用正常 MSE 训练的方法,把模型拉回 CFG 的情况,训练完后用 CFG 进行推理。
YPatrickW commentedon Oct 9, 2026
@reaper19991110 请问用的diffsynth-studio的默认shift训练吗?还是用的官方的video12,audio3的shift呢?有对比过效果吗?
reaper19991110 commentedon Oct 10, 2026
diffsynth-studio的默认shift进行训练,我没做改动和对比。
Feynman1999 commentedon Oct 10, 2026
我感觉2.2太小了,视频不应该用这个做训练。至少5以上吧