Сей­час появ­ляет­ся все боль­ше уско­рен­ных, а точ­нее — дис­тилли­рован­ных моделей DMD2. Они поз­воля­ют генери­ровать чет­кие и деталь­ные кар­тинки за доли секун­ды, но каж­дая сле­дующая похожа на пре­дыду­щую. Я рас­ска­жу, как «замед­лить» дис­тилли­рован­ные модели SDXL, вер­нув утра­чен­ную кре­атив­ность, и как исполь­зовать «дис­тиллят» в малых дозах для улуч­шения качес­тва.

Не думал, что в кон­це 2025 года я сно­ва буду писать про SDXL. Сов­ремен­ные архи­тек­туры Flux Krea, Chroma, HiDream, Qwen Image и дру­гие дав­но обог­нали SDXL по качес­тву изоб­ражения и точ­ности сле­дова­ния зап­росу. Более того, метод кван­тования SVDQuant поз­волил запус­кать эти модели на обыч­ных виде­окар­тах чуть ли не быс­трее, чем SDXL без кван­тования.

Од­нако, нес­мотря на то что новые модели тех­ничес­ки более совер­шенны, архи­тек­тура SDXL по‑преж­нему акту­аль­на бла­года­ря огромной эко­сис­теме (LoRA, модели глу­боко­го обу­чения) и новым методам опти­миза­ции. Сегод­ня мне хочет­ся рас­крыть тему уско­рен­ных, «дис­тилли­рован­ных» моделей и погово­рить об их дос­тоинс­твах и недос­татках.

 

Немного истории

Пер­вым в эко­сис­теме SDXL появил­ся сем­плер LCM, работа­ющий со спе­циаль­но адап­тирован­ными латен­тны­ми кон­систен­тны­ми моделя­ми. Такие модели (вмес­те с этим сем­пле­ром) поз­волили соз­давать кар­тинки за 8–12 шагов, хоть и с доволь­но мяг­ким кон­трас­том и склон­ностью «замыли­вать» мел­кие детали. Потом был Turbo: дос­таточ­но быс­трый, но не слиш­ком качес­твен­ный метод, который вре­мена­ми весь­ма ори­гиналь­но интер­пре­тиро­вал зап­росы (и по‑преж­нему имел проб­лемы с мел­кими деталя­ми). Затем был Lightning, который стал сво­еоб­разным ком­про­мис­сом и задер­жался надол­го; мел­кие детали и тек­сту­ры по‑преж­нему стра­дали, да и с раз­нооб­рази­ем резуль­татов было не очень.

Ког­да появил­ся DMD2 (Improved Distribution Matching Distillation for Fast Image Synthesis), мно­гие спер­ва решили, что это оче­ред­ной «уско­ритель». Одна­ко доволь­но быс­тро ста­ло понят­но, что у DMD2 есть ряд кар­диналь­ных отли­чий от пре­дыду­щих спо­собов. DMD2 не зас­тавля­ет жер­тво­вать деталя­ми и тек­сту­рами ради ско­рос­ти — наобо­рот, дис­тилли­рован­ные веса начина­ют работать чище, акку­рат­нее сво­дить шум, луч­ше дер­жать струк­туру кад­ра и не рас­сыпать мел­кие эле­мен­ты. Вро­де бы — вот оно: и более ров­ное качес­тво, и акку­рат­ная внут­ренняя логика кар­тинки, и все это за 4–8 шагов с сем­пле­ром LCM и CFG = 1. Казалось бы, что здесь может не пон­равить­ся?

 

Обратная сторона медали

Не­дос­татки всплы­ли доволь­но быс­тро. Да, за 4–8 шагов мож­но сге­нери­ровать ров­ную, акку­рат­ную кар­тинку с когерен­тны­ми мел­кими деталя­ми и тек­сту­рами. Но сле­дующая генера­ция с тем же зап­росом и дру­гим сидом ока­зыва­лась подоз­ритель­но похожа на пре­дыду­щую; лица со вре­менем начина­ли напоми­нать вари­ации одно­го и того же пер­сонажа — «одно лицо, при­чес­ки раз­ные».

К это­му добав­ляет­ся и то, что CFG = 1 фак­тичес­ки лиша­ет нас негатив­ных клю­чевых слов, а прак­тичес­ки обя­затель­ная работа через сем­плер LCM отни­мает у поль­зовате­ля при­выч­ные инс­тру­мен­ты тон­кой регули­ров­ки качес­тва: нап­ример, DPM++ обыч­но рису­ют жес­тче и деталь­нее, а Euler, наобо­рот, сгла­жива­ет избы­точ­ную «шерохо­ватость» (я знаю, что некото­рые дис­тилли­рован­ные модели поз­воля­ют исполь­зовать CFG поряд­ка 1,2; это не слиш­ком вли­яет на конеч­ный резуль­тат, а ско­рость — пада­ет).

Все это — не баг, а фича: низ­кая дивер­генция резуль­татов при сме­не сидов — это пря­мой резуль­тат того, что у дис­тилли­рован­ной модели внут­реннее пред­став­ление ста­биль­нее. Похожий эффект мож­но наб­людать в дис­тилли­рован­ных вер­сиях ори­гиналь­ной модели Flux1.dev.

Сей­час ста­рень­кий SDXL в качес­тве модели для быс­трой генера­ции кар­тинок на мобиль­ных устрой­ствах пос­тепен­но вы­тес­няет SD1.5, и в этом кон­тек­сте DMD2 — отличный инс­тру­мент. На Civitai появ­ляет­ся все боль­ше дис­тилли­рован­ных моделей на осно­ве DMD2; мно­гие из них дей­стви­тель­но инте­рес­ны и уни­каль­ны, но поль­зовать­ся ими, увы, доволь­но скуч­но: на один и тот же зап­рос с раз­ными сидами модель выда­ет резуль­тат, похожий до сте­пени сме­шения.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии