Dataset Captioning

dataset captioning — добавление текстовых подписей к датасету

Раздел
Обучение
Обновлено
19.06.26

Dataset Captioning — это процесс добавления текстовых подписей к каждой картинке датасета перед тренировкой LoRA или DreamBooth. От качества подписей напрямую зависит, чему модель научится: что описано — модель считает «изменяемым», что не описано — впитывает как часть концепта. Главные инструменты автокаптионинга в 2026 году: BLIP-2, WD14 Tagger (для аниме), LLaVA, JoyTag. Часто результат правится вручную.

Коротко

Коротко. Dataset Captioning — подписать каждую картинку датасета перед тренировкой LoRA или DreamBooth. Важный момент: что вы пишете в подписи, модель считает «переменным», что не пишете — «постоянной частью объекта». Если тренируете лицо в красной рубашке и не упоминаете рубашку — модель решит, что «у этого человека всегда красная рубашка». Главные инструменты автокаптионинга: BLIP-2, WD14, LLaVA.

Что это такое

Иллюстратор хочет натренировать LoRA на лице актёра. Берёт 20 фотографий, в каждой кадр: актёр на разном фоне, в разной одежде, с разной мимикой.

Что произойдёт без подписей? Тренер kohya_ss создаст пустые подписи. Модель будет учить «всё, что видит» как часть концепта. Через 1000 шагов получится LoRA, которая рисует актёра — но всегда в той же одежде и в похожих сценах, что были на тренировке.

С подписями всё иначе. Каждая картинка получает .txt-файл рядом:

  • image_01.jpgimage_01.txt: a photo of sks person, blue suit, office background, smiling
  • image_02.jpgimage_02.txt: a photo of sks person, casual clothes, park, sunny day
  • image_03.jpgimage_03.txt: a photo of sks person, close-up portrait, studio lighting

Теперь модель учит: sks person — это лицо; одежда, фон, освещение — переменные. Можно после тренировки писать sks person in cyberpunk city, neon lights — и получить актёра в новой сцене.

Как это работает

Инструменты автокаптионинга:

  • BLIP / BLIP-2 (Salesforce, 2022–2023) — нейросеть, превращающая картинку в одно-два предложения. Хорошо для общего описания.
  • WD14 Tagger (от WD-сообщества) — теги для аниме-датасетов. Выдаёт список тегов в стиле booru: 1girl, blue hair, school uniform, sitting.
  • LLaVA / GPT-4V (2023–2024) — мультимодальные LLM, дают развёрнутое описание. Лучшее качество, но дольше.
  • JoyTag / WD-V3 — современные таггеры с расширенным словарём (2024).

Типичный пайплайн:

  1. Загрузить датасет в kohya_ss или dataset-tools.
  2. Прогнать через автокаптионер (BLIP для реалистики, WD14 для аниме).
  3. Просмотреть результат, исправить ошибки вручную.
  4. Добавить trigger word в начало каждой подписи.
  5. Запустить тренировку.

В kohya_ss файлы подписей хранятся в той же папке, что и картинки, с тем же именем (только расширение .txt):

dataset/
├── img_01.jpg
├── img_01.txt   ← подпись
├── img_02.jpg
├── img_02.txt

Пример на практике

Художник тренирует LoRA своего стиля иллюстрации на 40 примерах. Без captioning модель «впитает» все темы датасета — если в датасете были только пейзажи, LoRA будет работать только на пейзажах.

Решение — Dataset Captioning через WD14 Tagger:

  1. Прогоняет все 40 картинок через WD14.
  2. Получает теги вроде: landscape, mountain, forest, sunset, oil painting style.
  3. Удаляет теги, описывающие стиль (oil painting style, специфичная палитра).
  4. Оставляет теги переменных (composition, объекты, время суток).
  5. Добавляет trigger word: myStyle_v1 в начало каждой подписи.

После тренировки LoRA рисует в его стиле на любой теме: портреты, города, всё что попросишь. Это и есть смысл правильного captioning — отделить стилевое от ситуативного.

С чем часто путают

  • Captioning и Tagging — captioning это предложения («a photo of…»), tagging — отдельные теги через запятую («photo, sks person, blue suit»). Tagging чаще для аниме, captioning — для реалистики.
  • Dataset Captioning и Trigger Word — trigger word это часть caption, а не отдельная сущность. Обычно стоит в начале подписи.
  • Captioning и Promp Engineering — captioning делается на этапе подготовки тренировочного датасета. Prompt engineering — на этапе инференса.
  • Automatic Captioning и Manual — автоматический даёт черновик (BLIP, LLaVA); ручная правка устраняет ошибки. Лучшие LoRA обычно с ручной валидацией.

Частые ошибки и заблуждения

  • «Без captions LoRA вообще не тренируется». Тренируется, но качество хуже: модель не понимает, что переменное, а что постоянное.
  • «Чем длиннее caption, тем лучше». Не всегда. После 30–40 слов модель «теряется». Лучше 5–15 ключевых аспектов.
  • «BLIP даёт идеальные подписи». Нет. BLIP часто ошибается с цветами, упускает детали, иногда галлюцинирует. Обязательно проверять вручную.
  • «Captions для аниме и реалистики одинаковые». Нет. Аниме — booru-теги через запятую (WD14). Реалистика — предложения через BLIP.
  • «Captioning не важен для DreamBooth». Важен. В DreamBooth-пайплайне есть class images, и подписи нужны и для них, и для concept images.

Связанные термины

  • LoRA / DreamBooth — техники, для которых нужен captioning.
  • Trigger Word — обязательная часть каждой подписи в object-LoRA.
  • BLIP / WD14 / LLaVA — главные инструменты автокаптионинга.
  • kohya_ss — инструмент тренировки, читает .txt подписи.
  • Class Images — для DreamBooth: тоже требуют подписей.
  • Tag / Caption — два формата подписей.

Частые вопросы

Какой инструмент captioning выбрать? Для реалистики и общих сцен — BLIP-2 или LLaVA. Для аниме — WD14 Tagger или JoyTag. Для сложных стилей — комбинация BLIP-2 + ручная правка.

Сколько captions нужно? По одному на каждую картинку датасета. Не больше, не меньше. Файл image.txt рядом с image.jpg.

Можно ли тренировать без captions? Можно. В kohya_ss есть опция «default caption». Качество LoRA обычно заметно хуже, особенно для лица или объекта.

В чём разница между captions для SDXL и FLUX? Для FLUX лучше работают длинные natural-language captions (T5 их читает целиком). Для SDXL — короткие, ключевые слова (CLIP лучше понимает).

Где скачать каптионеры? BLIP/BLIP-2: Hugging Face. WD14 Tagger: GitHub toriato/stable-diffusion-webui-wd14-tagger или встроенный в kohya_ss. LLaVA: Hugging Face или ollama.

Сколько времени занимает captioning датасета? Автоматический — 1–3 секунды на картинку на средней GPU. 50 картинок — 1–2 минуты. Ручная правка — 30 секунд на каждую = ещё 25 минут на 50.

Главное

Dataset Captioning — невидимый, но критичный шаг тренировки LoRA и DreamBooth. От качества подписей зависит, чему модель научится: что переменное, что постоянное. Главное правило: описывайте всё, что должно быть «переменным», и не описывайте то, что должно быть «постоянной частью» концепта. Автоматизация через BLIP / WD14 / LLaVA — стартовая точка; финал почти всегда правится вручную. В kohya_ss это просто .txt файлы рядом с картинками.