Обновить

Ликбез. Как ИИ рисует картинки.

После пяти постов возникает закономерный вопрос: если ИИ все это время продолжает текст, то как он рисует картинки?

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

Для нас на фотографии кот. Для компьютера - много-много цветных точек. Работать с ними по одной так же разумно, как писать «межконтинентальная» по одной букве. Поэтому картинку тоже дробят на подобие токенов и учат модель работать уже с ними. Для компьютера картинка начинается примерно как огромная таблица чисел. Каждая точка хранит несколько значений: сколько в ней красного, зеленого и синего. Условный белый пиксель - 255, 255, 255, черный - 0, 0, 0, красный - 255, 0, 0. Фотография 1000×1000 превращается уже примерно в три миллиона чисел. Никакого «кота» среди них нет: есть только числа, расположенные в определенном порядке. А кот появляется уже из связей между ними - где проходят границы, какие участки похожи по цвету, что образует шерсть, глаз, ухо и в конце концов целую морду.

Процесс обучения тоже выглядет иначе. Берем картинку кота и постепенно портим случайным шумом, пока кот окончательно не превращается в хаос. Потом ставим обратную задачу: вот тебе шум, попробуй восстановить картинку. Не получилось - подкрутили. Еще кот. Еще человек. Автомобиль. Дерево. Еда. И так раз за разом, пока модель не научится превращать шум обратно в осмысленные изображения.

Опять же никто ничего не объясняет. Где у кота должны быть уши, как выглядит шерсть, куда падает тень и сколько пальцев обычно бывает у человека, приходится выяснять самостоятельно. С пальцами, как мы знаем, были проблемки. Но откуда генератор вообще знает, что по слову «кот» нужно вытаскивать из шума кота? При обучении картинки связывают с их текстовыми описаниями. И текст, и изображение машина переводит в наборы чисел и постепенно учится сопоставлять одно с другим. Поэтому «кот» для нее в итоге связан не с конкретной фотографией, а с огромным набором общих признаков всех увиденных котов. 

Когда мы просим «нарисуй черного кота на деревянном столе», примерно это она и делает. Берет шум и шаг за шагом превращает его во что-то, все больше похожее на черного кота на деревянном столе. Никакого готового кота она обычно не достает и фотографии между собой не склеивает. И тут хорошо чувствуется разница в масштабе задачи. Небольшую языковую модель сегодня можно целиком запихнуть в несколько гигабайт памяти и спокойно гонять на ноутбуке. Генератор хороших картинок вместе со всем необходимым хозяйством легко потребует уже под сотню гигабайт. К слову, моему ноуту для генерации картинки по заданным критериям нужно минут 10-15, в процессе которых он в основном генерирует шум, а в конце - фигню.

Генератор картинки снова и снова, несколько десятков раз, перетряхивает будущего кота целиком, пока тот наконец не станет похож на кота.

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

С текстом она снова и снова решает, какой кусочек добавить следующим. С картинкой - что изменить в шуме на следующем шаге.

И вот здесь наконец можно сформулировать основной принцип: мы не научили машину писать и не научили ее рисовать.

Мы научили ее выбирать следующее действие.

А текст или кот - это уже мелочи.

Теги:
+3
Комментарии0

Путь к ИИ‑сингулярности

У нас было два репозитория неоттестированного вайб‑кода, семьдесят пять тяжеловесных SDD‑спецификаций, пять обмазанных смазкой харнессов, солонка, наполовину полная кастомных скиллов и забитых капслоком правил, с десяток дырявых MCP‑серверов, RAG‑база со свежевекторизованным Confluence, самодельная дощечка имаго‑кодинга и целая россыпь автономных агентов всех мастей, от безобидных автодополнялок до галлюцинирующих субагентов, ставящих пакеты со slopsquatting и втихаря сносящих боевые базы.

Не то чтобы все это было действительно нужно для поездки к ИИ‑сингулярности, но если уж начали участвовать в спуске с горы на велосипеде без седла, остановиться уже невозможно.

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

Нет ничего более беспомощного, безответственного и испорченного, чем IT‑команда, запустившая мультиагентный оркестр в режиме allow all.

Это критический (и слегка ехидный) обзор того, что произошло с разработкой последние пару лет.

Путь к ИИ‑сингулярности

Публикации