Устойчивое распространение.

Погонял какое-то время Stable Diffusion (SD), покопался в
архитектуре.
Личных впечатлений. Немного сумбурно и отрывочно, извиняюсь.
Я бы сказал, SD и ChatGPT почти полные противоположности. Набросаю
для начала SD.
SD (и Midjourney аналогично) не является отдельной нейросетью.
Это связка нескольких, различных по структуре и задачам нейросетей.
Причём за ту часть, которая обрабатывает слова, отвечает небольшой
языковой трансформер-энкодер (OpenAI CLIP), маленький родственник
ChatGPT. В сборе получается этакий блочный конвейер обработки, по
которому идёт рисунок.
Море плюсов:
— Блоки можно легко заменить, некоторые в пару щелчков мыши. Можно
взять другой сэмплер, поменять автоэнкодер, загрузить генератор с
другими весами.
— Можно снять с конвейера данные в любой момент и посмотреть,
что там происходит между блоками.
— Само внутреннее представление текста и картинки легко поддаётся
расшифровке. Можно вытащить «карту» текстовых представлений из
энкодера.

Или исследовать напрямую свёртку изображений.

— Работу конвейера легко настраивать, как простыми (циклы
обработки, in-painting) так и довольно нетривиальными способами.
Можно менять запрос прямо в процессе обработки, вмешиваться
напрямую в работу сэмплера и генератора.
— Можно достраивать конвейер дальше для пост-обработки (face
correction, upscaling) или вставлять в него дополнительные блоки
(hypernetworks).
В общем, вся конструкция сложна архитектурно, но легко
интерпретируема.
Дальше минусы:
Это не ИИ, не умный помощник, не художник. Это инструмент. Фотошоп,
Автокад. Большой, довольно сложный в освоении.
Половина сложности в том, что бОльшая часть управления тут не
раскидана по морю слайдеров, а сведена на один очень чувствительный
«штурвал» — текстовый промпт. Который можно наклонять и гнуть
пятьюстами способами. Требуется некоторый опыт, чтобы разобраться,
как с ним работать, что есть слова, Слова, слова и
СЛОВА. Что вот эти огромные промпты не просто мешанина из
прилагательных и имён художников, а точно рассчитанное управляющее
воздействие. Чем больше слов, тем точнее.
Вторая половина: как мне показалось, именно взаимодействие трёх
блоков, энкодера (со своим латентным пространством), генератора и
автоэнкодера приводит к заметной нелинейности. Вроде ты этот
«штурвал» только слегка потянул, а оно по цепочке даёт резкий крен,
да ещё и не в ту сторону. Усилия пользователей по улучшению
«управляемости» SD направлены на то, чтобы сильно упростить или
«заморозить» один из двух блоков: энкодер (textual inversion) или
генератор (custom checkpoints).
Единственное, чем SD и Midjourney отличаются от фотошопа, это
большой кнопкой «сделать красиво», которая работает. Можно не имея
никакого опыта ввести текст и получить результат. Именно эту кнопку
при первом знакомстве принимают за «магию творчества». Это ошибка,
волшебства тут не больше, чем в фильтре Instagram, тот тоже опыта
не требует. Очарование сразу развеивается, если попробовать создать
не случайную картинку, а определённую. Именно ту, которая уже есть
в голове.
Стоит посмотреть, как работают с SD художники: сеанс
поиска промпта, подбор нескольких моделей, скетч, out-painting,
построение композиции, десяток сеансов in-painting, затем часто
фильтры и постобработка... В общем, обычная пахота.
Что ещё видно: перспективу. SD явно только в начале пути, как
когда-то Blender. Это инструмент уже очень мощный, но всё ещё
неудобный, и именно в сторону удобства управления и интерфейса его
будут развивать.
А вот чего нет, это нейросетевой магии. Ну и AI
тут не пахнет совсем. Это прикладная, «человеческая» вещь.
|
</> |