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

Почему одна и та же внешность в разных workflow «разваливается»?

Это одна из самых неприятных ситуаций для новичка: вы вроде обучили LoRA на конкретного человека, в одном workflow лицо более-менее держится, а в другом уже начинается хаос.

Это одна из самых неприятных ситуаций для новичка: вы вроде обучили LoRA на конкретного человека, в одном workflow лицо более-менее держится, а в другом уже начинается хаос. Где-то меняются глаза, где-то уплывает форма лица, где-то ломается мимика, а в видео персонаж вообще становится “похожим, но не тем”.

И здесь важно понять главное: одна и та же внешность в разных workflow не обязана вести себя одинаково. Потому что workflow — это не просто другая кнопка запуска. Это другая логика генерации, другая модель, другой тип задачи, другие узлы, другие референсы, другие веса и иногда вообще другой “язык”, на котором модель воспринимает вашу LoRA.

Поэтому правильный вопрос звучит не так: “Почему моя LoRA плохая?” Правильнее спрашивать: “Совпадает ли текущий workflow с тем, под что моя LoRA реально обучалась и где она должна работать?”

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

Короткий ответ

Внешность разваливается в разных workflow потому, что вы меняете не только сцену, но и саму среду, в которой LoRA должна удерживать идентичность.

Чаще всего проблема упирается в одно или сразу несколько из этого:

  • другая базовая модель;
  • другой тип workflow: фото, img2img, video, lipsync, animator;
  • слишком слабая или слишком агрессивная сила LoRA;
  • разные prompt-правила и trigger logic;
  • неполный или перекошенный датасет;
  • captioning, который плохо разделил внешность, позу и сцену;
  • референсы, которые сильнее давят на результат, чем сама LoRA;
  • ограничения конкретного video workflow, где лицо и фигура держатся хуже, чем в фото.

Самая частая причина: у workflow разная база под капотом

Это то, что новички часто недооценивают. Кажется, что LoRA — это уже “готовая внешность”, и значит она должна одинаково работать везде. Но на практике LoRA живёт не в вакууме, а поверх конкретной базовой модели.

Если вы обучали LoRA под один тип модели, а потом пытаетесь использовать её в другом семейства workflow, результат может начать плыть. Не потому что внешность “забылась”, а потому что другая база по-другому интерпретирует признаки лица, света, кожи, мимики и даже композиции.

Именно поэтому в практике нередко советуют делать не одну универсальную LoRA на всё подряд, а несколько LoRA под разные модели и задачи — отдельно под фото, отдельно под другую модельную семью, отдельно под видео. Это не перфекционизм, а попытка не заставлять одну LoRA тащить слишком разные режимы генерации. Если хотите углубиться в эту логику, посмотрите почему иногда советуют делать не одну LoRA, а сразу несколько.

Один workflow может усиливать лицо, а другой — сцену или движение

Разные workflow по-разному распределяют “власть” над результатом.

Например:

  • в простом photo workflow LoRA может держать внешность достаточно уверенно;
  • в img2img часть идентичности начинает перетягивать исходное изображение;
  • в video workflow большое влияние получают движение, референс, motion-пайплайн и общая сцена;
  • в lipsync или animator-сценариях приоритет может уходить в рот, мимику, позу и кадры движения, а не в точную стабильность лица.

Поэтому одна и та же LoRA может выглядеть отлично в статике и ощутимо хуже в видео. Это не редкость. Видео-пайплайн просто нагружает модель другой задачей: ей нужно не только сохранить человека, но ещё и выдержать движение, позу, иногда синхронизацию рта, иногда референсную сцену.

Video workflow почти всегда сложнее для идентичности

Вот здесь многие ломаются. Кажется логичным: если LoRA хорошо рисует человека на фото, то в видео она должна делать то же самое, только в движении. На практике это неверно.

Видео — это более тяжёлая задача для устойчивости личности. Там проще потерять форму глаз, пластику лица, мелкие признаки и даже общее ощущение “того же самого человека”. Особенно если workflow опирается на позы, референсы, motion control или image-to-video механику.

Часто кажется, что лицо “держится чуть-чуть, но не полностью”. Это как раз типичный симптом. В статике модель успевает удержать образ, а в видео часть идентичности съедается динамикой пайплайна.

Если вы работаете именно с видео, полезно заранее принимать это как ограничение среды, а не ждать от любой LoRA чудесной абсолютной стабильности.

Проблема может быть не в LoRA, а в силе её применения

Ещё одна частая причина — неправильный вес самой LoRA или связанных face-параметров внутри workflow.

Новичку кажется: если внешность плывёт, надо усилить LoRA. Иногда это помогает. Но очень часто получается наоборот — лицо начинает ломаться, мимика дубеет, кожа становится пластиковой, а признаки начинают “пережиматься”.

Слишком слабая сила даёт расплывание идентичности. Слишком сильная — часто даёт не стабильность, а жёсткое, неестественное прилипающее лицо. Поэтому важна не абстрактная “максимальная мощность”, а рабочий баланс.

То же самое касается face strength и похожих параметров. Если в одном workflow лицо держится, а в другом нет, проблема может быть вообще не в обучении, а в том, как именно вы прикручиваете LoRA на инференсе.

Captioning может объяснить, почему лицо держится в одном сценарии и плывёт в другом

Очень частая скрытая причина — это неидеальный captioning.

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

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

Иногда вы сами просите workflow разрушить внешность

Это звучит грубо, но это правда. Бывает, что человек хочет сохранить одно и то же лицо, но одновременно:

  • резко меняет фигуру через prompt;
  • сильно меняет возрастной типаж;
  • меняет волосы, свет, одежду и сцену сразу;
  • подсовывает сильный референс другой внешности;
  • использует video workflow, где важнее поза и движение, чем точная идентичность.

В таком режиме workflow начинает решать несколько конфликтующих задач. И если LoRA не очень сильная или датасет не покрывает такие условия, лицо начинает “дрейфовать”.

Проще говоря: не всякое изменение совместимо с требованием “оставь этого же человека один в один”.

Датасет мог быть хорошим для одного сценария и слабым для другого

Это ещё один важный момент. Датасет не бывает “хороший вообще”. Он бывает хорошим под конкретный тип задач.

Например:

  • для портретов по пояс датасет может быть отличным;
  • для профиля и сильных эмоций — уже слабым;
  • для видео и движения — ещё слабее;
  • для тёмных сцен или необычного света — вообще неподготовленным.

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

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

Референсы и control-механики могут быть сильнее LoRA

Во многих workflow, особенно image-to-image и video, поверх LoRA ещё работают:

  • референсные изображения;
  • pose control;
  • motion control;
  • face swap / face guidance;
  • дополнительные адаптеры и узлы.

Из-за этого люди часто переоценивают роль одной только LoRA. Кажется, что именно она должна всё удержать. Но если workflow сильно привязан к референсу, то референс начинает задавать геометрию, позу, иногда даже ощущение лица сильнее, чем сама LoRA.

И вот тогда возникает знакомое ощущение: “это как будто мой персонаж, но не совсем”. Это не всегда провал обучения. Иногда это конфликт источников влияния внутри самого графа.

Одна и та же LoRA может по-разному вести себя даже из-за промпта

Это тоже недооценивают. Один prompt может поддерживать идентичность, а другой — размывать её.

Особенно опасны ситуации, когда вы:

  • слишком активно описываете внешность в промпте;
  • просите противоречащие признаки;
  • используете prepend text, который подмешивает постоянные свойства ко всем генерациям;
  • перегружаете сцену стилем сильнее, чем самим субъектом.

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

Поэтому один и тот же персонаж может в одном workflow “держаться”, а в другом — распадаться просто потому, что там другой prompt-design.

Почему особенно сильно ломаются глаза, мимика и мелкие черты

Потому что это самые хрупкие элементы идентичности. Общий типаж модель удерживает проще, чем тонкие вещи:

  • форма глаз;
  • взгляд;
  • улыбка;
  • линия губ;
  • асимметрия лица;
  • небольшие черты, которые и делают человека “тем самым”.

Как только workflow начинает давить на движение, сильную эмоцию, другую позу или референсную геометрию, именно эти детали часто уезжают первыми.

Поэтому новичку кажется: “вроде человек тот же, но уже не тот”. Это не галлюцинация. Просто общая внешность удержалась, а идентичность на уровне микропризнаков уже поплыла.

Иногда дело не в лице, а в том, что вы пытаетесь одной LoRA закрыть слишком разные задачи

Это возвращает нас к важной мысли: не каждая LoRA должна быть универсальной.

Если вы хотите одной и той же LoRA закрыть:

  • фотореалистичные портреты;
  • полный рост;
  • сложную мимику;
  • несколько разных модельных семейств;
  • image-to-video;
  • lipsync;
  • разные стили и световые сценарии;

то вероятность “развала” резко растёт. Не потому что LoRA плохая, а потому что на неё повесили слишком разные требования.

Иногда более разумный путь — не пытаться заставить одну LoRA быть всем сразу, а разделять задачи: одна под фото, другая под другую базу, третья под видео. Это скучнее, зато намного стабильнее в реальной работе.

Что проверить, если внешность разваливается

Вместо гадания лучше пройтись по короткому чек-листу:

  • 1. На той ли базовой модели вы вообще используете LoRA?
  • 2. Под этот ли тип задачи она обучалась: фото, видео, img2img?
  • 3. Не слишком ли слабая или сильная сила LoRA?
  • 4. Не конфликтуют ли prompt и trigger word с тем, что должна держать сама LoRA?
  • 5. Хватает ли датасету эмоций, профилей, света, полного роста и сложных сцен?
  • 6. Не перетягивают ли результат референсы или control-механики?
  • 7. Не пытаетесь ли вы использовать одну LoRA там, где разумнее иметь отдельную?

Этот список обычно полезнее, чем вопрос “почему workflow плохой?”.

Когда проблема реально в workflow

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

Насторожиться стоит, если:

  • в одном и том же workflow у многих плавают глаза и мимика;
  • там агрессивные настройки по силе или face guidance;
  • workflow заточен под другую базу модели;
  • внутри есть сильные референсные и control-узлы, которые забирают управление;
  • автор графа ориентировался не на стабильность идентичности, а на другой результат — например, скорость или motion.

Но даже здесь не надо начинать с обвинения графа. Сначала всегда полезнее проверить совместимость задачи, базы и LoRA.

Вывод

Одна и та же внешность в разных workflow разваливается не потому, что LoRA “забыла лицо”, а потому, что вы меняете условия, под которыми эта идентичность должна удерживаться.

Главные причины обычно такие: другая базовая модель, другой тип задачи, другой вес LoRA, конфликт prompt-логики, слабый датасет под новые сцены, неудачный captioning и сильное влияние референсов или video-пайплайна.

Поэтому мыслить лучше так: не “почему мой персонаж вдруг стал другим?”, а “какая часть текущего workflow сильнее всего давит на идентичность и где именно моя LoRA перестаёт справляться?”

Когда вы начинаете смотреть на проблему именно так, внешний “развал” перестаёт быть мистикой и превращается в вполне понятную диагностику: база, задача, датасет, captions, сила LoRA и контрольные узлы. А это уже можно чинить по шагам.

Для внешнего ориентира по качеству character LoRA можно посмотреть рекомендации Replicate по character LoRA datasets и заметки Ostris по качеству датасета и гибкости LoRA. Там хорошо видно ту же самую логику: чем слабее и уже датасет, тем хуже LoRA переносится на новые условия и стили. ✅

По этой теме

Все материалы ↗
ComfyUI8 мин чтения

Почему workflow может висеть, падать или работать «через раз», даже если автор уверяет, что у него всё летает?

Одна из самых частых ошибок новичка — думать, что если автор workflow написал «у меня всё летает», то у вас оно обязано запуститься так же. На практике.

Читать статью