Stable Diffusion: Как оно работает?

Рекомендуемые курсы:
Мастерство Midjourney

1.Что может делать Stable Diffusion?

В самом первом приближении, Stable Diffusion - это модель преобразования текста в изображение. Вы даете ей текстовый запрос, и она возвращает изображение, соответствующее этому запросу.

Stable Diffusion превращает текстовые промпты в изображения.

Введение

Давайте напомню вам, что такое диффузия, самым трогательным способом, какой знаю - совет для чешских учителей начальных классов гласит: "Принесите в класс духи, попросите всех учеников от первых парт и до последних записать точное, вплоть до секунды, время, когда они почувствуют запах" и попросите сравнить показатели и сделать выводы, о том, как запах распространялся по комнате.  

Благодарности В создании этого текста мне помогают perplexity, claude, consencus и custom GPT Engrussian. Однако, хочу предостеречь, -  все они драматически путаются в теме, так как с трудом разделяют информацию о двух процессах - обучении модели и процессе генерации. 

Пара слов об истории создания модели

SD происходит из Мюнхена,  из лаборатории CompVis при университете Людвига-Максимилиана, ее создавали в сотрудничестве с командой хорошо знакомого многим Runway. (Runway уже тогда подбирались к созданию мультимедийного AI-комбайна и даже имели свою первую пользовательскую платформу, на которой можно было натренировать GAN генерировать покемона).  =

Сложно поверить, но релиз SD произошел всего два года назад - в августе 2022 года. За эти два года компания Stability AI прошла, кажется довольно изматывающий путь - про такое любят снимать кино, и писать байопики участников -  невероятный технологический прорыв, позволивший производить генерацию изображений буквально на зубной щетке (GPU 4Гб),  сотня миллионов инвестиций,  попытки нащупать бизнес-модель, зачастую неуклюжие. Развитие линейки интересов в сторону аудио, 3D, генеративного видео. Новые релизы моделей, некоторые из которых были не просто ужасны, — чудовищны. Несколько крупных ссор с сообществом и смена руководства. 

Но это великие люди, которые отдали нам, не_инженерам,  професс диффузии. Именно на  их модели, мы научились лучше понимать ML вообще, концепцию шума, весов, блокировки фрагметов  слоев с помощью ControlNet, для нее  написали инструкции по тренировкам на собственных фотогарфиях и художественных стилях , к ней первой подключили механизмы переноса стиля с одного изображения на другое.   

От GAN к диффузионным моделям

В курсах “AI для создателей видео”, которые создавал для нашей школы Всеволод Таран (aka @тоже_моушн), скорее всего помнят наши игры в GAN и колаб с чудесным названием - LSD, для создания реагирующего на звук моушн-видео, которым Сева открывал свой курс. Именно на них лучше всего видно, как это - генерировать без возможности текстовой инструкции.

GAN (Генеративно-состязательные сети) были настоящим прорывом в свое время. Представьте себе двух художников: один рисует подделки, а другой пытается их распознать. Со временем оба становятся настолько хороши, что отличить подделку от оригинала становится практически невозможно. Вот вам и GAN в двух словах.

[ВИДЕОАРХИВ. Первое занятие курса “ “AI для создателей видео”,  Декабрь, 2022 ] 

Но Stable Diffusion пошла дальше. В процессе обучения SD есть момент, до которого ее предшественники не додумались. До представления ей пар "img-txt" (датасет LAION), сначала модель учили понимать общую структуру и содержание изображений без текстовых или языковых условий. Идея была в том, чтобы сначала помочь модели создать устойчивое представление об организации визуальных данных и научиться выполнять диффузию без текстовых условий.

Люди за алгоритмами

Одним из ведущих разработчиков Stable Diffusion был Робин Ромбах. И сейчас, в наступившем будущем, всем, кто занимается генеративным AI, как никогда важно это вспомнить по одной очень простой причине - его новый проект FLUX - диффузионная модель на порядок красивее Stable Diffusion, сделана по тем же принципам. И мы можем, работая c нею, применять знания и инструменты, полученные от работы с великой и ужасной SD.

Но Ромбах был не один. Вот еще несколько ключевых фигур:

  • Andreas Blattmann - участвовал в разработке архитектуры и алгоритмов, использованных в Stable Diffusion.
  • Dominik Lorenz - принимал участие в исследовательской работе и разработке модели.
  • Patrick Esser - внёс значительный вклад в разработку моделей и их адаптацию для различных приложений.
  • Björn Ommer - руководитель группы CompVis в LMU Munich, сыграл ключевую роль в концептуализации и реализации проекта.

Почему Stable Diffusion так важна?

Stable Diffusion стала великой потому, что была первой непроприетарной моделью с потрясающими возможностями для инженерии разных стадий диффузионного процесса. Это открыло дорогу тысячам энтузиастов и разработчиков, которые могли теперь изучать, модифицировать и улучшать модель.

А ужасной... ну, давайте будем честными - никакими ухищрениями и никакими версиями стэйбл нельзя было заставить делать "красиво". По крайней мере, не так красиво, как хотелось бы. 

Знакомство с архитектурой

Давайте сделаем первый подход к осознанию архитектуры модели. Первый, потому что много чего может случиться между экспериментами и теорией. Часто человеку, не занятому напрямую машинным обучением, кажется, что ему достаточно владеть каким-нибудь приложением и не обязательно разбираться в том, что такое модель. (по аналогии с тем, что не нужно знать, как летает самолет, чтобы на нем лететь) - это почти что правда! 

Но хотя бы примерное понимание архитектуры точно пригодится:

  • Художникам, которые хотят разрабатывать собственный стиль и дообучать модели
  • Дизайнерам и разнообразным профессионалам продакшена, у которых проекты дорогие, а клиенты - искушенные и хотят точно по брифу. 
  • Тем, кто надеется однажды перестать тратить время на просмотр High level тюториалов, и хочет собирать и контролировать свои воркфлоу.  

В общем кажется, что одновременно с набором "пользовательского" опыта, которым мы заняты в курсах,  можно еще добрать немножко теории, и это сделает автора свободнее за счет возможности самостоятельно разобраться, где именно вмешаться в  обучение модели или ее работу, чтобы направить генерацию в нужное  русло.  

Материал целиком доступен только авторизованным пользователям
Старт 10 сентября
Нейрофотография
Продвинутый курс для профессионалов визуального искусства, ведущих дизайнеров и больших художников.
Присоединяйтесь