Textual Inversion
textual inversion — обучение нового «слова» через эмбеддинг
Textual Inversion (TI) — самая лёгкая техника настройки диффузионной модели: тренируется эмбеддинг одного нового токена в словаре CLIP, веса модели не трогаются. Файл получается ~5–50 КБ, тренировка занимает 30–60 минут на 10–30 примерах. Хорошо подходит для абстрактных стилей и для negative prompt (`easynegative`, `BadHandsv4`). Для точного копирования объектов или лиц слабее, чем LoRA или DreamBooth, но в десятки тысяч раз компактнее.
Коротко
Коротко. Textual Inversion — это «научить модель новому слову». Тренируется только эмбеддинг одного токена в словаре CLIP. Файл ~5–50 КБ, обучение за 30–60 минут. Главное применение в 2026 — негативные эмбеддинги (
easynegativeдля SD 1.5), а не персонажи или сложные стили: для них LoRA сильнее. Любая модель той же базы видит эти токены как обычные слова.
Что это такое
Январь 2022-го. Команда из Tel-Aviv University публикует работу «An Image is Worth One Word»: оказывается, можно научить диффузионную модель новому концепту, не трогая её веса. Достаточно подобрать для одного нового «слова» специальный эмбеддинг — вектор в пространстве CLIP — и модель будет понимать его как обычный токен.
Прорыв был в размере: пока другие методы (DreamBooth) требовали тренировать всю модель и получать гигабайтные файлы, Textual Inversion обучался за полчаса и весил 5–50 КБ.
Технически TI добавляет в словарь CLIP один новый токен (например, <my-token>) и тренирует только его эмбеддинг. Веса остальной модели не трогаются. После обучения вы используете <my-token> в промпте как обычное слово.
К 2026 году TI ушёл на второй план — LoRA выразительнее, тренируется ненамного дольше, файл всего 30–200 МБ. Но в одном применении TI остался стандартом: негативные эмбеддинги для SD 1.5. Файлы easynegative (24 КБ) и 50 КБ) подключаются как одно слово в negative и заменяют десяток текстовых тегов.BadHandsv4 (
Как это работает
Внутри CLIP словарь токенов фиксирован — около 50 000 слов. Каждому токену соответствует эмбеддинг — вектор 768 чисел (для SD 1.5) или 2048 (для SDXL). Промпт «cat sitting» превращается в последовательность эмбеддингов из этого словаря.
Textual Inversion добавляет в словарь ОДИН новый токен (плюс несколько «слотов» для лучшего качества). Тренировка:
- Берём 10–30 картинок с похожим концептом (тот же стиль, тот же объект).
- Инициализируем эмбеддинг для нового токена случайно или от близкого слова.
- Сэмплер делает шаги шумоподавления на обучающих картинках.
- Loss считается между предсказанным и реальным шумом.
- Эмбеддинг подкручивается градиентным спуском так, чтобы предсказание приблизилось к цели.
- Веса модели НЕ меняются — только эмбеддинг токена.
После 1000–5000 шагов получается обученный токен. Его эмбеддинг сохраняется в .pt или .safetensors файл ~5–50 КБ.
В Automatic1111 файлы кладутся в embeddings/ и используются как слово в промпте: a photo of <my-token> sitting. В ComfyUI — узел Load Textual Inversion, который подключается к CLIP Text Encoder.
Пример на практике
Иллюстратору надоело каждый раз писать длинный negative для SDXL: blurry, low quality, watermark, text, deformed, extra fingers, bad anatomy, plastic skin, cgi, signature. 10 слов в каждом промпте.
Решение — скачать с CivitAI готовый negative embedding для SDXL (например, ac_neg2 или negativeXL_D) и использовать его одним токеном: в поле negative пишет negativeXL_D — один токен заменяет 10 текстовых тегов.
Качество результата не уступает развёрнутому negative, иногда даже чище — эмбеддинг точнее «знает», от каких признаков уводить.
Другой сценарий — собственный artistic style. Иллюстратор делает 25 эскизов в авторской манере, тренирует TI на kohya_ss за 40 минут. Получает файл myStyle.safetensors 12 КБ. Использует как myStyle, portrait of a girl — модель применяет стиль.
В случае со стилем LoRA даст результат точнее, но TI весит в 8000 раз меньше и можно держать сотни эмбеддингов под рукой.
С чем часто путают
- Textual Inversion и Embedding — TI это процесс обучения нового эмбеддинга. Сам эмбеддинг — результат, который потом подключается к CLIP. Часто в речи говорят «эмбеддинг» имея в виду TI-файл.
- Textual Inversion и LoRA — TI обучает только эмбеддинг одного токена (
30 КБ); LoRA меняет веса слоёв модели (100 МБ). LoRA выразительнее, TI компактнее. - Textual Inversion и DreamBooth — DreamBooth тренирует всю модель (6 ГБ), TI — только один токен. Это два полюса спектра.
- Textual Inversion и Hypernetwork — Hypernetwork добавляет дополнительный слой к U-Net и был популярен до LoRA. TI работает на стороне CLIP, Hypernetwork на стороне U-Net.
Частые ошибки и заблуждения
- «TI копирует лицо точно». Не копирует. CLIP не умеет так детально кодировать лица. Для идентичности нужен IP-Adapter FaceID, LoRA или DreamBooth.
- «Больше шагов тренировки = лучше». До 2000–3000 шагов растёт, после переобучается. Эмбеддинг начинает «прилипать» к датасету и плохо работает в новых промптах.
- «TI работает на любой модели той же архитектуры». Технически да —
easynegativeдля SD 1.5 работает на любом SD 1.5 тюнинге. Но качество варьируется: на тюнинге, далёком от базовой SD 1.5, эффект может быть слабее. - «TI устарел». Не совсем. Для negative-эмбеддингов в SD 1.5 остаётся стандартом. Для positive — да, LoRA победила.
- «TI требует мощного железа». Нет, тренировка идёт даже на 6 ГБ VRAM. Это самый дешёвый способ настройки.
Связанные термины
- CLIP — текстовый энкодер, в словарь которого добавляется новый токен TI.
- LoRA — следующая по тяжести и выразительности техника адаптации.
- DreamBooth — полная тренировка модели на новом объекте.
- Embedding — общее понятие, к которому относится TI.
- Negative Prompt — главное применение TI в 2026 (
easynegative,BadHandsv4). - Hypernetwork — устаревшая альтернатива TI, работающая на стороне U-Net.
Частые вопросы
Сколько примеров нужно для TI? 10–30 картинок. Меньше — модель не выучит. Больше — обычно не помогает, нужна разнообразность, а не количество.
Сколько шагов тренировать? 1000–3000 для большинства задач. Превышение приводит к переобучению. В kohya_ss и Automatic1111 есть автосейв на каждые 500 шагов — можно проверить разные точки.
TI работает в SDXL?
Да, но эмбеддинг будет 2048-мерный вместо 768. Файлы SD 1.5 и SDXL несовместимы. Для SDXL ищите TI с пометкой SDXL на CivitAI.
А в FLUX? Не работает напрямую. FLUX использует T5-XXL вместо CLIP, и архитектура другая. Нужны другие методы (PuLID, LoRA для FLUX).
Где найти готовые TI?
CivitAI (раздел «Textual Inversion»), Hugging Face, GitHub-репозитории. Самые популярные — негативные эмбеддинги: easynegative, BadHandsv4, negative_hand для SD 1.5; negativeXL_D для SDXL.
В чём преимущество перед LoRA? Размер (КБ vs МБ), скорость тренировки (минуты vs час), лёгкость комбинирования (много TI в одном промпте без потери качества). Уступает в выразительности.
Главное
Textual Inversion — самая лёгкая техника адаптации диффузионной модели: один новый токен в словаре CLIP, файл в килобайтах, тренировка за полчаса. В 2026 году главное применение — negative-эмбеддинги для SD 1.5: один слово в поле negative заменяет десяток тегов. Для стилей и persistent-объектов LoRA сильнее, для лиц — DreamBooth или IP-Adapter FaceID. TI остаётся в арсенале как самый дешёвый способ начать.