tgoop.com/quant_prune_distill/105
Last Update:
Эксперименты
За основу авторы берут StableDiffusion v1.4 и ее же пробуют наивно дистиллировать по шагам (на исходных траекториях) и с использованием RectifiedFlow.
Наивная дистилляция приводит к сильной просадке качества и некрасивым, нереалистичным картинкам, в то время как полученные при дистилляции с RectifiedFlow картинки выглядят значительно лучше, хоть все еще не дотягивают до уровня базовой модели. Сам RectifiedFlow при том же числе шагов, что и базовая модель, имеет +/- то же качество.
Далее авторы, экспериментируют с разными параметрами и модификациями сети
2 этапов выпрямления достаточно, и большее количество шагов выпрямления уже не отражается существенно на качестве. Для повышения выразительности сети, предлагается соединить (как два вагона железнодорожного состава) исходную сеть с ее копией (тоже инициализированной весами Stable Diffusion). Полученная сущность называется - StackedUNet. При значительном приросте качества (снижении FID с 20 до 13.7) время инференса растет не так сильно (c 0.09с до 0.12c на сэмпл). Архитектурный StableDiffusion, которая учится предсказывать за один шаг - называется Instaflow-0.9B. А Stacked версия - Instaflow-1.7B.
Конечный пайплайн обучения выглядит следующим образом:
1️⃣ 2 шага RectifiedFlow, второй шаг с большим размером батча
2️⃣ Дистилляция в Instaflow с MSE лоссом
3️⃣ Дистилляция в Instaflow с LPIPS лоссом
Почему дистилляция проводится с разными лоссами, а не их взвешенной комбинацией - не понятно.
BY КПД
Share with your friend now:
tgoop.com/quant_prune_distill/105