Проблема дрейфа
Обычный SDXL при повторном вводе одного и того же запроса генерирует два заметно разных персонажа. Для продукта-компаньона, где пользователи привязываются к конкретному лицу, это критическая проблема.
Инженерия запросов помогает немного. Использование референсных изображений через IP-Adapter помогает больше. Но ни один из методов не решает проблему полностью.
Почему LoRA выигрывает в этом случае
LoRA, обученная на 20–60 тщательно отобранных изображениях одного персонажа, фиксирует лицо, тело и стиль прямо в диффузионной модели.
Затраты на инференс примерно такие же, как у базового SDXL. Обучение стоит всего несколько долларов на небольшом GPU-поде.
Как LovlyChat их обучает
После запуска персонажа однократная задача выполняется на RunPod A40 с kohya_ss примерно 2000–4000 шагов.
Полученный файл LoRA весит несколько сотен мегабайт и регистрируется по id персонажа в нашем хранилище персонажей.
Как API использует их во время запроса
Когда вызывается POST /v1/generation/jobs с characterId, воркер загружает соответствующую LoRA в workflow SDXL и применяет её во время сэмплинга.
Именно благодаря LoRA для каждого персонажа каждое изображение одного и того же персонажа выглядит как один и тот же человек.
Часто задаваемые вопросы
Статья «Как LovlyChat сохраняет образы персонажей: объяснение LoRA для каждого персонажа» объясняет, почему стандартные модели SDXL теряют сходство при генерации одного и того же персонажа, и как стек LovlyChat использует LoRA для каждого персонажа, обученные один раз на доступных GPU-мощностях, чтобы обеспечить стабильность лиц. Статья написана для пользователей, которые сравнивают AI-компаньонов, оценивают чат-платформы для общения или хотят лучше разобраться в этой теме перед началом использования сервиса.
Эта статья предназначена для тех, кто изучает вопросы стабильности персонажей в SDXL, сравнивает платформы с AI-компаньонами или пытается понять, какие функции делают общение с AI более личным и интересным для долгосрочного взаимодействия.
Стабильность персонажей в SDXL важна, потому что пользователи, интересующиеся этой темой, обычно ищут не просто случайные ответы, а глубокий опыт общения. Для них важнее память, характер и последовательность развития персонажа, чем просто новизна или разовые генерации.
Пользователи могут ознакомиться с этими возможностями прямо на lovlychat: просматривая доступных компаньонов, создавая собственного персонажа и открывая постоянные чаты прямо в браузере.