DiffusionNFT: Online Diffusion Reinforcement with Forward Process [2/2]
Завершаем разбор статьи об RL для диффузионок от NVIDIA. В первой части рассказали, что предложили авторы. Переходим к самому интересному — результатам.
Что крутого в решении:
🔴Независимость от солвера — тренировка полностью отделена от семплирования: можно использовать любой black-box-солвер, не нужно хранить траектории.
🔴Неявное «впекание» CFG — направление ∆ (по сути CFG-подобный гайденс) встраивается прямо в модель через репараметризацию, без отдельной гайденс-модели и guided-семплирования.
🔴Likelihood-free — метод не использует приближение правдоподобия (в отличие от DPO-style-методов с ELBO и неравенством Йенсена, или дискретизации обратного процесса), а значит не вносит систематическое смещение в оценку.
Если упростить до алгоритма обучения:
1) Семплируем роллауты без CFG — прогоняем текущую v_old по промптам, группами (group rollouts, как в GRPO).
2) Для каждого члена группы считаем reward и нормализуем его внутри группы — получаем аналог advantage.
3) Из набранных групп формируется пул данных, по которому оптимизируется введённый выше objective мини-батчами — обновляется только v_θ.
4) После прохода по всему набору групп делается EMA-like апдейт v_old ← v_θ .
На SD3.5-Medium предложенный метод сходится заметно быстрее, чем Flow-GRPO — в head-to-head-сравнениях авторы заявляют до 25× по эффективности. Например, на GenEval DiffusionNFT доходит с 0,24 до 0,98 всего за 1 тысячу шагов, тогда как Flow-GRPO выходит лишь на 0,95 за 5k+ шагов и дополнительно требует CFG на инференсе. При этом сама тренировка у DiffusionNFT полностью CFG-free, а значит легче: не нужно гонять условную и безусловную ветку, не нужно хранить полные траектории семплирования.
Подводя итог, метод действительно впечатляет. Относительно Flow-GRPO он буквально не имеет недостатков, при этом помимо RL мы попутно получаем и «впекание» гайденса, а значит, на последующей стадии общей дистилляции на одну головную боль становится меньше.
Кажется, что в будущем такой подход к RL диффузионных моделей может стать новой общепринятой практикой. Уже сейчас ссылки на DiffusionNFT можно найти в MeanFlow NFT от Tencent, где NFT успешно распространяют на MeanFlow-формулировку, а также в Mage-Flow — новой диффузионной генеративке Microsoft, где метод применили на стадии пост-трейнинга вместо GRPO.
Разбор подготовил ❣ Валерий Старцев
CV Time
Завершаем разбор статьи об RL для диффузионок от NVIDIA. В первой части рассказали, что предложили авторы. Переходим к самому интересному — результатам.
Что крутого в решении:
🔴Независимость от солвера — тренировка полностью отделена от семплирования: можно использовать любой black-box-солвер, не нужно хранить траектории.
🔴Неявное «впекание» CFG — направление ∆ (по сути CFG-подобный гайденс) встраивается прямо в модель через репараметризацию, без отдельной гайденс-модели и guided-семплирования.
🔴Likelihood-free — метод не использует приближение правдоподобия (в отличие от DPO-style-методов с ELBO и неравенством Йенсена, или дискретизации обратного процесса), а значит не вносит систематическое смещение в оценку.
Если упростить до алгоритма обучения:
1) Семплируем роллауты без CFG — прогоняем текущую v_old по промптам, группами (group rollouts, как в GRPO).
2) Для каждого члена группы считаем reward и нормализуем его внутри группы — получаем аналог advantage.
3) Из набранных групп формируется пул данных, по которому оптимизируется введённый выше objective мини-батчами — обновляется только v_θ.
4) После прохода по всему набору групп делается EMA-like апдейт v_old ← v_θ .
Отдельно замечу: в самой статье об этом ни слова, но в опубликованном коде NFT дополнительно используется KL-регуляризация к исходной модели — то есть на практике это не просто голый flow matching objective на implicit positive/negative policy, а ещё с якорем на исходные веса.
На SD3.5-Medium предложенный метод сходится заметно быстрее, чем Flow-GRPO — в head-to-head-сравнениях авторы заявляют до 25× по эффективности. Например, на GenEval DiffusionNFT доходит с 0,24 до 0,98 всего за 1 тысячу шагов, тогда как Flow-GRPO выходит лишь на 0,95 за 5k+ шагов и дополнительно требует CFG на инференсе. При этом сама тренировка у DiffusionNFT полностью CFG-free, а значит легче: не нужно гонять условную и безусловную ветку, не нужно хранить полные траектории семплирования.
Подводя итог, метод действительно впечатляет. Относительно Flow-GRPO он буквально не имеет недостатков, при этом помимо RL мы попутно получаем и «впекание» гайденса, а значит, на последующей стадии общей дистилляции на одну головную боль становится меньше.
Кажется, что в будущем такой подход к RL диффузионных моделей может стать новой общепринятой практикой. Уже сейчас ссылки на DiffusionNFT можно найти в MeanFlow NFT от Tencent, где NFT успешно распространяют на MeanFlow-формулировку, а также в Mage-Flow — новой диффузионной генеративке Microsoft, где метод применили на стадии пост-трейнинга вместо GRPO.
Разбор подготовил ❣ Валерий Старцев
CV Time