Что ломалось и какие причины проверили
Сначала все эти симптомы оценивали вместе. Из-за этого было трудно понять, помогло ли очередное изменение. В четвёртой части soul_alchemy разделил проблему: артефакты заливок — отдельно, развал деталей — отдельно. Для обучения LoRA это полезное различие: разным дефектам могут понадобиться разные исправления.
До этих проверок автор заметил, что генерация через Base с официальной Turbo LoRA сильно уменьшала «габигаби» по сравнению с Turbo v1.1. Удаление имён персонажей из подписей решило другую проблему: артефакты перестали усиливаться в сценах с несколькими людьми. А грязь на диване и одежде осталась.
Тогда soul_alchemy сравнил свою LoRA с открытой Flat Anime Style. Обе обучали на Base, но при использовании с Turbo у Flat Anime Style не было таких дефектов. Автор проверил четыре версии.
Первая касалась T-LoRA. В этой схеме LoRA состоит из 32 «колонок». Во время обучения на ранних, самых зашумлённых этапах сначала используют только часть, а при генерации — все колонки. Автор предположил, что необученные на раннем этапе колонки могут вносить нежелательные изменения.
Проверка не показала, что главная причина — колонки с девятой по тридцать вторую. Версии только с первыми четырьмя или восемью колонками давали почти тот же рисунок и те же островки теней. Вариант только с девятой колонки был близок к генерации без LoRA. При этом автор не исключил рассинхрон T-LoRA полностью: первые колонки тоже не совпадают с обучением на ранней стадии.
Во второй проверке автор разом изменил четыре настройки, среди них T-LoRA и обучение adaLN. Этот компонент влияет на общую яркость и силу изображения на разных этапах генерации. Чуда не произошло. А поскольку параметры поменяли одновременно, эффект каждого по отдельности оценить нельзя.
Третья версия: LoRA усвоила характер Turbo, а при генерации через Turbo этот характер накладывается дважды. Автор сравнил направление изменений весов с разницей между Base и Turbo. Для официальной Turbo LoRA сходство составило 0,0114. У первой самодельной версии оно было меньше одной десятой этого значения. Дефектная LoRA сильнее всего расходилась с направлением Turbo. На измеренном наборе данных гипотеза не подтвердилась, хотя автор допускает, что общий подсчёт весов мог скрыть такой эффект.
Четвёртая версия касалась подписей. В Flat Anime Style использовали danbooru-теги: 648 разных тегов на 73 изображения. Soul_alchemy писал фразами. Он заменил подписи наборами в среднем из 19 тегов, убрал имена персонажей, географические названия и триггерное слово. Эффект оказался небольшим: стиль выглядел удачно, но изображения оставались грубоватыми. Цвет волос оригинального персонажа тоже продолжал смещаться.
Кстати, в файле Flat Anime Style был указан noise offset 0,03. Но в коде обучения Anima автор не нашёл, чтобы его применяли. Настройка в метаданных ещё не значит, что она участвовала в обучении. Проверять стоит и конфиг, и то, что код действительно запускает.
По выводу soul_alchemy, ни одна из четырёх проверок не объяснила артефакты окончательно.
После этих проверок автор вернулся к обучающим изображениям. Все 51 изображение первой версии были созданы Anima Turbo с одинаковыми настройками. Возникла версия: в картинках уже были мелкие дефекты, а LoRA запомнила их как часть стиля и стала воспроизводить сильнее.
Похожую проблему описывает исследование Self-Consuming Generative Models Go MAD: когда генеративную модель обучают на её собственных результатах, ошибки могут накапливаться, а качество и разнообразие — снижаться. Это не доказывает, что любой датасет из генераций испортит LoRA. Но здесь все референсы пришли из одного генератора — такую однородность стоило проверить.
Что можно повторить в своих экспериментах
Если ваша style-LoRA рвёт заливки, я бы сначала проверил происхождение референсов. Не начинайте с десяти новых настроек. Возьмите несколько одинаковых сцен и сравните обучение на исходниках с обучением на версиях другой модели или на рисунках, сделанных вручную. Остальные условия по возможности оставьте прежними.
Проверяйте результаты на одних и тех же промптах и seed. Большие ровные поверхности, мелкие детали и соответствие стилю лучше оценивать отдельно. Если сразу заменить модель-источник, описания, размер картинок и параметры обучения, вы не поймёте, что сработало. Здесь есть именно такое ограничение: перерисовка поменяла и чистоту изображений, и их визуальный язык.
Отдельно проверьте подписи. Имена персонажей в style-LoRA могут привязать к ней одежду и другие особенности. В этой серии удаление имён помогло в сценах с несколькими людьми, но не убрало дефекты плоских поверхностей. Замена фраз на теги дала небольшой эффект — универсальным лекарством она не стала.
Проверьте и сами настройки. Автор обнаружил, что noise offset был записан в метаданных, но код его не использовал. С AdamW8bit возникла другая проблема: в его среде не было подходящей версии bitsandbytes. Несовместимая версия запускалась без ошибки, но некоторые значения доходили до 1,58 вместо ожидаемых значений ниже 0,005. Автор счёл вычисления некорректными и вернулся к обычному AdamW. Код может работать тихо и при этом считать неправильно.
Я бы начал с датасета, а потом менял по одному условию. В этой серии замена источника изображений дала более заметный сигнал, а правка подписей помогла убрать отдельный эффект. Ещё заведите разные названия для разных типов дефектов. Иначе легко решить, что вы исправили одно, хотя изменилось совсем другое.
Источникnote.com
