Skip to content

MiniMax-H3 CFG 蒸馏模型 SFT 后发糊,可能是什么原因? #1735

Open

Description

@reaper19991110

MiniMax-H3 CFG 蒸馏模型 SFT 后发糊,可能是什么原因?

Activity

  1. YPatrickW commented on Oct 9, 2026

    @YPatrickW

    @reaper19991110 +1,第三种目前效果最好,但是感觉还是有很多问题的,你做什么任务?

  2. reaper19991110 commented on Oct 9, 2026

    @reaper19991110
    Author
    1. @reaper19991110 +1,第三种目前效果最好,但是感觉还是有很多问题的,你做什么任务?

    底模是ref2va。目前参考图生成的真人视频的人脸还是比较有ai感的,主要是想训出一版专门针对真人电影/电视剧场景的。

  3. YPatrickW commented on Oct 9, 2026

    @YPatrickW

    请教一下把模型训回推理时走真 CFG(正、负两次前向) 这个咋做呢?

  4. mi804 commented on Oct 9, 2026

    @mi804
    Collaborator

    DeCFG 和 training_cfg_scale 都能在一定程度上缓解 SFT 对 CFG 蒸馏效果的破坏,但随着训练步数增加,蒸馏效果仍可能逐渐退化。这也是直接 SFT 很难完全避免的问题。如果希望在适配新数据的同时尽可能保留生成质量,通常需要采用 DMD 等蒸馏方法。

    对于直接 SFT,如果没有训练音频的需求,一个比较有效的经验是设置 --audio_loss_weight 0.0,关闭音频 loss。这样可以显著加快视觉部分的收敛,并改善视觉效果。

    另外,推理时可以直接传入 cfg_scale=4.0,启用真正的 CFG,也就是正、负条件各进行一次前向计算。

  5. reaper19991110 commented on Oct 9, 2026

    @reaper19991110
    Author

    3. 请教一下把模型训回推理时走真 CFG(正、负两次前向) 这个咋做呢?

    简单的说就是,将已经cfg蒸馏的模型,用教师模型指导学生模型的方法,将cfg蒸馏模型变成普通cfg模型。本质上和蒸馏的操作的一样的,只不过是将cfg的v和非cfg的v对调了。思路来自于。https://huggingface.co/nyanko7/flux-dev-de-distill。

  6. reaper19991110 commented on Oct 9, 2026

    @reaper19991110
    Author

    4. DeCFG 和 training_cfg_scale 都能在一定程度上缓解 SFT 对 CFG 蒸馏效果的破坏,但随着训练步数增加,蒸馏效果仍可能逐渐退化。这也是直接 SFT 很难完全避免的问题。如果希望在适配新数据的同时尽可能保留生成质量,通常需要采用 DMD 等蒸馏方法。
    对于直接 SFT,如果没有训练音频的需求,一个比较有效的经验是设置 --audio_loss_weight 0.0,关闭音频 loss。这样可以显著加快视觉部分的收敛,并改善视觉效果。
    另外,推理时可以直接传入 cfg_scale=4.0,启用真正的 CFG,也就是正、负条件各进行一次前向计算。

    感谢回复!

    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 进行推理。

  7. YPatrickW commented on Oct 9, 2026

    @YPatrickW

    @reaper19991110 请问用的diffsynth-studio的默认shift训练吗?还是用的官方的video12,audio3的shift呢?有对比过效果吗?

  8. reaper19991110 commented on Oct 10, 2026

    @reaper19991110
    Author

    7. @reaper19991110 请问用的diffsynth-studio的默认shift训练吗?还是用的官方的video12,audio3的shift呢?有对比过效果吗?

    diffsynth-studio的默认shift进行训练,我没做改动和对比。

  9. Feynman1999 commented on Oct 10, 2026

    @Feynman1999

    7. @reaper19991110 请问用的diffsynth-studio的默认shift训练吗?还是用的官方的video12,audio3的shift呢?有对比过效果吗?

    我感觉2.2太小了,视频不应该用这个做训练。至少5以上吧

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions