Embeddings или текстовые инверсии, что это, для чего они нужны и как их применять
Всем привет 👋
Сегодня будем разбираться что такое эмбеддинги и текстовые инверсии, чем они отличаются друг от друга, зачем они нужны и для каких моделей применяются. Да, для тех, кто уже в теме это покажется не актуальным сейчас, будет немного занудно, много терминологии, но дочитайте до конца, и поймете зачем я написал этот пост. В любом случае вы получите много полезной информации и уверен она вам еще пригодится, всем приятного прочтения)
Что такое эмбеддинги и текстовые инверсии?
Если говорить языком терминов, эмбеддинги - это векторные представления текстовых концепций, которые помогают модели лучше понимать сложные идеи или стили путем перевода слов или фраз в многомерные числовые векторы. Простыми словами, это своего рода мини-контейнер с данными, в котором хранится сжатая текстовая информация в виде чисел, например, знания о художниках, техниках, сюжетах какого-то направления или стиля.
Почему используются числа? Компьютеры не понимают слова как мы, им нужны числа для работы с информацией. При тренировке эмбеддинга, которая кстати похожа на тренировку LoRA и других моделей, полученная информация - это изображения и их описания - превращается в числовые векторы. Эти векторы затем упаковываются в файл. И вот как это работает:
1. Мы показываем модели множество изображений определенного стиля или концепции.
2. Модель учится ассоциировать эти визуальные характеристики с определенным токеном или фразой.
3. Результат этого обучения сохраняется в виде эмбеддинга.
Сам процесс создания эмбеддинга называется текстовой инверсией, а эмбеддинг - это результат процесса, т.е. конечный продукт в виде файла с векторным представлением. Однако на практике, эти термины часто используются взаимозаменяемо, поэтому называя эмбеддинг текстовой инверсией, мы не совершаем грубой ошибки, а лишь следуем сложившейся в сообществе традиции. Это упрощение помогает новичкам быстрее освоиться с технологией, хотя и может вызывать некоторую путаницу у тех, кто глубоко погружается в технические детали. В конечном счете, важно понимать суть процесса и результата, независимо от того, какой термин используется в конкретном контексте.
Использование эмбеддинга в промпте
1. Это уже следующий шаг после текстовой инверсии.
2. Мы вставляем имя файла эмбеддинга в наш промпт.
3. Модель распознает этот токен и применяет выученные ассоциации при генерации изображения.
В интерфейсах A1111 (Automatic1111) и Forge WebUi эмбеддинги находятся тут:
и располагаются по адресу - Forge\webui\embeddings\.
Возможно некоторые популярные ембеддинги вам уже знакомы, например -"Easynegstive", "Asian-less" и "Bad-hands". Первый улучшает картинку, второй уменьшает вероятность азиатских лиц и бед хендс, как понятно из названия помогает избежать лишних и кривых пальцев. Эти и другие популярные эмбеддинги можно найти так же и в моей сборке, если загляните в - "Textual Inversion".
На сегодняшний день эмбединги применяются в основном для моделей Stable Diffusion 1.5 и моделей XL и Pony, как для позитивного промпта, так и для негативного.
Те кто пользуются моделями 1.5 знают, что получить хороший результат на этих моделях не так просто как в случае с современными моделях типа Flux. Здесь нужна более тонкая настройка, это может быть размер изображения, усиление отдельных токенов, VAE, негативный промпт и конечно же эмбеддинги / текстовые инверсии. Ниже пример применения негативного промпта и эмбеддингов на модели Amixx:
Промпт: RAW photo, professional photography Floral, (masterpiece:1.3), (high quality:1.4), By James Nachtwey, portrait of a desirable thirty-something woman, amazing anatomy, full body, exquisite physique, with amber-blue eyes, lob (long bob) hair, her dressed in the Blouse and leather pants, carefree pose, full shot angle picture taken by Canon EF 24-70mm f/2.8L II USM, in the background a bustling Mexican cantina with spicy tacos, refreshing margaritas, and lively mariachi bands, where the festive atmosphere and savory flavors ignite a sense of fiesta and celebration., moonlight, style BeatrixPotter, precision at its finest, hyper-realism render, trending on ArtStation,
Настройки: 512х768, Hires fix x2, R-esrgun 4x, denoising strength - 0.35,
VAE - 840000 - ema-pruned; embedding - 16-token-negative-deliberate-neg
Настройки: 512х768, Hires fix x2, R-esrgun 4x, denoising strength - 0.35,
VAE - 840000 - ema-pruned; embedding - 16-token-negative-deliberate-neg
Негативный промпт - accidental photo, out of focus, lens flare, motion blur, camera shake, high ISO noise, bad anatomy, disfigured, gross proportions, malformed limbs, missing arms, extra arms, mutated hands, fused fingers, too many fingers, long neck, cloned face, video game graphics, ugly distortions, tiling errors, poorly drawn hands, 3D render artifacts, artwork not centered, canvas edges visible, artwork overextended beyond canvas
(Другие негативные промпты можно найти вот в этом посте.)
(Другие негативные промпты можно найти вот в этом посте.)
Помимо негативных текстовых инверсий есть еще стилистические, которые добавляют к изображениям художественные стили (импрессионизм, кубизм, аниме), техники рисования (акварель, масло, цифровое искусство), эмбеддинги которые улучшают детали, композиционные - ракурсы, освещение, для создания атмосферы, для замены лиц каких нибудь известных личностей и др. Их можно найти на сайте civitai.com в разделе - models, отфильтровав по тегу - embeddings, только не забудьте поставить ограничение по возрасту, а то прилетит такое, что невозможно развидеть))
Для XL и Pony есть аналогичные текстовые инверсии, но исходя из того, XL модели часто показывают лучшие результаты "из коробки", их не так много как для моделей 1.5. Их можно найти так же, поставив галочку на XL.
Возможно вы сейчас думаете, зачем это все когда уже есть флюкс и модели 1.5 уже давно не актуальны? А я вам возражу:
1. Примерно 40% пользователей до сих пор пользуются этими моделями, потому что они доступны на их железе;
2. Модели 1.5 генерируют намного быстрее и отнимают меньше времени если правильно настроить генерации;
3. Меньше занимают места, их удобнее хранить;
4. Огромное количество возможностей для экспериментов - лоры, доры, эмбеддинги и пр.;
5. Много разных туториалов по настройкам и обучению моделей и т.д.;
6. Ну и есть очень много олдскульных прикольных моделей, например как эта - UniverseStable или тот же самый RevAnimated.
И самое главное модели 1.5 можно комбинировать с флаксом, еще не знали об этом? Как вам такой вариант:
или такой?
С помощью флакса теперь можно не только реанимировать старые арты, но и расширить возможности дизайна с моделями 1.5 и XL моделями, можно делать ремиксы с картинками сгенерированными в других нейросетях и даже просто с картинками найденными в интернете. Подробнее я расскажу об этом уже в следующем видео, которое постараюсь записать на этой неделе) Модель которую я использовал можно скачать тут, обязательно с ней поэкспериментируйте, она очень хорошо подходит для инпейнта.
На этом про эмбеддинги у меня все, но пока не расходитесь, хочу дать вам несколько лучших текстовых инверсий которые помогут вам получить классные результаты. Практически весь прошлый год я генерировал только на моделях 1.5. Модель XL, может кто помнит раскачивалась очень долго, и у нее еще была эта ужасная лапша вместо пальцев)).
Так вот, я перепробовал практически все, и могу точно сказать что каких то универсальных текстовых инверсий нет, к одним моделям они могут подходить, к другим нет, так же и с промптами, иногда будет шедевр, иногда такое себе, подбирать их под свои задачи придется руками или XYZ plot (как им пользоваться, смотрите тут) . Но какие то могут определенно работать лучше. В свои сборки я всегда добавляю одни из лучших эмбеддингов, но если у вас ее нет, то можете скачать их отсюда. К ним я добавил еще несколько негативных текстовых инверсий отвечающих за стилизацию, эмоции и др.
Если что то забыл напишите, я дополню. Надеюсь этим постом я внес немного ясности в тему тему про эмбеддинги, и теперь вы знаете что это за зверь и с чем его едят. Если остались вопросы, пишите их в комментариях.
А теперь идите и творите, превращайте слова в векторы, а векторы - в шедевры! Пусть ваши эмбеддинги будут острее меча и глубже океана, а генерации - ярче звезд 🧙♂️🌟⚡!