Перейти к содержимому
autopilot
AI. ПРАКТИКА.
ПОНЯТНЫЙ КОНТЕКСТ.
Оставить заявку ↗

Как подготовить txt-описания для датасета: коротко, чисто и по делу

Плохие captions портят даже хороший датасет: модель начинает цепляться за шум, повторять случайные детали и хуже реагирует на промпт. Рабочий подход обычно проще, чем кажется: делать txt-описания короткими, одинаково структурированными и привязанными к тому, что действительно видно в кадре.

Плохие captions портят даже хороший датасет: модель начинает цепляться за шум, повторять случайные детали и хуже реагирует на промпт. Рабочий подход обычно проще, чем кажется: делать txt-описания короткими, одинаково структурированными и привязанными к тому, что действительно видно в кадре.

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

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

Содержание

Зачем txt-описания нужны датасету

Когда рядом с изображением лежит одноимённый txt-файл, тренер читает не только сам кадр, но и словесное описание. По сути, вы подсказываете модели, какие признаки нужно связать с текстом. Именно поэтому captions для датасета влияют не только на “понимание” сцены, но и на то, насколько управляемой получится будущая LoRA.

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

Хорошее txt-описание для LoRA — это не сочинение и не свалка тегов. Это короткая подпись, которая помогает отделить важные признаки от второстепенных. Если задача — обучить внешность, стиль или тип съёмки, caption должен работать именно на эту задачу, а не пересказывать всё подряд.

Отсюда и главный принцип: caption должен быть полезнее, чем длиннее. Один чистый ряд признаков почти всегда лучше перегруженного списка, где полезные детали теряются среди повторов.

Что писать в txt, а что убирать

Самое практичное правило выглядит так: описывайте то, чем вы хотите потом управлять в генерации, и не дублируйте каждую постоянную деталь во всех файлах. Если у вас LoRA на человека или персонажа, перегруз по неизменным признакам часто мешает сильнее, чем помогает.

Обычно в txt стоит оставлять:

  • тип кадра: портрет, по пояс, полный рост, селфи, крупный план;

  • позу или действие: сидит, идёт, смотрит в камеру, держит телефон;

  • одежду, если она меняется от кадра к кадру и должна управляться в промпте;

  • фон и контекст, если он действительно различается и важен для обучения;

  • свет и ракурс, когда они заметно меняют восприятие кадра.

Чаще всего стоит убирать или сокращать:

  • повторы одной и той же внешности в каждом файле;

  • слова, которых в кадре нельзя проверить глазами;

  • оценочные эпитеты и художественные “украшения”;

  • длинные цепочки тегов, которые почти ничего не меняют при обучении;

  • случайные признаки, ошибочно добавленные автокапшенером.

Полезно оставить Лучше сократить или удалить
full body, selfie, white shirt, outdoors, natural light beautiful, attractive, cinematic mood, aesthetic vibes
looking at camera, sitting, crossed legs эмоции и смыслы, которых в кадре не видно напрямую
red jacket, office background, side view повторы постоянной внешности в каждом txt

Если автокапшенер постоянно подставляет цвет глаз, оттенок волос или другие постоянные детали там, где вы и так учите идентичность по самим изображениям, такие повторы лучше пересмотреть. Практика показывает: для персональных датасетов полезнее держать акцент на переменных признаках — одежде, позе, фоне, действии — а не вбивать во все файлы одинаковую биографию персонажа.

Смежная тема здесь — качество самих кадров. Даже аккуратный caption не исправит проблемный набор изображений, поэтому рядом полезно держать материал о том, какие кадры вредят обучению LoRA.

Рабочая формула короткого caption

Для большинства задач подходит простая схема:

[триггер или имя сущности, если используете] + [тип кадра] + [одежда/поза/действие] + [фон] + [свет или ракурс при необходимости]

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

Нормальный пример: woman, full body selfie photo, white long sleeve top, grey shorts, outdoors, natural light

Перегруженный пример: beautiful young woman with perfect skin and stunning eyes, fashionable casual lifestyle look, amazing realistic scene, social media style, ultra detailed, trending aesthetics, full body selfie outdoors in natural light

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

Если вы используете триггер-слово, держите его в одном и том же виде и месте во всех файлах. Не стоит в одном caption писать короткую форму, в другом — полное имя, а в третьем — вообще забывать про триггер. Непоследовательность потом всплывает уже на генерации.

Формат можно выбрать один из двух:

  • короткая строка через запятую;

  • короткое естественное предложение, если весь датасет ведётся в одном стиле.

Смешивать оба подхода в случайном порядке обычно не стоит. Для txt описаний для lora важнее единообразие, чем “красивость” формулировок.

Как подготовить подписи быстро

Наиболее рабочая схема сейчас выглядит так: автогенерация → ручная чистка → унификация структуры. Автокапшенеры действительно экономят время, особенно когда датасет уже перевалил за несколько десятков изображений. На практике часто используют Florence-подобные captioning-модели и batch-инструменты, которые прогоняют сразу целую папку и сохраняют txt рядом с картинками.

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

Удобный порядок работы такой:

  1. прогоняете папку через captioning-инструмент;

  2. смотрите 10–15 файлов подряд и вылавливаете системные ошибки;

  3. фиксируете единый шаблон captions;

  4. массово правите всё, что выбивается из структуры;

  5. дочищаете руками спорные кадры.

Если вы только выбираете инструмент для автоподписей, полезно отдельно посмотреть, что такое Florence и зачем его используют в LoRA. А если набор ещё не собран окончательно, рядом пригодится материал о том, сколько фото нужно для первой LoRA: он помогает не раздувать датасет ради количества.

По нашему опыту, оптимальный результат часто даёт caption длиной в одну-две строки. Этого хватает, чтобы оставить смысл и не перегрузить txt-файл второстепенными подробностями.

Как организовать файлы, чтобы trainer всё прочитал

Техническая часть тоже важна. Самый безопасный вариант — держать изображение и подпись с одинаковым именем в одной папке: например, 0001.jpg и 0001.txt. Тогда при импорте датасета меньше шансов потерять связи между кадром и текстом.

Если вы переименовываете файлы после автокапшенинга, делайте это пакетно и сразу для пары “картинка + txt”. Иначе легко получить ситуацию, когда изображения на месте, а подписи уже не подцепляются. Когда trainer или сервис показывает странный результат, первым делом стоит проверить именно соответствие имён, структуру папок и то, не остались ли временные дубли. Для этого у нас есть отдельный материал о том, где искать dataset и временные файлы.

Ещё один практический момент: если сервис импортирует только изображения, а txt приходится вставлять вручную, лучше сначала довести шаблон captions до финального вида в обычном текстовом редакторе, и только потом переносить их в интерфейс. Так вы снижаете шанс на разнобой в формулировках.

Ошибки, которые засоряют датасет

Ошибка 1. Одинаковая простыня в каждом txt. Когда во всех файлах повторяется один и тот же длинный набор признаков, captions перестают разделять кадры между собой. Для модели это слабый сигнал.

Ошибка 2. Случайные автотеги не проверяются глазами. Если captioner однажды решил, что на фото карие глаза, а у вас они серые, ошибка уедет прямо в обучение.

Ошибка 3. Смешение постоянного и переменного. Постоянную внешность вы часто уже даёте самой выборкой изображений. Txt лучше использовать для того, что меняется от кадра к кадру и должно контролироваться текстом.

Ошибка 4. Описание пытается компенсировать слабый датасет. Если исходные кадры похожи друг на друга, шумные или выбиваются по качеству, длинный caption не спасёт. Тут важнее сократить дубли, убрать спорные изображения и выровнять подборку.

Ошибка 5. Нет финальной ручной проверки. Даже хороший captioner регулярно промахивается в мелочах. Пять минут на просмотр файлов перед обучением окупаются намного лучше, чем ещё один полный прогон тренировки.

Отдельно стоит проверять, не тянет ли автогенерация в txt всё подряд: украшения, косметику, настроение, “атмосферу”, случайные предметы на фоне. Чем уже задача LoRA, тем строже нужен фильтр.

Чек-лист перед обучением

  • У каждого изображения есть одноимённый txt-файл.

  • Во всех captions один и тот же порядок признаков.

  • В описаниях нет пустых фраз, домыслов и повторов ради объёма.

  • Переменные признаки описаны, постоянные не забивают весь датасет.

  • Ошибки автокапшенера исправлены хотя бы на спорных кадрах.

  • Сильно похожие изображения и явный визуальный шум убраны.

  • Триггер-слово, если оно используется, записано одинаково во всех файлах.

Итог простой: как писать txt для lora зависит от цели обучения, но почти всегда выигрывает компактный и последовательный формат. Чем чище подписи, тем проще модели связать текст с реальными признаками кадра, а не с мусором вокруг них.

Если свести всё к одному правилу, оно будет таким: пишите не “побольше”, а “точнее”. Для датасета это обычно полезнее всего.

По этой теме

Все материалы ↗