Главная Юзердоски Каталог Трекер NSFW Настройки

Искусственный интеллект

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 237 48 86
Stable Diffusion технотред #19 /tech/ Аноним 29/03/25 Суб 07:54:20 1118663 1
training methods.png 1034Кб, 3510x2910
3510x2910
diffusion proce[...].png 358Кб, 2546x1822
2546x1822
lr.png 252Кб, 1853x624
1853x624
performance cha[...].png 454Кб, 2440x934
2440x934
flux arch.jpg 1188Кб, 3258x3242
3258x3242
sd3 mmdit arch.png 257Кб, 2004x1372
2004x1372
ИТТ делимся советами, лайфхаками, наблюдениями, результатами обучения, обсуждаем внутреннее устройство диффузионных моделей, собираем датасеты, решаем проблемы и экспериментируем Тред общенаправленныей, тренировка дедов, лупоглазых и фуррей приветствуются

Предыдущий тред: >>974163 (OP)

➤ Софт для обучения

https://github.com/kohya-ss/sd-scripts
Набор скриптов для тренировки, используется под капотом в большей части готовых GUI и прочих скриптах.
Для удобства запуска можно использовать дополнительные скрипты в целях передачи параметров, например: https://rentry.org/simple_kohya_ss

https://github.com/bghira/SimpleTuner Линукс онли, бэк отличается от сд-скриптс

https://github.com/Nerogar/OneTrainer Фич меньше, чем в сд-скриптс, бэк тоже свой

➤ GUI-обёртки для sd-scripts

https://github.com/bmaltais/kohya_ss
https://github.com/derrian-distro/LoRA_Easy_Training_Scripts

➤ Обучение SDXL

https://2ch-ai.gitgud.site/wiki/tech/sdxl/

➤ Flux

https://2ch-ai.gitgud.site/wiki/nai/models/flux/

➤ Гайды по обучению

Существующую модель можно обучить симулировать определенный стиль или рисовать конкретного персонажа.

LoRA – "Low Rank Adaptation" – подойдет для любых задач. Отличается малыми требованиями к VRAM (6 Гб+) и быстрым обучением. https://github.com/cloneofsimo/lora - изначальная имплементация алгоритма, пришедшая из мира архитектуры transformers, тренирует лишь attention слои, гайды по тренировкам:
https://rentry.co/waavd - гайд по подготовке датасета и обучению LoRA для неофитов
https://rentry.org/2chAI_hard_LoRA_guide - ещё один гайд по использованию и обучению LoRA
https://rentry.org/59xed3 - более углубленный гайд по лорам, содержит много инфы для уже разбирающихся (англ.)

LyCORIS (Lora beYond Conventional methods, Other Rank adaptation Implementations for Stable diffusion) - проект по созданию алгоритмов для обучения дополнительных частей модели. Ранее имел название LoCon и предлагал лишь тренировку дополнительных conv слоёв. В настоящий момент включает в себя алгоритмы LoCon, LoHa, LoKr, DyLoRA, IA3, а так же на последних dev ветках возможность тренировки всех (или не всех, в зависимости от конфига) частей сети на выбранном ранге:
https://github.com/KohakuBlueleaf/LyCORIS

Подробнее про алгоритмы в вики https://2ch-ai.gitgud.site/wiki/tech/lycoris/

Dreambooth – для SD 1.5 обучение доступно начиная с 16 GB VRAM. Ни одна из потребительских карт не осилит тренировку будки для SDXL. Выдаёт отличные результаты. Генерирует полноразмерные модели:
https://rentry.co/lycoris-and-lora-from-dreambooth (англ.)
https://github.com/nitrosocke/dreambooth-training-guide (англ.) https://rentry.org/lora-is-not-a-finetune (англ.)

Текстуальная инверсия (Textual inversion), или же просто Embedding, может подойти, если сеть уже умеет рисовать что-то похожее, этот способ тренирует лишь текстовый энкодер модели, не затрагивая UNet:
https://rentry.org/textard (англ.)

➤ Тренировка YOLO-моделей для ADetailer:
YOLO-модели (You Only Look Once) могут быть обучены для поиска определённых объектов на изображении. В паре с ADetailer они могут быть использованы для автоматического инпеинта по найденной области.

Подробнее в вики: https://2ch-ai.gitgud.site/wiki/tech/yolo/

Не забываем про золотое правило GIGO ("Garbage in, garbage out"): какой датасет, такой и результат.

➤ Гугл колабы

﹡Текстуальная инверсия: https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/sd_textual_inversion_training.ipynb
﹡Dreambooth: https://colab.research.google.com/github/TheLastBen/fast-stable-diffusion/blob/main/fast-DreamBooth.ipynb
﹡LoRA https://colab.research.google.com/github/hollowstrawberry/kohya-colab/blob/main/Lora_Trainer.ipynb

➤ Полезное

Расширение для фикса CLIP модели, изменения её точности в один клик и более продвинутых вещей, по типу замены клипа на кастомный: https://github.com/arenasys/stable-diffusion-webui-model-toolkit
Гайд по блок мерджингу: https://rentry.org/BlockMergeExplained (англ.)
Гайд по ControlNet: https://stable-diffusion-art.com/controlnet (англ.)

Подборка мокрописек для датасетов от анона: https://rentry.org/te3oh
Группы тегов для бур: https://danbooru.donmai.us/wiki_pages/tag_groups (англ.)
NLP тэггер для кэпшенов T5: https://github.com/2dameneko/ide-cap-chan (gui), https://huggingface.co/Minthy/ToriiGate-v0.3 (модель), https://huggingface.co/2dameneko/ToriiGate-v0.3-nf4/tree/main (квант для врамлетов)

Оптимайзеры: https://2ch-ai.gitgud.site/wiki/tech/optimizers/
Визуализация работы разных оптимайзеров: https://github.com/kozistr/pytorch_optimizer/blob/main/docs/visualization.md

Гайды по апскейлу от анонов:
https://rentry.org/SD_upscale
https://rentry.org/sd__upscale
https://rentry.org/2ch_nai_guide#апскейл
https://rentry.org/UpscaleByControl

Старая коллекция лор от анонов: https://rentry.org/2chAI_LoRA

Гайды, эмбеды, хайпернетворки, лоры с форча:
https://rentry.org/sdgoldmine
https://rentry.org/sdg-link
https://rentry.org/hdgfaq
https://rentry.org/hdglorarepo
https://gitgud.io/badhands/makesomefuckingporn
https://rentry.org/ponyxl_loras_n_stuff - пони лоры
https://rentry.org/illustrious_loras_n_stuff - люстролоры

➤ Legacy ссылки на устаревшие технологии и гайды с дополнительной информацией

https://2ch-ai.gitgud.site/wiki/tech/legacy/

➤ Прошлые треды

https://2ch-ai.gitgud.site/wiki/tech/old_threads/

Шапка: https://2ch-ai.gitgud.site/wiki/tech/tech-shapka/
Аноним 29/03/25 Суб 13:27:08 1119000 2
>>1118239 →
>>1118244 →
проверил кароче с 0.99, и оно действительно работает на достаточно агрессивном 0.0005 лр по юнету и те, терять связи текста с изображением начинает примерно с 7-13 эпохи в зависимости от промта на моих настройках с жесткой регуляризацией

но общее качество сохраняется на нужном уровне отличном даже спустя 50 эпох, просто чтобы обратно возвращались умения давать написанное нужно понижать клип или юнет или оба сразу

в отличие от 2-3 эпохи где все летит в жопу ранее на 0.9 бете

обощает мое почтение теперь, практически ноль артефактов с жесткими дропаутами на всем чем можно
Аноним 30/03/25 Вск 13:39:40 1120660 3
>>1119000
понизил beta2 до 0.9 (ну то есть ранее б1б2 было 0.9-0.999, теперь 0.99-0.9) - и вроде как перестало косоебить текстовый енкодер при соотношении 1 к 1, магия
Аноним 30/03/25 Вск 20:24:30 1121545 4
>>1120660

>При beta2=0.999 вес новых градиентов минимален (1 - 0.999 = 0.001), и второй момент почти полностью зависит от прошлых данных. Это замедляет адаптацию к вашему датасету. Text encoder "застревает" в предобученном состоянии, а небольшие изменения накапливаются медленно и хаотично.

>Высокое beta2 усиливает эффект шума в градиентах, особенно при малом датасете или высоком LR. Это может привести к "разрушению" эмбеддингов, так как модель не успевает стабильно адаптироваться.

>Обновления весов становятся слишком "гладкими" и инерционными. Вместо тонкой настройки специфичных токенов модель начинает переписывать базовые знания CLIP, теряя способность интерпретировать сложные или редкие запросы.

>Почему beta2=0.999 хуже: Слишком долгая память и медленное обновление второго момента приводят к переобучению или "разрушению" предобученных знаний text encoder.

Кто ж знал что для TE лучше низкий beta2 и высокий beta1 (судя по всему), нигде об этом не написано, ток анон что писал про beta1 вскольз упомянул. То есть дефолтные значения оптимизаторов полностью в жопе и годятся только для полноценной тренировки на гигадатасетах или с дебильным занижением lr у te относительно юнета (что все и делают, а меня это вкорне не устраивало).
Аноним 31/03/25 Пнд 07:35:27 1122464 5
>>1121545
> что все и делают
Ну не совсем, на совсем уж мелких датасетах я хз зачем тебе вообще энкодер впёрлось размораживать, тем более если тренировка идёт на что то одно, без каких то разделений в лоре
Аноним 31/03/25 Пнд 16:00:07 1122921 6
>>1122464
>Ну не совсем
Я имею в виду, что на цивите, гхабе, реддитах если читать обсуждения и смотреть чужие конфиги там постоянно уже 3 года просто занижают te, что математически неверно для нейрокала так-то. Просто коя однажды перданул что тип "ну нирикамендую тренить те вообще, терпите, треньте только юнет, клип легко поломать", а многие не согласились и начали занижать те просто втупую.

>на совсем уж мелких датасетах я хз зачем тебе вообще энкодер впёрлось размораживать
Потому что изначально мне в жопе сверлило что нужна приближенная симуляция полной тренировки с полноценным влиянием на все веса модели, но силами лор, а не полумера в виде тренинга юнета через вижн клипа с выкл те или триггер ворд класса датасета чтобы по токену вызывать неуправляемые приколы. То есть как тренируется фул чекпоинт - там нет никаких лоу рангов, альф хуяльф, разделения unet/te, просто выбирается эффективная скорость, шедулер, оптим и оно дрочит, потом из такого чекпоинта можно высчитать дифренс в виде лоры если сильно те не отпердолен и оно будет работать даже если обратно применять. Следовательно что? Теоретически то же самое по эффекту можно добиться залезая в трубу с другой стороны - изначально подготовить тренинг лоры под эффект постпроцесса тренировки чекпоинта.

Желаемого результата именно тренировки (запоминание, воспроизведение, стабильность) я достиг это достигается пачкой регуляризаций и мокрописек, очень долго описывать, овер 150 моделей выдрочил и главная проблема была только в разрушении te спустя несколько эпох, что оказалось фиксится бетами оптимайзера (несколько недель искал как супрессить влияние на TE, гнев отчаяние - потом спросил в итт треде, пришел чел и дал верное направление с шикарным видосом по оптимайзерам; не факт кстати что оно с стандартным пйплайном тренировки лоры будет также работать, я ток давно тыкал беты и не остался доволен и больше не тыкал поэтому) и согласно моим тестам теперь работает безупречно с гигантской точностью, влияя на модель полноценно как будто бы я фул чекпоинт тренил. Да и настраивается оно проще по итогу, соотношения не нужно подбирать вот это всё, размер датасета тоже значения не имеет по итогу. Справляется как с общими концептами, так и с объект субъектами, при этом настройки вообще не меняются по сути, то есть изначальная подготовка не меняется как если бы она не менялась при тренировке фул чекпоинта, думаю после еще некоторых тестов выкатить статейку со всем ресерчем, там есть че почитать и обсудить, например квадрат дименшена через rs_lora, которая давным давно внедрена в ликорис, но в инете большинство обсуждений вообще не касается это фичи, которая по факту супрессит альфу и позволяет выставлять гигадименшены и убирает еблю с нахождением соотношения нетворка с конволюшеными (мало того, если дименшен конв меньше дименшена нетворка с рслорой то ты просто наблюдаешь деградацию точности, а при равных значениях оно работает как часики).
Аноним 31/03/25 Пнд 16:10:15 1122940 7
>>1122921
>если дименшен конв меньше дименшена нетворка с рслорой то ты просто наблюдаешь деградацию точности
Это кстати косвенное подтверждение того, что занижение конволюшенов в стандартных лорах исходя из того что конв слоев меньше в 4 раза чем основных модулей это костыль и архитектурно неверно. Ну конвы в принципе изначально в лоре то и не теребили никогда, это с ликорисом пришло, а там при стандартном тренинге при равных дименшенах конвы начинаются доминировать и ломают модель, что как-то вообще нелогично, потом выяснилось что проблема в самом значении дименшенов и чем ближе натуральное значение дименшена к полным парметрам тем влияние конволюшенов стабилизируется.
Аноним 01/04/25 Втр 03:43:14 1124309 8
>>1122921
> Просто коя однажды перданул что тип "ну нирикамендую тренить те вообще, терпите, треньте только юнет, клип легко поломать"
Это произошло не из за кохьи, а потому что ранвей и новелы перданули моделями, в которых они не тренили клип, грубо говоря на примере показали что базового было достаточно (нет, не было, но тренить мелкий клип не поломав всё, продолжительное время они видимо не могли)
> То есть как тренируется фул чекпоинт - там нет никаких лоу рангов, альф хуяльф, разделения unet/te
И именно поэтому там даже разделение TE лров у XL чекпоинтов видимо есть?
> можно высчитать дифренс в виде лоры
Эта хуйня ужасно работает, когда ты ужимаешь в ранги ниже 32, даже в нём уже пиздец виден может быть, оно типо заедет, только если пережарить к хуям будкой и извлечь в мелкий ранг, в котором потеряется столько информации, что сгладит прожарку. Лучше тренить сразу в низком ранге со всеми свистоперделками, да
> думаю после еще некоторых тестов выкатить статейку со всем ресерчем, там есть че почитать и обсудить, например квадрат дименшена через rs_lora, которая давным давно внедрена в ликорис, но в инете большинство обсуждений вообще не касается это фичи, которая по факту супрессит альфу и позволяет выставлять гигадименшены и убирает еблю с нахождением соотношения нетворка с конволюшеными
А когда то была такая ебля? Эта rs lora в кохье и у кохака ничего практически не делает, просто скейлит не от альфы а от её квадратного корня, хз зачем вообще она существует, когда можно тоже самое самому поставить
Аноним 01/04/25 Втр 12:43:42 1124505 9
>>1124309
>Это произошло не из за кохьи
Я про то что для энтузиастов скрипты принес коя, а один из ранних туторов кои прям содержит фразы уровня "не рекомендую тренировать клип".
>И именно поэтому там даже разделение TE лров у XL чекпоинтов видимо есть?
Есть =/= требуется. Вообще не про то речь. Я к тому что если нужен эффект обучения с нуля нужно не файнтюнить на низкой скорости предобученную часть, а делать жесткую связь между новыми знаниями и новыми текстовыми описаниями, чтоб без токенликинга. Сюда же синтетические тесты, где глобальный лр один на всё для тестирования эффективности.
>А когда то была такая ебля?
Да, постоянно. Шаг влево шаг вправо - рестарт тренировки.
>Эта хуйня ужасно работает, когда ты ужимаешь в ранги ниже 32, даже в нём уже пиздец виден может быть, оно типо заедет, только если пережарить к хуям будкой и извлечь в мелкий ранг, в котором потеряется столько информации, что сгладит прожарку. Лучше тренить сразу в низком ранге со всеми свистоперделками, да
Ну я не согласен с этими утверждениями особо, но ты не туда разговор повел. Я именно про концепцию отделения натренированной части полновесной модели в лору, она рабочая практически на любой модели, кроме условной пони где уничтожен клип. То есть мысль такая: если данные в целом в большей степени пакуются в низкий ранг из полновесной модели и восстанавливаются обратно практически полностью с тем же эффектом и незначительными потерями (очевидно потому что данные содержатся на более широком пространстве и ужимаются с сохранением части данных на всем пространстве), то обратное тоже верно - можно развертывать лору в модель не с узким ренжем по дельте магнитуды и дельте дирекшена (как делает стандартная лора: либо большая величина + большое направление, либо малая величина + малое направление), а с широким ренжем, получая эффект полноценной всенаправленной тренировки, а для этого надо большее число параметров и дора в качестве симуляции файнтюна.
> Эта rs lora в кохье и у кохака ничего практически не делает, просто скейлит не от альфы а от её квадратного корня, хз зачем вообще она существует, когда можно тоже самое самому поставить
Вопервых не от альфы, а корень нетворк дименшена, т.е. альфа делится на корень из дименшенов.
Вовторых ну ты скорее всего не тестировал рс вообще, а я тестировал:

Cупер эффективно работает с большим дименшеном и позволяет тренировать большее число параметров не влияя на используемые ресурсы особо. Итого если при стандартных вычислениях у меня могла тренироваться лора в 64 дим макс без ООМ на карту, то теперь спокойно влезает 100 дим, из которого квадрат 10, а это ебический буст качества как я уже писал. Ниже 64 смысла юзать с рс нет, а буст от большего дименшена виден невооруженным взглядом если сравнивать каждое повышение, при этом на стандарт лоре наоборот высокий дименшен руинит тренировку (я так и не понял почему).

Плюс роль альфы в параметрах супрессируется вслед за дименшеном и гораздо проще становится выбрать громкость лоры в модели через альфу нужную, хоть 1 ставь - все равно будет эффективно обучаться от квадрата, а это на секундочку 1/10, то есть 0.1 коэффициент обновления. Хоть 20 по альфе ставь если есть юзкейс полного переписывая весов экстремального (что не достигается на стандартных лорах, т.к. фактически тебе надо указывать условно 32 дим к 64 альфа, что руинит тренировку сразу, т.к. альфа это супрессирующий коэффициент, а тут получается что параметрически у тебя 100 нетворкдим, а альфа 20 - что удовлетворяет базовой лора логике, но такой хуйни в большинстве случаев не требуется).

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

В стандартных лорах с 32 по дименшену коэфф 0.1 это 32 к примерно 3, что уже медленно и неэффективно, а выставить 32 к 1 это равносильно вечной тренировке с влиянием 0.03, держим в уме что 0.03 эффективность это не натуральная величина.

Опять же повторюсь что рс позволяет выставить тот же дименшен/альфу на конв слоях, что более нативно для архитектуры (т.к. ранг это лоу ранк прикол, а полнопараметрическая модель работает с полными параметрами и просто если логически подумать то конволюшены это просто блок модулей отвечающий за текстурки и локал данные, уменьшать их относительно нет дим просто потому что их меньше во столько то раз нелогично, с какой стати вообще ранг у конволюшенов обязан быть меньше, если рангов не существует), что на стандартной лоре поломает всё, а тут эффект получается противоположным - емкость параметров выше в разы получается и эффективность конв возрастает, поэтому получается ебическая четкость, которую на стандартной лоре я не могу подобрать, т.к. без квадрата лора почему-то стабильно тренируется только исходя из соотношения того что количество основных слоев в 4 раза выше чем конв слоев. То есть минус дополнительная мозгоебка с конв слоями. Ну можно конечно выставить 2-4 раза меньше оносительно дименшена основного также с рс лорой, но эффективность конв трагически падает, растет нестабильность, четкость улетучивается, как будто емкости нехватает кароче.

Кароче данный параметр очень крутой на самом деле, убирает пару костылей, математически стабилизирует, приближая лору к поведению тренировки на полных параметрах без усиленного влияния ранга.
Аноним 01/04/25 Втр 21:24:57 1125576 10
Бля, как сила лор работает? Тренирую лоры, на весе 1.0 немного уже пидорасить начинает, на 0.9 самый норм. Ну я взял и в конце тренировки начал веса на 0.9 умножать. Теперь поломка около 1.6. Какого хуя? Альфа у меня равна рангу, т.е. веса на 1 домножаются. Откуда такая разница? Разве сила лоры не просто множитель весов?
Аноним 02/04/25 Срд 13:12:17 1126418 11
Кто то пробовал тренить dreambooth на noobai? У меня почему то первые же шаги сжигают модель, после тренировки только шум получается, до этого успешно получилось на epsilon-pred тренировать, но если те же параметры выставить + --v_parameterization --zero_terminal_snr, то не выходит, уменьшение lr или увеличение min snr gamma тоже не помогли
Аноним 02/04/25 Срд 13:20:57 1126429 12
>>1125576
Ну ты б хоть конфиг показал чтоли.

Сила лор при применении имеешь в виду? Ну там математика простая, допустим у тебя тренилась лора с альфой, которая дает 0.5 громкость лоры (альфу делить на дименшены), тогда фактическая громкость при весе применения 1 (полное) будет 0.5. Но если ты понижаешь само применение до 0.9, то это 0.9 умножить на 0.5 и итоговая громкость лоры при инференсе будет 0.45, то есть потенциальная сила уменьшена на 5%, а не на 10%, как если бы был коэффициент alpha/dim равный 1.

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

Коэфф 1 это еще не перезапись весов, но очень сильное влияние на них по формуле W' = W + ΔW, где 0.9 применения веса гасит избыточность весов лоры.

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

>Ну я взял и в конце тренировки начал веса на 0.9 умножать. Теперь поломка около 1.6. Какого хуя?
Не понял что ты сделал. Получил alpha/dim=0.9?

>Альфа у меня равна рангу, т.е. веса на 1 домножаются. Откуда такая разница? Разве сила лоры не просто множитель весов?
Сила лоры в инференсе это дополнительный ползунок громкости просто. Если у тебя на единичке плохо генерит то это переобучение => гиперпараметры соснуле (не заморачивайся, на консумерской технике с грубыми гиперпараметрами для быстрой тренировки все равно идеальных настроек и градиентов следуемых из них не получить).

По факту тренируя с коэфф 1 от alpha/dim ты сильно влияешь на исходные веса в каждый момент обучения (громкость, равная масштабу обновлений, которые ты вносишь во время тренировки; это значит, что лора вносит изменения, сопоставимые по величине с весами модели (W), и при каждом шаге обучения сильно их модифицирует, но не перезаписывает), а учитывая что твои параметры с вероятностью 99% не идеальны, то полный вес просто уничтожает натуральные связи модели (там много зависимостей от текст енкодера и величины градиентов, с которыми основная модель не понимает как корректно работать).
Аноним 02/04/25 Срд 13:22:10 1126431 13
>>1126429
>а ты тренировал с полной перезаписью
а ты тренировал с значительным вкладом в веса модели

фикс
Аноним 02/04/25 Срд 14:41:29 1126524 14
>>1126418
>У меня почему то первые же шаги сжигают модель, после тренировки только шум получается
тут 2 варианта я вижу без бОльших данных
1. если это не просто чорный экран, то лосс неправильно интерпретируется моделью при тренировке или градиенты чем-то обнуляются/разрушаются, я бы отклчил zsnr и вообще любые влияния на шум и занизил скорость в 10 раз и прогнал мелкий датасет для теста, вместо оптимайзера с шедулером я бы взял шедулерфри любой чтобы исключить подсирание шедулера вообще, взял бы loss type l1 т.к. он штрафует вообще всё отваливающееся
2. возможно ты сидишь на какойто ветке кои с багом, где впред не работает, на чем сидишь? ЩАс вроде самая актуальная ветка это sd3 на кое

>до этого успешно получилось на epsilon-pred тренировать, но если те же параметры выставить
ну впред от епс отличается, настройки от епс не подходят к настройкам впред

>увеличение min snr gamma
мин снр просто снижает влияние ранних таймстепов из которых впред умеет доставать годные данные, если не нужен низкий таймстеп тогда его проще отрезать просто, а не занижать
Аноним 02/04/25 Срд 15:03:39 1126549 15
>>1126524
Сейчас просто на main сижу, сделаю датасет на 1 концепт, отключю zero_terminal_snr, и сменю ветку на sd3, ну и ещё какой нибудь шедулерфри оптимизатор выберу, ранее не юзал таких, надеюсь сработает
Аноним 02/04/25 Срд 15:55:26 1126604 16
image.png 4323Кб, 1024x1536
1024x1536
image.png 1881Кб, 1024x1536
1024x1536
image.png 1150Кб, 1024x1536
1024x1536
image.png 4023Кб, 1024x1536
1024x1536
Насколько стейбл дифюжин хуже чем топовые модели от open ai?
Выглядит как прорыв в сравнении с тем, что есть в опенсорсе
Аноним 02/04/25 Срд 16:41:17 1126716 17
>>1126604
Прорыв чего? Всратый вае прямиком из Дали на месте. В стили умеет так себе. То что Дали в 2025 научили контролнету - это пиздец достижение, да. Всё что я вижу из жпт - дженерик нейромусор, хуже Флюкса Про. Что-то на уровне гугловского инмагена.
Аноним 02/04/25 Срд 17:04:45 1126784 18
Аноним 02/04/25 Срд 18:37:32 1126979 19
>>1126604
Главный прорыв - возможность позиционирования некоторых объектов описанием. Для текста, схем и некоторых это йоба киллерфича, для композиций и прочего - хуйта. Следующим идет простота использования, чтобы что-то получить нужно быть не совсем дауном и просто это описать.
В остальном - знания оче вялые, на выходе только одобренное корпорацией (не)добра, огромная предвзятость по многим вопросам, отсутствие инструментов нормального контроля, посредственное качество.
Если ты нормис, для которого весь интернет в телефоне, это ебать прорыв, потому что спустя 2.5 года у тебя появилась возможность прикоснуться к генеративному ии картиночек. Если уже был в теме - подметишь для чего это можно применить и проблюешься с обилия недостатков.
Аноним 02/04/25 Срд 19:05:33 1127020 20
>>1126604
>Насколько стейбл дифюжин хуже чем топовые модели от open ai?
Сравнивать некорректно, с одной стороны мощность гигакорпорации, которая душит фильтрами и требованием грошей, с другой полная свобода, требующая скиллов и пердолинга с фиксами незначительных упущений. Это как сравнивать фотошпский нейродвижок за подписку и то же самое функционально сделанное через криту в связке с комфи и любой моделью. Я думаю очевидно, что второй вариант более предпочтителен.
>Выглядит как прорыв
Выглядит как дженерик так-то. Весь цвитай забит подобным что на ветке сдхл, что на флюхе, что на понях.
Аноним 02/04/25 Срд 20:10:26 1127110 21
Оказывается проверить переобучение на стабильной неартефачащей модели можно просто базовым промтом уровня "cat photo, hypercube" или "a cat riding a bicycle in a forest", не относящимся к датасету. Даже гриды гридить нинужно, сразу видно и токенликинг и обосранные эпохи.
Аноним 02/04/25 Срд 20:31:30 1127151 22
>>1125576
>Ну я взял и в конце тренировки начал веса на 0.9 умножать.
>>1126429
>Не понял что ты сделал. Получил alpha/dim=0.9?

weight decay он сделал, только одним большим шагом.
Аноним 02/04/25 Срд 20:54:55 1127196 23
>>1127151
А, теперь понял, а то написано про умножение, а вд это тормоз-регуляризация и упрощение через увеличение штрафа.
Аноним 02/04/25 Срд 21:15:18 1127232 24
1627768698776.png 59Кб, 1242x229
1242x229
>>1126429
Да я уже сам разобрался, разница потому что при инференсе умножаются смерженные тензоры, а не отдельно lara_a и lora_b, как у меня.
>>1127151
> weight decay он сделал
Нет, я именно умножил веса перед сохранением, пикрил.
Аноним 02/04/25 Срд 21:20:16 1127242 25
>>1127232
>Нет, я именно умножил веса перед сохранением, пикрил.
Так это и есть weight decay
Аноним 02/04/25 Срд 21:29:45 1127255 26
>>1127242
Нет. Weight decay - это L2-регуляризация. Там из нового веса вычитается прошлый вес с коэффициентом.
Аноним 02/04/25 Срд 23:01:54 1127421 27
>>1127255
Ну сути дела это не меняет, даже если ты так будешь каждый шаг делать, просто съест немного от lr и все, не принципиально.
Аноним 03/04/25 Чтв 05:11:21 1127760 28
https://www.youtube.com/watch?v=A6dqIJsGwwQ
Пришла такая мысль, что из-за слопохудожников типа видрила, которые не прорисовывают детали, в наших моделях, обученных в большинстве своем на РИСУНКАХ, возникают артефакты. Модель это копирует, но не понимает где ей можно так "халтурить", а где нельзя.
Диффузионки слишком маленькие и тупые для таких обобщений.
Поэтому какие-то годные результаты получаются только когда датасет состоит из плоского маняме или тем более поней на флеш анимации, либо ирл.
Аноним 03/04/25 Чтв 10:57:06 1127882 29
>>1126418
Попробуй без минснр, дебиаседа и прочего, остальные ещё параметры хз какие. Там был серьёзный баг с энкодерами с какого то из коммитов на дев ветке кстати, с лорами прямо видно было как всего ~90модулей заместо ~230 тренилось, аффектит ли это как то файнтюн только хз
>>1126604
Тупее по энкодеру, красивее по визуальной составляющей, все модели нового поколения намного "умнее" XL, но даже в твоих примерах желтая блевотина, а у того же наи артефачная хуйня по итогу. Не то чтобы сам XL не страдал желтизной, та же пони, но тут прямо гигатреш попёр какой то, некоторые картинки литералли от 1.5 или пони не отличишь по визуалу
>>1127760
Таких много, wslop, ciloranko, quasarcake. Последний кстати, добавленный в негатив на базовой 0.1 люстре ахуеть как бустил картинку, лол
Аноним 03/04/25 Чтв 11:35:24 1127910 30
>>1124505
> Я про то что для энтузиастов скрипты принес коя, а один из ранних туторов кои прям содержит фразы уровня "не рекомендую тренировать клип".
Ну типо того, но ведь ноги растут не оттуда всё равно, кохья и остальные тогда ориентировались именно на основных типов, кто уже сделал чекпоинты. Кстати из единственной открытой инфы про хл, что я знаю, не рекомендовал тренить энкодер только создатель люстры в своём рекламном пейпере, но с ремаркой, что только с мелким датасетом, с большим якобы ок. Новелы тактично умолчали про часть с энкодером, написав ровным счётом нихуя
> если данные в целом в большей степени пакуются в низкий ранг из полновесной модели и восстанавливаются обратно практически полностью с тем же эффектом и незначительными потерями
Сомневаюсь, что полноценный файнтюн типо нуба можно будет так извлечь, запихнув в дору, потом развернуть назад, не потеряв мелкие детали или редкие концепты, а вообще в дору разве есть ли экстракт?
> Вовторых ну ты скорее всего не тестировал рс вообще, а я тестировал:
Ну как
> Ниже 64 смысла юзать с рс нет
Просто делать такие лоры на хл стало дурным тоном в один момент из за мемных размеров на выхлопе, при равной/лучшей производительности в меньших рангах, и я стал делать всё сразу в лоурангах, не больше 32, в основном вообще 16, так что впринципе можно сказать что не тестил, но интересно почему оно зааффектило врам как минимум
> при этом на стандарт лоре наоборот высокий дименшен руинит тренировку
Да всё просто, лр с повышением числа параметров надо снижать, и наоборот, по крайней мере по одному из старых убеждений, начавшемуся тоже вместе с эпохой лор в репе кохьи, когда дефолт 1е-6/5 у файнтюна превратился в 1е-4/3 с 128 рангом у 1.5 лор, можешь попробовать если не лень
> Кароче данный параметр очень крутой на самом деле, убирает пару костылей, математически стабилизирует, приближая лору к поведению тренировки на полных параметрах без усиленного влияния ранга.
А какая именно реализация, кохака или кохьи? И что в итоге на выходе, опять гигабайтный файл от 100 ранга получается?
Аноним 04/04/25 Птн 11:00:17 1130065 31
Может ли кто скинуть настройки для обучения Lora SDXL через OneTrainer на 12VRAM?
Аноним 04/04/25 Птн 21:39:01 1131150 32
Я наверное задам глупый вопрос, но для чего нужны регуляризационные изображения? Для лоры я так понял их лучше не использовать, а для dreambooth? Где то видел что их нужно генерировать с помощью модели на которой будет тренировка, по какому принципу нужно их генерировать?
>>1126549
Попробовал разные оптимизаторы, получилось на адам шедулер фри натренировать, и на DAdaptation, во 2 варианте больше понравилось, но вероятно не оптимальные параметры для адама подобрал, попробовал полный датасет с 3 рисоваками, узнаются но в целом если на 1 тренировать то получается лучше, есть ли способ как то улучшить результат? Может больше эпох выставить? Или дальше сгорит? Добавил конфиг с параметрами https://litter.catbox.moe/4n6lqb.txt, изображений 359+821+2361 без учета повторений
Аноним 05/04/25 Суб 09:26:48 1131664 33
>>1131150
> попробовал полный датасет с 3 рисоваками
Без проблем тренятся хоть 10 стилей, если ты нормально отделил капшенами их.
> изображений 359+821+2361 без учета повторений
Слишком мнего и слишком мелкий батчсайз чтобы все эти зумерские schedule-free нормально работали, он тебе lr слишком низкий будет ставить. И если тренишь с батчсазом 1, то шагов надо 20к хотя бы на таком датасете. 2-3 эпохи только с нормальным батчсайзом будут работать. И я надеюсь ранг лоры у тебя выше 32. Так же ты наверное треншь только аттеншен, попробуй конволюшены и ff тоже тренить, если хочешь результат сильнее, для стабилизации тренировки можно первые слои не тренить.
Аноним 05/04/25 Суб 22:19:21 1132864 34
>>1131150
>но для чего нужны регуляризационные изображения?
>Для лоры я так понял их лучше не использовать, а для dreambooth?
Для сопоставления предсказания с ними, типа гайденс для сети дополнительный. Дают плюсик при тренировке фул чекпоинта, для лоры смысла нет так как лора уже опирается на данные из основного чекпоинта.
>Где то видел что их нужно генерировать с помощью модели на которой будет тренировка, по какому принципу нужно их генерировать?
Вообще не обязательно, у рег картинок нет описания, они просто клипвижном рассматриваются и сопоставляются, то есть можно взять готовые регуляризационные архивы и забить хуй. Но можно и нагенерить, обычно просто общими классами типа woman.
>Может больше эпох выставить?
Количество эпох не влияет так что больше=лучше, хоть миллион можешь выставить, но с нормальными настройками свитспот можно хоть к пятой эпохе получить, а все остальное это выдрочка и усложнение модели вплоть до перетренировки.
>есть ли способ как то улучшить результат?
Да их тонны.
Из очевидных это обрезка шумных таймстепов ниже 100-300, то есть ты инишл нойз оставляешь от модели основной, а работаешь только с читаемыми данными выше 300 таймстепа с 70% зашумленностью и ниже. Сюда же debiased_estimation_loss который еще сильнее будет форсить расшумленные таймстепы при обновлении весов. Можешь поиграться с типом ошибки, мне нравится как работает l1, l2 слишком сенсетивный. Можно форсить все дропауты (для кепшенов и самих модулей сети), практически это дает лучшее обобщение, а не заучивание паттернов к токенам. Можно выставить нестандартные беты для оптимайзера типа 0.99 по бете1 и 0.01 по бете2, таким образом у тебя будет максимальная память о прошлых градиентах, но максимальная реакция обновления => быстрое схождение. С лорами мокрописек больше, но ты как я понял дрибутишь целую модель.

>>1131664
>Слишком мнего и слишком мелкий батчсайз
Я бы скозал что наоборот слишком мало, комплексные задачи требуют больших датасетов даже для лорок, что при малом количестве данных бустится репитишнами и письками для увеличения разнообразия. А батчсайз дело десятое, два конечно лучше чем один будет, но только из-за того что будет большая стабильность градиентов и меньшее время для эпохи, в основном бетами можно скорректировать как учитывать данные с датасета.
>чтобы все эти зумерские schedule-free нормально работали, он тебе lr слишком низкий будет ставить.
Так шедфри усредняет и интерполирует значения и таким образом достигается стабилизация и быстрая сходимость, сам лр не трогается и всегда одинаковых как задал, если не адаптивный оптим. Поэтому в шедфри можно сувать огромные лры и оно даже не ломается. Адаптацией лра в минимум (не встречал такого в своих прогонах кстати) будут заниматься ток шедфри оптимы которые и так адаптивные ну продижи и дадапт там, если им флур не задать нормально.
>Так же ты наверное треншь только аттеншен, попробуй конволюшены и ff тоже тренить, если хочешь результат сильнее, для стабилизации тренировки можно первые слои не тренить.
Он же фул модель тренит
Аноним 05/04/25 Суб 22:47:40 1132934 35
>>1132864
> комплексные задачи
Стиль рисоваки - это не комплексная задача. Это простейшая задача для датасета из 10 пиков, 50 если надо прям совсем точно скопировать.
> фул модель тренит
Даже если будку тренишь, не для всех параметров градиенты считаются по умолчанию. У кохи точно не все.
Аноним 05/04/25 Суб 23:09:25 1132985 36
>>1127910
>Сомневаюсь, что полноценный файнтюн типо нуба можно будет так извлечь, запихнув в дору, потом развернуть назад, не потеряв мелкие детали или редкие концепты,
Ну у нуба выдроченный клип с "редкими концептами" и связанные с ними данные, примерно как у пони. Вся загвоздка в несоответствии оригинального клипа сдхл с клипом нуба. Есть сложности, но в целом решаемо. На моделях основной ветки сдхл с большими датасетами все извлекается и возвращается обратно с генами уровня погрешности сида, это я точно пробовал еще в прошлом году, т.к. экстракт из моделек отлично свдшился с моими лорами.
>а вообще в дору разве есть ли экстракт?
Дора это про декомпоз который учитывает нестандартное поведение дельт, ты можешь сам порезать экстракт из модели на наиболее важные части/слои, потом снизить ранг полученной комбинации и получить дора эффект. Можно еще на моменте снижения ранга применить свд с основным экстрактом чтобы еще более точно симулировать.
>Ну как
Ну, желания возвращаться на стандартные лора настроечки нет желания.
>но интересно почему оно зааффектило врам как минимум
Потому что более оптимизированные вычисления и нормализация. Более компактное представление, меньше избыточность матриц оригинальной лоры где ранк умножается на A и B "прямо", избегает дополнительные вычисления нестабильных градиентов и накопление ошибок.
>лр с повышением числа параметров надо снижать, и наоборот
Это понятно, но дело в том что даже с низким лр большой дименшен на обычной лоре всирает тренировку. На глоре допустим это пофикшено и там наоборот чем выше дименшен тем более круто, но жрет врама она также дохера без рс. Я так понимаю это проблема масштабирования оригинального алго.
>А какая именно реализация, кохака или кохьи?
Кохака
>И что в итоге на выходе, опять гигабайтный файл от 100 ранга получается?
762 мб в ранге 100. Но еще зависит от лагоритма, в локре факторизацией можно снизить не особо потеряв в обобщаемой способности.
Аноним 06/04/25 Вск 00:26:26 1133125 37
xyzgrid-0010-15[...].png 43615Кб, 13860x6627
13860x6627
154125-19748890[...].png 928Кб, 1024x640
1024x640
169639-20753295[...].png 1233Кб, 1216x832
1216x832
пример лоры.png 1339Кб, 832x1280
832x1280
>>1131664
тренировал dreambooth, не лору, все в промтах отделил, оказывается тот конфиг что скинул был для маленького датасета, на котором тестировал, вот корректный https://litter.catbox.moe/g78ztf.json, на полном добавил --gradient_checkpointing и батч сайз 8, на 3 эпохи вышло ~2500 шагов, тренировал и unet и текстовую модель, правда текстовую часть 0.5 lr поставил
Пробовал 2 раза, 1 раз получилось нормально, но концепты почти не изучились, только стиль, 2 раз- добавил повторений на концепты, где то *7~15, некоторые концепты все ещё не изучились, но некоторые стали намного лучше
>>1131664
Пробовал с шедулер фри на полном датасете с батчем 12, но там лосс вырос до 0.4, и сильно не снижался, как я понял там на первых шагах все сожгло, хотя я довольно низкий lr поставил, где то 0.000001, сейчас не найду наверное конфиг с тренировкой
На DAdaptation loss доходит до 0.1 и до конца тренировки где то на нем и держался
По стилю ещё далеко до чекпоинтов натренированных на датасете который состоит только из изображений для 1 рисоваки, вот даже на sd1.5 больше похоже выходит если чистый датасет юзать или через лору, но хотелось бы были все и что бы было лучше, и в 1 месте, очень вероятно что проблема в скил ишью и проблемы балансировки датасета, ну или вероятно это просто невозможно сделать из за обобщения и будет работать только в моделях побольше
>>1132864
>обрезка шумных таймстепов ниже 100-300
Лучше пропускать начальные шаги? Это не скажется на концептах? Просто они и так далеко не идеальны, а ранние шаги как я понимаю нужны как раз для того что бы сформировать позу, или другие штуки которые составляют основу для будущей картинки
>debiased_estimation_loss
debiased_estimation_loss я так и не понял что это, и не стал включать
>мне нравится как работает l1, l2 слишком сенсетивный
loss l1 попробую вместо l2 в следующий раз,
>Можно выставить нестандартные беты для оптимайзера типа 0.99 по бете1 и 0.01 по бете2
ставил betas=0.9,0.99
Аноним 06/04/25 Вск 00:44:24 1133167 38
>>1133125
Выкинь будку и трень нормально лору. Либо трень саму модель, будка это кал.
> концепты почти не изучились
Больше шагов делай или бери нормальный оптимизатор в высоким lr.
> только стиль
Да и стили как-то слабо натренились у тебя. ogipote вообще не похож.
Аноним 06/04/25 Вск 01:03:18 1133241 39
>>1133125
> хотелось бы были все и что бы было лучше, и в 1 месте
Так ты и делай как делал одну лору, только всё кучей. Разбиваешь датасет на категории по стилю/концепту, промптишь триггер-вордом каждую категорию и всё в кучу в одну лору. Работает безотказно. И у тебя может насрано в капшенах и надо их пердолить, а не дрочить параметры.
Аноним 06/04/25 Вск 01:07:28 1133253 40
>>1133167
Тренить саму модель, в смысле finetune использовать, я почти инфы не нашел на счет этого способа тренировки в отличии от dreambooth, и параметры тренировки у них вроде как одинаковые. Лоры я пробовал тренировать, правда для пони давно, гараздо лучше работают и для стиля и для концепта, оно и понятно на ней можно что то определенное натренировать не думаю о балансировке и используя изображения только для того что тренируешь, но как ранее написал хочется несколько вещей сразу иметь в 1 месте, и возможно даже лучше, но пока результат выходит печальный
Аноним 06/04/25 Вск 01:33:07 1133330 41
image.png 122Кб, 685x629
685x629
>>1133125
>Лучше пропускать начальные шаги?
Статистически в них данных мало, а подосрать в тренировку они могут.
>Это не скажется на концептах?
Нет
>а ранние шаги как я понимаю нужны как раз для того что бы сформировать позу, или другие штуки которые составляют основу для будущей картинки
Не, не так работает. На полном шуме полезных данных нет, это буквально ничто, на шуме от 50 до 100 там ну максимум общие формы можно разглядеть и то если получены данные о высоком контрасте с градиента. Тренировка с учетом низких таймстепов это скорее дампер от переобучения, сеть рандомно равномерно распределенно не понимает что происходит и корректирует вычисления чтобы доджить подобное в будущем, то есть будет пытаться не вносить никаких значимых изменений на раннем шуме. Ради интереса попробуй обратный эффект - ограничь обучение на шагах от 0 до 100, сеть ничему не обучится, но стабильно будет неуправляемо видеть всякое в них все лучше и лучше. Это как если бы ты учил модель исключительно на "белом шуме" — она просто не поймет, что делать, но будет выдавать тебе рандомный говняк.
>debiased_estimation_loss я так и не понял что это, и не стал включать
Это мощный усилитель таймстепов на которых содержатся полезные данные и понижение таймстепов где шум. Пикрел красный графек.
>ставил betas=0.9,0.99
Ну это базовое значение для гигадатасетов корпораций с тысячными батчами и миллиардными датасетами, достаточное стабильная (но не прям супер стабильная, просто плавное затухание) память о прошлых градиентов (первое число) и низкая реакция инерции адаптации (второе число).
Аноним 06/04/25 Вск 01:53:31 1133378 42
1674225683278.png 55Кб, 1828x231
1828x231
>>1133330
> На полном шуме полезных данных нет
Полного шума не существует при тренировке, т.к. шум плюсуется к оригинальной пикче и он всё равно виден. Для полного уничтожение низкочастотных данных придумали noise offset - рандомить шум дополнительно по оси каналов.
> Тренировка с учетом низких таймстепов это скорее дампер от переобучения
Как минимум для стабильности очень помогает прогрев весов на низких шагах. Я пикрил делаю, постепенно увеличивая верхний порог по ходу тренировки. Убирает все внезапные поломки, отклонение генераций плавное идёт, можно lr поднимать до упора.
Аноним 06/04/25 Вск 02:15:02 1133443 43
>>1133378
>Полного шума не существует при тренировке, т.к. шум плюсуется к оригинальной пикче и он всё равно виден.
Модель обучается не на картинке с шумом, а на полученном градиенте с нее. Если конкретно не задано, то в 10% от всех шагов у тебя будет получен градиент с 90-100% зашумленной картинки, что нулевая и околонулевая эффективность.
>придумали noise offset - рандомить шум дополнительно по оси каналов.
Офсет просто скалярное значение, добавляемое ко всему шуму, а не рандомизация по каналам, используется для изменения начального шума, чтобы повлиять на генерацию, добавить разнообразия или улучшить детали (что спорно). Это не инструмент для уничтожения низкочастотных данных. Уничтожение низкочастотных данных вообще происходит естественным образом в процессе добавления шума на высоких таймстепах, и для этого не нужен дополнительный параметр. Если бы целью было полное уничтожение низкочастотных данных, то это уже достигается стандартным процессом диффузии, где шум добавляется постепенно, разрушая сначала мелкие детали (высокие частоты), а затем и крупные структуры (низкие частоты) на поздних стадиях. Этот параметр вообще появился как опция из вебуя, а коя адаптировал его для своих скриптов. Его задача практическая: улучшить генерацию, а не решать теоретическую проблему частотного спектра кароче.

>Как минимум для стабильности очень помогает прогрев весов на низких шагах.
Троллейбус из хлеба как будто.
Аноним 06/04/25 Вск 02:28:40 1133476 44
>>1133443
> Офсет просто скалярное значение
Нет, это именно рандомизация каналов, генерится шум (1, 4, 1, 1), а не скаляр. Делает то что и должно делать - убирает остатки низкочастотных данных с оригинальной пикчи. Читай:
https://www.crosslabs.org//blog/diffusion-with-offset-noise
> коя
Я не пользуюсь говнокодом кохи, реализацию оффсета брал его как автор написал.
> Троллейбус из хлеба как будто.
Работает лучше чем все эти пердольные попытки проскейлить loss, вместо того чтобы градиенты изначально ровнее получать.
Аноним 06/04/25 Вск 02:38:08 1133490 45
>>1133476
Ну раз так иди пулреквестни в скрипты, полезное дело
Аноним 06/04/25 Вск 10:47:51 1133663 46
>>1133125
> lr поставил, где то 0.000001
Это очень мало для schedule free. Но мне он очень не понравился, на 1е-3 модель ломается, если ставлю 3е-4 как на Адаме - схождение ультрамедленное. Твои 1е-6 вообще удивительно что хоть что-то натренить могут.
Аноним 06/04/25 Вск 11:29:49 1133721 47
>>1133663
>Это очень мало для schedule free.
Я от 0.00025-0.0005 гонял, все прекрасно. Можно выше, но изменения слишком резкие, дефолт скорость у лицокнижных вообще 0.0025.
>Но мне он очень не понравился, на 1е-3 модель ломается, если ставлю 3е-4 как на Адаме - схождение ультрамедленное.
Так что вероятно другие гиперпараметры настроены всрато у тебя.
Аноним 06/04/25 Вск 11:42:08 1133738 48
>>1133721
Алсо если не лицокнижный продижи брать https://github.com/LoganBooker/prodigy-plus-schedule-free то там тоже все прекрасно, я на нем преимущественно сижу т.к. результаты достигаются еще быстрее чем на обычных шедфри оптимах притом что скорость обсчета шага дольше, d0 тоже указан как 0.00025
Аноним 06/04/25 Вск 13:25:25 1133857 49
>>1133721
> другие гиперпараметры
А причём они, если я меняю только оптимизатор, который и даёт снижение скорости обучения. Понятное дело можно напердолить до уровня Адама и получить кучу проблем, например лоры пожирнее сделать, но зачем. На Адаме я могу за 1000 шагов натренить, а с schedule free надо повышать до 2-3к. А сгладить градиенты всегда можно с EMA как деды делали 5 лет назад.
>>1133738
> продижи
Да, он получше. Но всё нивелируется тем что он сам по себе очень медленный, примерно в х1.6 шаг дольше делает. Это вообще никуда не годится.
> результаты
Возможно ещё у нас разные понимания результатов. Для меня результат - это возможность генерить копии пиков из датасета чисто по промпту. А дальше уже весом регулировать всё это. Я в основном реалистиком упарываюсь, там без этого никуда.
Аноним 06/04/25 Вск 14:26:40 1133954 50
>>1133857
>А причём они,
Потому что я понятия не имею что ты используешь и в какой конфигурации. В моей конфигурации и шедфри обычные и продиги обучают моментально относительно друг друга, я по привычке выставляю тренировку на ночь на 100 эпох, но с утра проверка раз за разом показывает что юзабельный результ достигается чуть ли не начиная со второй по пятую эпохи, а дальше уже накрутка излишняя, требующая снижения влияния TE в модели ибо повторяет датасет больше, чем обобщает, ну у меня и агрессивные настройки такто так что это нормально.
>На Адаме я могу за 1000 шагов натренить, а с schedule free надо повышать до 2-3к.
Ты пишешь как будто вычисления не зависят от твоих настроек а только от факта используемого оптима, что не так в реальности. То что у тебя схождение (если ты это подразумеваешь под натренить) требует 3к шагов это явно проеб по остальным параметрам. К тому же ты сам пишешь "на 1е-3 модель ломается, если ставлю 3е-4 как на Адаме - схождение ультрамедленное", что не нормальное состояние шедфри.
> Но всё нивелируется тем что он сам по себе очень медленный, примерно в х1.6 шаг дольше делает. Это вообще никуда не годится.
Да какая разница какая скорость просчета, если он эффективно достигает схождения. Вот у меня датасет 100 картинок и батч 2, юзабельная модель с продижи со второй эпохи начинается буквально, а это 20 минут тренировки вместе с ТЕ. Для сравнения адам со скоростью в 1.6 раз ниже достигает примерного эффекта двух эпох продиж к 4-5 эпохе, что около 30 минут. Теплое с мягким кароче сравниваешь, не на то внимание акцентируешь.
>Для меня результат - это возможность генерить копии пиков из датасета чисто по промпту. А дальше уже весом регулировать всё это. Я в основном реалистиком упарываюсь, там без этого никуда.
Так у меня тоже реалистики, в основном докрутка концептов исходной модели, субъекты и стилевой пиздинг, но я упарываюсь по обобщению, чтобы моделька не просто говно с датасета генерила и не требовала влиять на вес лоры при генерации. Но твои приколы тоже легко достигаются скоростью одинаковой на те и юнете и увеличенной громкостью через альфу.
Аноним 06/04/25 Вск 15:20:18 1134027 51
1587575213486.png 1559Кб, 1987x917
1987x917
>>1133954
В одинаковых условиях schedule free тренит медленнее, чем Адам, на остальное мне похуй. Он собственно это и должен делать, потому что демпингует автоматически тренировку на основе градиентов.
> вычисления не зависят от твоих настроек а только от факта используемого оптима
Градиенты не зависят, зато то насколько сильно веса обновятся на основе этих градиентов зависит только от оптимизатора и ничего другого. Об этом и речь, а не об результатах в вакууме. Я ведь для теста беру 10 пиков и смотрю визуально по типу пикрила насколько быстро к датасету оно приедет и куда скачет при тренировке. Перетренить 2000 шагов - это 15 минут, я на каждое изменение обычно делаю тесты на дженерик дасатетах.
Высматривание каких-то обобщений - это субъективщина, не имеющая никакого отношения к оптимизатору, оптимизатор тебе ничего не обобщает, он просто вычисляет момент/вес с которым градиенты применить к весам. Исключение - только регуляризации типа weight decay или встроенного EMA.
> датасет 100 картинок и батч 2, юзабельная модель с продижи со второй эпохи
Звучит как будто у тебя за 100 шагов тренится всё. На продиджи warmup только шагов 300.
Аноним 06/04/25 Вск 15:31:36 1134043 52
>>1133663
Я прекратил тренировку как только увидел loss, маловероятно что там вообще что то осталось
>>1133738
В чем прикол шедулер фри продиджи? В нем же наоборот автоматически регулируется lr, и нужно просто constant шедулер ставить, хотел его попробовать но не разобрался как отделить lr текстовой части от unet
Аноним 06/04/25 Вск 22:14:19 1134573 53
>>1134043
> Я прекратил тренировку как только увидел loss
Мимо, но нет смысла никакого смотреть на лосс, если он не летит стабильно вверх всё время тренировки. Сток впред/флоу предикшены впринципе тебе страшные значения покажут в виде 0.25 на плоских датасетах смещённых в 2д с вайт беками и до 0.4 на детейлед хуйне, если всякие вмешательства в таймстепы начнёшь сувать, то минснр покажет с впредом такой же как на эпислоне, дебиасед уже не помню, но он такое себе конечно решение, если прямо надо пиздец как доебаться до таймстепов лучше юзать edm2, лосс с ним кстати всегда стабильно летит вниз
> В нем же наоборот автоматически регулируется lr, и нужно просто constant шедулер ставить
Если ты имеешь ввиду в целом про продиджи, то он на самом деле только повышать его умеет, никогда не снижая, чем поджигает лоры и пердаки тех, кто не заглядывал в тензорборд, поэтому его в основном юзают в косином всё равно, шедулер фри убирает косин
> отел его попробовать но не разобрался как отделить lr текстовой части от unet
https://github.com/LoganBooker/prodigy-plus-schedule-free?tab=readme-ov-file#training-multiple-networks вот это по идее split_groups_mean=False split_groups=True а лры как обычно в этой версии должны указываться через кохьевские арги
Аноним 06/04/25 Вск 22:16:52 1134583 54
>>1134043
>>1134573
> лры как обычно
Ну и естественно у продиджи они будут 1.0 на юнет и 0.33 на энкодер или типо того
Аноним 06/04/25 Вск 22:25:05 1134606 55
image.png 82Кб, 1561x504
1561x504
>>1134027
>В одинаковых условиях schedule free тренит медленнее, чем Адам
Шедфри логика неприменима обратно к классическому адаму, как логика классик адама неприменима к шедфри. Если тренить на шедфри как положено - он быстрее.
>на остальное мне похуй
По-моему ты просто не разобрался, ну имхо.
>зато то насколько сильно веса обновятся на основе этих градиентов зависит только от оптимизатора и ничего другого
В вакууме да, но еще есть величина мазка в виде лра и коэффициент масштабирования, тонна мокрописек и само качество датасета. Нельзя просто взять оптимайзер новый, заменить им другой в готовой структуре и потом бугуртить что чет хуева работает говно кал, надо понять работу и подстроить конфигурацию под оптим.
>Я ведь для теста беру 10 пиков и смотрю визуально по типу пикрила насколько быстро к датасету оно приедет и куда скачет при тренировке.
Ты ведь в курсе что визуализация бекпропагейшена (на твоем пике) не показывает явное обучение/обобщение и отследить по генам эталон нереально, а оптимайзер может кругами ходить просто вводя в заблуждение на генах где ты как хуман можешь разглядеть "прогресс" которого на самом деле нет? Ты к датасету можешь за одну эпоху прийти вообще, ток у тебя обобщение наебнется просто.
>Высматривание каких-то обобщений - это субъективщина
Обобщение это просто отсутствие потери знаний о том, что не касается натренированной части. Ты можешь сделать быстро топ модель которая будет пердеть по кд датасетом даже без токенов, но базовый токен уровня pink background просто перестанет работать, это не субъективщина.
>оптимизатор тебе ничего не обобщает
А я этого не утверждал, я про сохранение функции обобщения самой нейросетью. Какой прок от того что я обучаю сеть генерировать датасет, если у нее будет низкая диффузионная лабильность? Не, юзкейс твой имеет место быть - генерировать датасет хуйню по токену - но как бы базово нейросети нужно уметь оставлять умения, а не просто ее отуплять заучиванием, а то прикинь стабилити бы обучило базу на конкретный класс и потом ебись как хочешь, это не базовая модель была бы а какаято хуйня.
>Звучит как будто у тебя за 100 шагов тренится всё. На продиджи warmup только шагов 300.
Вармап в шедфри продижи упразднен давно (с того момента как бесконечное увеличение лра во времени пофиксили), а самой шедфри логике он не требуется т.к. нормализация и аверейджинг сразу все делают как надо и не надрываются от первичных градиентов.

>>1134043
>Я прекратил тренировку как только увидел loss
Ну такто зря, я в прошлом треде писал псто >>1110934 → и как пример тебе мои два лосс графика, которые с виду проебанный лосс, а в реальности там просто хорошие стабильные модели
>В чем прикол шедулер фри продиджи?
В шедулефри логике. Вместо расписания через какойнибудь косинус/константу/линейный графек они используют комбинацию из интерполяции между текущими весами и "ведущей" точкой, где вычисляется градиент + усреднения итераций, чтобы стабилизировать процесс и улучшить сходимость. Это позволяет оптимизатору автоматически адаптироваться к обучению без необходимости указывать, когда и как уменьшать скорость обучения.

>В нем же наоборот автоматически регулируется lr
В ориг продижи лр то регулирется автоматом, а расписание все равно требуется.

>и нужно просто constant шедулер ставить,
Ну да, это его стандартное состояние, но зависит от типа данных, константа не везде прокатывает, шедфри покрывает в принципе любую задачу на которой лицокнига тестила - от линейной регрессии до трансформеров, убирает в общем боль выбора расписания. Но шедфри будет еще лучше, т.к. усиливает фичу адаптивности продигов (ну то есть шедфри сам по себе сорт оф адаптивная технология, адаптивность добавляешь к адаптивности) и ускоряет сходимость через логику шедфри. Синергия кароче получается. Плюс он меньше жрет ресурсов, что тоже немаловажно.
>хотел его попробовать но не разобрался как отделить lr текстовой части от unet
А ты и не сможешь отделить в оригинальном продижи юнет от ТЕ, там эту фичу еще не ввели и не факт что введут. Зато эта фича имеется в шедфри.
Аноним 06/04/25 Вск 22:34:13 1134634 56
>>1134583
>Ну и естественно у продиджи они будут 1.0 на юнет и 0.33 на энкодер или типо того
Небольшая ремарка: эти соотношения если ты беты базовые не трогаешь (которые по дефолту (0.9, 0.99) как везде), а если реакцию беты2 в 0.01 укатать допустим, то можно и юнет и те на одинаковых скоростях (или если включено гармоническое среднее) тренить, оно перестает ужаривать т.к. реакция моментальная на изменения.
Аноним 06/04/25 Вск 22:44:16 1134666 57
Аноны, есть ли какой-то способ понять каких персонажей поддерживает чекпоинт, кроме метода тыка? Может есть какие-нибудь расширения, чтобы посмотреть теги заложенные в него?
Аноним 06/04/25 Вск 22:46:05 1134676 58
>>1134666
>Может есть какие-нибудь расширения, чтобы посмотреть теги заложенные в него?
Если в метадату не запихали инфу, то никак из латент спейса не вытащить никаких растокенизированных нечисловых данных.
Аноним 06/04/25 Вск 22:50:44 1134696 59
>>1134606
> как положено
Как положено - это всё в дефолтных значениях, кроме lr.
> базовый токен уровня pink background просто перестанет работать
Так для этого визуальная валидация и нужна, чтоб не по маняграфикам смотреть, а видеть что в реальности происходит с тегами. Непонятно откуда ты взял что умение генерить по промпту пики из датасета как-то ломает остальное.
Аноним 06/04/25 Вск 22:59:56 1134723 60
>>1134573
ты про этот edm2 пишешь? https://github.com/NVlabs/edm2 тоже какая то оптимизация рассчитанная по timesteps, вместо debiased_estimation_loss?
>>1134634
Если заведу продиджи шедулер фри попробую беты 0.9, 0.01 с l1 loss, если не получится попробую дальше с DAdaptation, пока без разделения lr для энкодера и unet
>>1133167
Я так и не понял, лучше юзать лору которая full-finetune ? Или ты имел ввиду finetune который fine_tune.py? С капшенами всё норм, я все ручками проверил
Аноним 06/04/25 Вск 23:02:06 1134731 61
image.png 2138Кб, 768x1024
768x1024
image.png 1818Кб, 768x1024
768x1024
>>1134696
>Как положено - это всё в дефолтных значениях, кроме lr.
Это если ты сэм альтман и у тебя скачан весь интернет в качестве датасета и батчи размером с юпитер. Дефолт значения не эталон.
>Непонятно откуда ты взял что умение генерить по промпту пики из датасета как-то ломает остальное.
Это проверяется за минуту: берешь какие-либо базовые токены не относящиеся к датасету лоры и гонишь их с применением лоры. Рано или поздно наступает момент эпохи когда модель теряет обобщающие знания, смешивает несмешиваемое и генерирует в конечном итоге датасет вместо этих базовых знаний.
Самый простой пример: a cat riding a bicycle in a forest, сеть обучалась на уточненный концепт.
Слева какая-то эпоха до 10, справа 11, сеть разучилась делать котов, и данный эффект не ревертится, дальше будет пропадать лес, велосипед, будут рисоваться франкенштейны уровня фурри баб (т.к. тренировка на людей) где кошачьи лапы вместо конечностей и ебало кошки, и в итоге придет к тому что будет генерировать по любому запросу не относящемуся к датасету все лукс лайк датасет.
Аноним 06/04/25 Вск 23:08:22 1134743 62
>>1134696
>Непонятно откуда ты взял что умение генерить по промпту пики из датасета как-то ломает остальное.
А да, небольшое уточнение, это >>1134731 не касается того когда ты на триггер ворд/класс тренишь на заучивание паттернов, я именно про нормальное описание датасета с полномасштабным обучением ТЕ для форс обобщения. С триггером описанное тоже случается но кратно реже.
Аноним 06/04/25 Вск 23:17:12 1134762 63
>>1134731
>Самый простой пример: a cat riding a bicycle in a forest
А вообще я про pink background не просто так сначала сказал, указание любого конкретного фона раньше всего ломается обычно, т.к. это знание не высокого порядка в луковичном юнете. Outdoor туда же.
Аноним 06/04/25 Вск 23:52:41 1134819 64
>>1134731
Это у тебя как раз что-то сломано. Я всегда делаю валидацию на тегах, которых нет в датасете. Поломки фонов - это вообще что-то на грани фантастики.
Аноним 07/04/25 Пнд 00:05:04 1134840 65
>>1134819
Ну вероятно ты любитель снижать те в ноль и тольковыигрывать от этого.
Аноним 07/04/25 Пнд 00:12:05 1134851 66
>>1134840
А зачем добровольно ломать теги в ТЕ? Ты любишь унижения? На ванильном ТЕ даже на рандомные символы без проблем концепты тренятся. И я треню ТЕ, но максимально осторожно с демпингом, чтоб как у тебя теги не пропадали. А сломать что-то в унете - это надо знатно проебаться с кривым датасетом чтоб даже специально сделать так.
Аноним 07/04/25 Пнд 00:24:19 1134872 67
>>1134851
>А зачем добровольно ломать теги в ТЕ? Ты любишь унижения?
Я вот думаю стоит ли развернуто отвечать на данный вопрос пчеловеку, который использует нейрокал как генератор референсов или не стоит
>И я треню ТЕ, но максимально осторожно с демпингом
Да я уже понял, что ты пытаешься выдрочить юнет преимущественно, еще альфу поди занижаешь экстремально чтобы веса АСТАРОЖНА обновлялись и поэтому выше по нити тысячами шагов слоу бейкингом занимаешься.
>чтоб как у тебя теги не пропадали.
Ну мы ж за тренировку трем, сломанное обобщение это маркер что надо потюнить настроечки и всё придет в норму.
Аноним 07/04/25 Пнд 00:37:15 1134888 68
>>1134872
Чел, ты ведь понимаешь что можно тренировать только ТЕ и оно даже будет выдаватькакой-то результат. Но ТЕ нужен для энкодинга текста, а для генерации UNET используется. Ты задвигаешь очень странные вещи, предлагая делать даже то что Стабилити не делали, литералли никто не тренит ТЕ для изменения генераций. Во всех SD ванильный клип, во всех DiT ванильный T5. Единственный смысл тюнить ТЕ - это когда капшены слишком отличаются от ванилы и надо под свой формат подогнать энкодер, например как в аниме приходилось под стиль бур тюнить его.
А потом ты рассказываешь как у тебя что-то ломается там где оно просто не может сломаться, лол.
> альфу поди занижаешь экстремально
Всегда треню с альфой как ранг.
Аноним 07/04/25 Пнд 01:19:42 1134969 69
>>1134888
>Но ТЕ нужен для энкодинга текста, а для генерации UNET используется.
Да ежу понятно, но паттерны связываются с токенами. Мне важно тренировать более менее нативно, а не с допущениями тип и так сойдет если че сидом вырулим или там вес покрутим туда сюда, полагаясь не дофолт.
>Ты задвигаешь очень странные вещи, предлагая делать даже то что Стабилити не делали
Ну если так рассуждать то тебе дорога в train unet only, сразу хуй 30 см вырастет и лидером митол группы станешь.
>литералли никто не тренит ТЕ для изменения генераций.
Там это, пони, нуб, люстра, бигасп и сотни лор к ним (а иногда еще и фрагментарный файнтюнинг) с отпердоленным по самые гланды те.
>Во всех SD ванильный клип, во всех DiT ванильный T5.
Потому что это базовые модели преимущественно, унификация. Это не значит что ты обязан не тюнить те под свои особые задачи.
>Единственный смысл тюнить ТЕ - это когда капшены слишком отличаются от ванилы и надо под свой формат подогнать энкодер, например как в аниме приходилось под стиль бур тюнить его.
Забей, далеко не единственное.
>А потом ты рассказываешь как у тебя что-то ломается там где оно просто не может сломаться, лол.
Легко говорить про "просто не может сломаться", когда сам тренишь дефолт для референсов.
>Всегда треню с альфой как ранг.
Ну вот, а есть те кто тренит x8 по альфе без ТЕ типа этого пчелика https://civitai.com/models/688932?modelVersionId=771052 , и что сделаешь? Наверно возмутишься ведь нужно по гайдлайну ивана залупина из 2022 не выше 1:1 настроечки, м? Незачем быть таким ультимативным и фанатичным, если что-то работает и выполняет задачи не так как ты привык.
Аноним 07/04/25 Пнд 01:55:41 1135049 70
>>1134723
> ты про этот edm2 пишешь?
Да, конфиг уровня b где тренится мелкий нетворк, который динамически распределяет значимость таймстепов во время тренировки, он реализован только вот тут https://github.com/67372a/LoRA_Easy_Training_Scripts/tree/flux и оно довольно багованное от коммита к коммиту, имей сразу ввиду, конфиг можешь тут у него взять https://github.com/67372a/LoRA_Easy_Training_Scripts/issues/13

А вообще взял бы да с адамом просто лору на дефолте для начала натренил, чем ударяться в эксперименты с бетами, едмом или файнтюном, всё это посложнее будет в исполнении, и надо уже от чего то отталкиваться, хотя бы в сравнениях
Аноним 07/04/25 Пнд 02:06:58 1135074 71
Вашу нить всю еще не прочел, очень уж забористая и странная. Но бля
>>1134969
> базовый токен уровня pink background
> с токенами
> токены
За такое использование этого термина, что постоянно мелькает, хочется взять и уебать. Используй слова: теги, фразы, капшны, сдвиг латентного пространства энкодера, что угодно. Но не обозначай словосочетание токеном, это совсем разные вещи.

А энкодер тренить нужно, если добавляется что-то новое, а не просто подчеркивается уже известное или применяется какая-то общая стилизация.
Аноним 07/04/25 Пнд 02:13:36 1135090 72
>>1135074
Сорян что тоже влезаю, но ты похоже знаешь. Как прикинуть, сколько CLIP токенов в тексте? Гуглил, нашел только ноду-счетчик для Комфи, но у меня нет Комфи, генерю в инете.
Аноним 07/04/25 Пнд 02:27:09 1135103 73
>>1134969
> пони, нуб, люстра
Там и батчсайз был нормальный.
И как я уже писал - это делали из-за сильно специфических капшенов. Зачем тебе при тренировке на мелком датасете тренить ТЕ, когда он уже знает как энкодить твой текст - загадка.
> с отпердоленным по самые гланды те
Да, знаем. Весь порнушный реалистик с натрененым клипом как раз как ты и описываешь поломанный, настолько что порой тянку одетую невозможно сгенерить. Бигасп как раз такой. Ничего кроме таблеток авторам такого не могу посоветовать. Собственно это и есть путь к генерациям только того что было в датасете.
> типа этого пчелика
Так там ранг 4. С ним можно любое извращение делать, даже нужно, а иначе трудно трениться будет. Тем более на флюксе.
Если слои резать как в b-lora, то можно и не такое вытворять, т.к. там даже усравшись ничего не сможешь сломать.
Ты опять пытаешься передёргивать, но выглядит это глупо.
Аноним 07/04/25 Пнд 02:34:53 1135108 74
Аноним 07/04/25 Пнд 02:48:06 1135123 75
image(63).webp 39Кб, 1024x1024
1024x1024
Аноним 07/04/25 Пнд 03:13:15 1135170 76
>>1135090
Экспрессом оценить - анон уже скинул самый простой вариант. Но учитывай что он не покажет как идет разбиение по чанкам, за этим следить самому.
Если собираешься в каком-то софте юзать - ticktoken легковесный и быстрый.

Пользуясь случаем и сам спрошу, в комфи сд3 идет стакинг чанков клипа для длинных промтов, или как в популярных примерах кода просто все срезается после лимита и дальше только т5 работает?

>>1135103
> Весь порнушный реалистик с натрененым клипом
Там проблема не в тренировке клипа а в уровне тренировки в целом. Вместо того, чтобы научить сопоставлять промт - генерацию, наоборот связи нарушаются из-за натягивания порнухи на глобус. Такое можно получить что с тренировкой те, что без нее, разве что без его тренировки попытка обучить незнакомому все поломает в разы сильнее.
Аноним 07/04/25 Пнд 03:21:31 1135188 77
>>1135103
>Бигасп как раз такой.
Нормальный бигасп, у тебя скилишуе.
Аноним 07/04/25 Пнд 03:29:24 1135203 78
>>1135074
>За такое использование этого термина, что постоянно мелькает, хочется взять и уебать. Используй слова: теги, фразы, капшны, сдвиг латентного пространства энкодера, что угодно. Но не обозначай словосочетание токеном, это совсем разные вещи.
Буду называть ВХОДНЫЕ ТЕКСТОВЫЕ ЕДИНИЦЫ токенами, потому что
1. Входные текстовые единицы - токены, лексемы, теги, фразы
2. Выходные представления энкодера - эмбединги, векторы, латентные представления, сдвиги в латентном пространстве

>А энкодер тренить нужно, если добавляется что-то новое, а не просто подчеркивается уже известное или применяется какая-то общая стилизация.
Заебали своими догмами, ну честно.
Аноним 07/04/25 Пнд 03:30:39 1135207 79
>>1135090
> Как прикинуть, сколько CLIP токенов в тексте?
>Комфи
Есть экстеншенов несколько на подсчет, я точно названия не помню но легко гуглятся точно
Аноним 07/04/25 Пнд 03:43:03 1135217 80
>>1135103
>Там и батчсайз был нормальный.
Так у нас и параметрически меньший разлет данных.
>И как я уже писал - это делали из-за сильно специфических капшенов. Зачем тебе при тренировке на мелком датасете тренить ТЕ, когда он уже знает как энкодить твой текст - загадка.
А откуда ты знаешь может ли енкодить дефолт мой текст? Да и выходной результат с неспецифичными описаниями тоже лучше получается.
>Весь порнушный реалистик с натрененым клипом как раз как ты и описываешь поломанный, настолько что порой тянку одетую невозможно сгенерить
>порнушный
>одетую
Смишно-смишно. Может ты еще в онемекале генерируешь текст?
>Весь порнушный реалистик с натрененым клипом как раз как ты и описываешь поломанный, настолько что порой тянку одетую невозможно сгенерить
>Бигасп как раз такой. Ничего кроме таблеток авторам такого не могу посоветовать. Собственно это и есть путь к генерациям только того что было в датасете.
Ну тут явная гиперболизация ради раскручивания срача.
>Так там ранг 4.
Там ранг 2.
>С ним можно любое извращение делать, даже нужно, а иначе трудно трениться будет. Тем более на флюксе.
>Если слои резать как в b-lora, то можно и не такое вытворять, т.к. там даже усравшись ничего не сможешь сломать.
>Ты опять пытаешься передёргивать, но выглядит это глупо.
То есть тут тебе уже всё ок, хотя и то и другое вообще далеко от т.н. "стандартов" иванов "1:3 TE:UNET 0.5-1:1 a:d <32 nigger word 0.9-0.99 adam8bit 1e-4 amen" залупиных. Ну, и смысл всего диалога тогда, или просто нехуй делать?
Аноним 07/04/25 Пнд 04:03:44 1135241 81
>>1135203
Не кривляйся, учитывая важность токенизации, это всеравно что теги называть лорами. Просто говори по-человечески и вопросов не будет.
> догмами
Хуегмами, это очевидная база.
Без устойчивой реакции и соответствующего изменения состояний, которые идут в кондишны, нормального обучения невозможно. В некоторых кейсах хватит стандартного клипа, по скольку на самом деле он знает оче много. В других же будет или ноль эффекта, или полный разъеб, потому знания преимущественно общие без конкретики и в 224 разрешении многое вообще невозможно полноценно воспринять.
Сюда еще наложатся нюансы оче узкой и мелкой тренировки в попытке добавить что-то.
Аноним 07/04/25 Пнд 05:17:40 1135261 82
>>1135241
> Не кривляйся, учитывая важность токенизации, это всеравно что теги называть лорами. Просто говори по-человечески и вопросов не будет.
Буду писать как считаю нужным. Смотри: токены, токены, токены. Терпи.

> Хуегмами, это очевидная база
Крутяк, братан, держи в курсе, очень интересно твое базированное мнение по данному вопросу, не могу представить как можно жить без настолько очевидной базы. Базированный базовичок базанул базово, да еще и очевидно. Респект таким как ты в этом итт коммьюнити, низкий поклон чилловому парню на базе.
Аноним 07/04/25 Пнд 13:47:23 1135507 83
>>1134676
Эх, значит таки придется заниматься перебором.
Аноним 07/04/25 Пнд 21:21:46 1136780 84
xyzgrid-0011-51[...].png 3687Кб, 4120x1531
4120x1531
>>1135049
Что то сложно с edm2, в нем нужно указать все параметры оптимизатора который выбрал? с debiased_estimation_loss полегче, просто галочку поставить, но я пробовал с ним тренировать, loss почему то постоянно рос, до 6 дошел, график не сохранился потому что электричество моргнуло и не завершил тренировку, но лора по итогу нормально работает, не сжигает ничего, так и должно быть с лосом? Тренировал с --scale_v_pred_loss_like_noise_pred, так как в гайде это написано. Такая проблема и с шедулер фри адамом и с адафактором, так что проблема не с оптимизатором
Аноним 07/04/25 Пнд 21:33:01 1136811 85
>>1135261
Чего порвался сразу? И за что топишь вообще не понятно, тренить только без те? Это ерунда.
Аноним 07/04/25 Пнд 22:18:11 1136936 86
out.mp4 508Кб, 1000x600, 00:00:10
1000x600
>>1136780
> в нем нужно указать все параметры оптимизатора который выбрал?
Да, ведь я уже расписал, что это мелкий параллельно тренеруемый нетворк, можешь в логах, если настроил глянуть, как он делает пикрил хуйню
> так и должно быть с лосом?
Вот примерно так вообще со всеми датасетами, белая кривая >>1036186 →
> Тренировал с --scale_v_pred_loss_like_noise_pred
Не надо, это вроде онли для дебиаседа актуально и вообще костыль был раньше
Аноним 07/04/25 Пнд 22:24:42 1136954 87
>>1135203
> Заебали своими догмами, ну честно.
А в чём он кстати конкретно не прав? Его же реально есть смысл тренить только для новых словосочетаний, либо, редкий случай, если ты хочешь немного натрененных параметров другого типа в получившемся нетворке, что усиливает иногда даже стили
Аноним 07/04/25 Пнд 23:45:41 1137233 88
>>1136954
>Его же реально есть смысл тренить только для новых словосочетаний, либо, редкий случай, если ты хочешь немного натрененных параметров другого типа в получившемся нетворке, что усиливает иногда даже стили
Нейрокал ищет и запоминает паттерны, согласуя их с текстовым енкодером, не важно знает ли он о концепте заранее или нет - в обоих случаях такая конструкция эффективнее тренирует. Без те клипвижн смотрит на картинку опираясь на кепшен и никак не трогает структуру дефолтного те, единственное что буде задействовано это кроссатеншен в части класса датасета, но это очень слабое влияние. Если у тебя проблемы с пыняманием как тренить те, то ты всегда можешь снизить влияние те при генах, т.к. на него альфа никак не влияет - просто тренишь с такой же скоростью как юнет и потом процентик подбираешь, при желании можно будет перетренить согласно новому проценту влияния, это линейная зависимость.
Аноним 07/04/25 Пнд 23:50:41 1137244 89
>>1137233
>то ты всегда можешь снизить влияние те при генах
В том числе отключив влияние те полностью, получив более точный результат тренировки юнета, т.к. модули будут отпердолены согласно твоим кепшенам и настройкам к ним, а не согласно дефолту.

слоу ап
Аноним 08/04/25 Втр 00:25:36 1137321 90
>>1137233
Ты похоже совсем тупой, если пытаешься тренить ТЕ на визуальном таргете. ТЕ должен трениться на тексте, UNET на визуале. Так же как в самой тренировке клипа визуальный энкодер тренят на визуале, а ТЕ на тексте. Поэтому ТЕ так сильно и забывает теги у тебя. Поэтому при претрейне любой диффузии никто никогда его не тренит.
> снизить влияние те при генах
Пошли ахуительные истории. Наличие ТЕ в графе влияет на распространение градиентов в UNET тоже. Даже если ты не обновляешь веса ТЕ. Это не работает так что ты натренил его и потом выкинул, думая что в результате получил как будто его не было при тренировке.
Аноним 08/04/25 Втр 00:27:24 1137326 91
>>1137321
Иди на хуй далбаеб.
Аноним 08/04/25 Втр 00:37:08 1137349 92
>>1136936
Нашел причину, full bf16 почему то показывает постоянный рост loss, на первых же шагах больше 1, и далее только растет, даже если результат получается нормальный, не уверен почему так происходит, попробую edm2, конфиг нашел который на гитхабе валялся, хочу сначала на каком то обычном оптимизаторе попробовать типа адама, а потом уже на каких нибудь продиджи запущу
Аноним 08/04/25 Втр 00:43:28 1137364 93
>>1137233
> Нейрокал ищет и запоминает паттерны, согласуя их с текстовым енкодером
В целом верно, юнет прослеживает закономерности между выдернутыми скрытыми состояниями текстового энкодера и картинкой.
> не важно знает ли он о концепте заранее или нет
А вот это бредятина.
Если текстовый энкодер не имеет хорошего понимания того, что указано в ромте, то эту часть он проигнорирует или воспримет некорректно, не дав соответствующее явное изменение в кондишн. Юнету будет неоткуда взять условие, и он или начнет фалломорфироваться, подстраивая базовое поведение под то что в датасете, не зависимо от кондишнов, или просто ничему нормально не научится.
> Без те клипвижн смотрит на картинку
Какой клипвижн, он никак не участвует в работе sd и в тренировке. Там даже проекционный слой текстового энкодера не нужен и его можно смело занулить или ампутировать.
> Если у тебя проблемы с пыняманием
С этим явные проблемы у тебя. Неуместный спам терминами, отсутствие базовых знаний, а из опыта - 2.5 кривых лоры на еот, зато по "новым технологиям", которые дипсик посоветовал.
>>1137321
> ТЕ должен трениться на тексте, UNET на визуале
Не совсем удачное описание, но в целом так. При тренировке те юнет по сути заменяет визуальный энкодер клипа.
Также, никто не мешает сначала натренить отдельно клип на нужном датасете пар текст-изображение, потом выдернуть его и использовать с юнетом, тренируя только последний. Но здесь есть ряд своих проблем: во-первых, визуальный энкодер клипа ужасно слепошарый из-за разрешения, во-вторых, он сам очень легко ломается и вертеть мелкие датасеты как с диффузией целиком не выйдет, в третьих - при наличии длинных капшнов полезет проблема дробления промта на чанки. Можно делать аугментацию и брать рандомный - но это снизит стабильность тренировки, можно усреднять стейты перед проекцией - прокатывает 50-50, можно усреднять эмбеддинги - и получить залупу.
> Поэтому ТЕ так сильно и забывает теги у тебя.
Он забывает у него потому что тренит какую-то ерунду с неоптимальными параметрами.
> Наличие ТЕ в графе влияет на распространение градиентов в UNET тоже. Даже если ты не обновляешь веса ТЕ.
Именно, и эффект "забывания" легко получить даже не трогая те.

Хз есть ли смысл с этим шизом что-то обсуждать, он уже сам понимает что слился и начинает сочинять что-то далеко за гранью своего понимания, пытаясь тихонько слиться.
Аноним 08/04/25 Втр 01:05:32 1137424 94
>>1137364
> При тренировке те юнет по сути заменяет визуальный энкодер клипа.
Не бредь. В клипе loss - это расстояние между парами правильных и неправильных пар эибедингов, в нём градиенты не идут из визуального энкодера, ТЕ клипа ничего не знает об визуальной части. А сам визуальный энкодер - это уже претрен ViT. В случае с SD у тебя градиенты идут из UNET, т.е. ты тренишь ТЕ на визуале, чего в принципе не должно быть. Или ты думал что в клипе текст энкодится ТЕ, а потом эмбединг пропускается через визуальный энкодер как в UNET, лол?
Аноним 08/04/25 Втр 01:19:07 1137457 95
>>1137349
> full bf16 почему то показывает постоянный рост loss
Не надо, ты пытаешься засейвить память, но получишь ворох проблем от градиентов в низкой точности, не зря ведь существуют оптимайзеры для сглаживания проблем https://github.com/lodestone-rock/torchastic по типу такого обычного адама, но для бф16
Аноним 08/04/25 Втр 01:31:42 1137476 96
>>1137364
>Если текстовый энкодер не имеет хорошего понимания того, что указано в ромте, то эту часть он проигнорирует или воспримет некорректно, не дав соответствующее явное изменение в кондишн. Юнету будет неоткуда взять условие, и он или начнет фалломорфироваться, подстраивая базовое поведение под то что в датасете, не зависимо от кондишнов, или просто ничему нормально не научится.
Поехали:
1. Юнет в сд не просто слепо следует кондишнам от текстового энкодера. Он обучается на парах "текст-изображение" и может догадываться о связях между латентными представлениями и визуальными данными, даже если кондишн от текстового энкодера не идеален, следовательно юнет не зависит полностью от кондишнов и может частично компенсировать их недостатки, особенно если lr для юнет выше, а датасет репрезентативен, а ты не еблан который боится тренить те потому что иван залупин так скозал.
2. Даже если текстовый энкодер игнорирует часть промпта или выдает шумный кондишн, это не приводит к фалломорфированию или полной потере обучения. Юнет может интерпретировать шумный сигнал как обобщенное направление в латентном пространстве и все равно учиться на данных, следовательно некорректный кондишн не обнуляет обучение, а делает его менее точным. Юнет может подстроиться под базовое поведение датасета.
3. Переобучение юнет на датасет без сильной зависимости от кондишнов может быть плюсом, если задача стиль или обобщение, а не точная интерпретация текста.
4. Лора добавляет низкоранговые обновления к весам юнет и текстового энкодера, что позволяет им совместно адаптироваться к данным. Даже если текстовый энкодер выдает слабый кондишн, лора дотягивает генерацию к правильному результату, особенно при сбалансированном lr.
5. В сд есть механизм обработки безусловной генерации, где кондишн заменяется нулевым вектором. Юнет может учиться даже в таких условиях, опираясь только на данные. То есть юнет не "ничему не научится" а просто переключится на обобщение датасета.
>Какой клипвижн, он никак не участвует в работе sd и в тренировке.
Ладно, моя ошибка, неверно подобрал описательную часть к процессу определения паттернов. По дефолту у тебя есть класс датасета с помощью которого сеть "видит" картинку + вае. Без текстового энкодера суть дасета определяется либо через классы/латенты, либо через узкую специализацию датасета. Это похоже на то как работает клипвижн (клипвижн и юнетбез текстового энкодера понимают содержимое в том смысле, что ассоциируют входные сигналы с визуальными паттернами, выученными из данных и оба опираются на предобучение и латентное пространство), но клипвижном не является.


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

>Неуместный спам терминами, отсутствие базовых знаний, а из опыта - 2.5 кривых лоры на еот, зато по "новым технологиям", которые дипсик посоветовал.
У тебя так пичот с того что я тренирую тонны качественных моделей с полновесным те, что ты выдумал соломенное чучело и побеждаешь его, прелестно. Контролируй свой батхурт.

>Он забывает у него потому что тренит какую-то ерунду с неоптимальными параметрами.
Нет, это не так. Обиснять не буду, я и так много времени потратил на бессмысленный срач на дваче с фанатиком, прекрасно понимаю что у тебя синдром утенка и ты любое схождение с рельс "идиальных настроек яскозяль нильзя уииии хрюююю" воспринимаешь как личную угрозу почему-то. Зачилься, другалек, это не я тебе навязываю тренировку с те, а ты мне пытаешься доказать что УИИИИ НЕЛЬЗЯ ТРЕНИРОВАТЬ ТАК ХРЮЮЮ ЮНЕТА ХВАТИТ ВСЕМ, о чем тебя никто не просил. Ферштейн?

>Хз есть ли смысл с этим шизом что-то обсуждать, он уже сам понимает что слился и начинает сочинять что-то далеко за гранью своего понимания, пытаясь тихонько слиться.
Ну все-все, не реви малютка, юнета хватит всем и каждому, те тренируют ток лохи, всё так всё так...
Аноним 08/04/25 Втр 01:59:11 1137533 97
Срач уровня рок против репа. Вы ебанутые? Хочешь трень без те, хочешь с те, хочешь обмазаться классикой - мажься, хочешь блидинг едж оф текнолоджи и нестандарт - пожалуйста. Главное ведь результат, норм не существует. Нахуя вы сретесь чье ведерко лучше куличики из говна делает? Предлагаю вам всем завалить ебальники и не корректировать чужой процесс дрочки пениса согласно своим вкусовым предпочтениям. Или хотя бы прикладывать свой профиль на цивите с моделями, а то на словах все львы толстые, а на деле очередное аниме по триггеру хуярите.
Аноним 08/04/25 Втр 02:09:26 1137563 98
>>1137424
Ну и нахер ты это высрал?
В случае тренировки клипа осуществляется сравнение эмбеддингов и с этой разницы идет обратный проход. В случае тренировки клипа в составе сд, обратный проход осуществляется сначала по юнету, а потом по используемым слоям те. В обоих случаях т.е. подстраивается под изображение опираясь на вторую часть модели, или визуальный энкодер, или юнет. О чем и была речь, можно научить т.е. новому как в составе оригинальной модели, так и в диффузии, а потом пересаживать туда-обратно. Разумеется из-за отличий из коробки оно может хорошо не работать, но короткое дообучение с частичной заморозкой это быстро исправит.
> ты тренишь ТЕ на визуале
Не тренишь ты его на визуале ни там ни там. В одном случае у тебя оценивается ошибка перекрестной энтропей разницы позиций в латентном пространстве, и начинается ее распространение, в другом у тебя сразу же приходит ошибка скрытых состояний последнего (если не пропущено) слоя перед проекцией. Те же яйца, только с нюансами.
> текст энкодится ТЕ
Именно
> а потом эмбединг пропускается через визуальный энкодер как в UNET, лол?
А это уже ты высрал. Хотя тут как посмотреть, если визуальный энкодер не заморожен то через него как раз обратным проходом полетит именно сравнение с ним.
>>1137476
> Он обучается на парах "текст-изображение"
Тензор из те - изображение, юнет ничего не знает про текст
> и может частично компенсировать их недостатки
Все так. В том числе на этом основана возможность обрабатывать длинные промты не смотря на порой радикальные отличия в тензорах чанков.
> а ты не еблан который боится тренить те потому что иван залупин так скозал
Перечитай пост, ты не туда воюешь. Там как раз про то что те тренировать надо, если у тебя не странный кейс, и опровержения шиза, который боится его тронуть, утверждая что это все сломает.
> Даже если текстовый энкодер игнорирует часть промпта или выдает шумный кондишн, это не приводит к фалломорфированию или полной потере обучения.
Если он игнорирует именно ту часть, которую ты тренируешь - приводит. Простой пример - всякие названия поз в сексе, активностей и мемов, которые будут интерпретированы совершенно не так и приведут к разного рода побочкам. Или сленг и новые слова, "шум от которых", как ты выражаешься, не будет достаточно консистентным и регулярным чтобы юнет смог нормально ее интерпретировать. Удачный кейс, описанный тобой, может сработать только если клип способен это понимать в достаточной степени.
> следовательно некорректный кондишн не обнуляет обучение, а делает его менее точным
Все правильно, вопрос в амплитуде этой неточности, она достаточно высока. Наиболее наглядно проявляется попытками натренить на имена каких-то людей, знаменитостей легко без те ухватывает даже если диффузия не знала, зато других, или тем более придуманные последовательности - отвратительно.
> Юнет может подстроиться под базовое поведение датасета.
Это и есть фаломорфирование, когда обучаемое будет лезть из всех щелей без вызова. И опять, ровно то что я выше описал.
> 3. Переобучение юнет на датасет без сильной зависимости от кондишнов может быть плюсом, если задача стиль или обобщение
Ну вот, пошел мои же посты цитировать когда понял что все сфейлил, или нахуй тогда влезал?
> Лора добавляет низкоранговые обновления к весам
Которые выбраны для обучения и только к ним. Если выбран только юнет - будет только юнет, и то по дефолту даже не все его слои. Если только те - будет только те, есть и такие извращения. Если отдельные блоки - будут отдельные блоки. А не то что ты пишешь, это вообще неуместно по нити.
> 5. В сд есть механизм обработки безусловной генерации
Анкондишнал генерации и работа cfg, это здесь не при чем.

Нейронка, плиз.

> Ладно, моя ошибка
Конечно ладно. Как только прижали - дождался лимита сетки побольше, которая не скормила как в прошлый раз тухляк из эпохи далли1 с классифаер-гайденсом, а уже подсказала что-то актуальное. Но рофел в том, что оно буквально повторяет мои утверждения и опровергает твои (или того типа, которому пояснял что он не прав). А если второе - то зачем в разговор лезешь без четкого и явного описания своих утверждений?
> У тебя так пичот с того что я тренирую тонны качественных моделей
Васян на десктопной карточке по ночному тарифу электричество жжет, но себя мнит, ай лол. Такой-то серьезный повод для зависти. Мелковата рыбешка и пользы не приносит.
> бессмысленный срач на дваче с фанатиком
Да уже сливаешься, потому что вместо выебонов в той нити расклеился и себя начал опровергать. А я ведь просто мимокрокодил, который завалил уточнить что есть ерунда и как нынче технотредик поживает и оценить уровень духоты. Трех постов хватило чтобы подорвать, забавно.

> юнета хватит всем и каждому, те тренируют ток лохи
Опять не туда воюешь. Да что с вами не так?
Аноним 08/04/25 Втр 02:11:36 1137570 99
>>1137563
Я не буду эту хуйню шизоидную читать, сорян.
Аноним 08/04/25 Втр 02:13:43 1137577 100
>>1137570
Кому не лень будет - прочитают и поймут доминацию чистого разума над глупостью в разных проявлениях. А может что-то полезное для себя почерпнут.
Аноним 08/04/25 Втр 02:16:16 1137587 101
>>1137563
Нука покажи свои модели
Аноним 08/04/25 Втр 02:22:25 1137605 102
>>1137577
>Кому не лень будет - прочитают и поймут доминацию чистого разума над глупостью в разных проявлениях. А может что-то полезное для себя почерпнут.
Нихуя себе чсв шиза.
Аноним 08/04/25 Втр 02:23:00 1137607 103
>>1137587
Апелляция к авторитету, это же читы. Широко известны в узких кругах и приложил руку к разным проектам в опенсорсе.
>>1137605
Сорвалась рыбка.
Аноним 08/04/25 Втр 02:27:35 1137625 104
>>1137607
>Апелляция к авторитету, это же читы.
Вообще подобный твоему гонор обязан быть подкрепленным фактическими успехами и хайкволити продуктом, в противном случае это выебоны обычные

>Широко известны в узких кругах и приложил руку к разным проектам в опенсорсе.
Ну так предъявите, или тебе незнакомо слово портфолио?
Аноним 08/04/25 Втр 02:51:43 1137735 105
>>1137625
> гонор
Где? Ведь нейтрально и по существу все описано, исключая последные абзацы где уже ответы на агрессию. Насмешка над
> я тренирую тонны качественных моделей с полновесным те
это типа гонор? Это рофлы над челом, который решил агрессивно доебаться, процитировав мои посты (или чуть сузив обсуждение к степени реакции энкодера) и повторив выводы из них. Ничего выше 24 десктопного врама и датасетов с папочками 3_хуйнянейм не нюхал, зато как сам выебывается.
Или это такой повод для слива?
> или тебе незнакомо слово портфолио
Таки какие условия вы предлагаете?
Аноним 08/04/25 Втр 02:57:38 1137760 106
>>1137364
> Хз есть ли смысл с этим шизом что-то обсуждать
На это чтоли обиделись и подорвались, я не понял? Так это про поеха, который усирался за недопустимость трейна те и уже пошел окукливаться, а не двум постам что там указаны.
Аноним 08/04/25 Втр 03:14:01 1137846 107
>>1137735
>>1137760
>стена оправданий
>ноль моделей
Ясно, можешь не напрягаться.
Аноним 08/04/25 Втр 03:21:18 1137865 108
>>1137846
> Ррррряяяяя я не слился
> Тащите пруфы, чур я не первый!
Ай кринжатина. Перед следующим выступлением спроси у дипкока что такое проекционный слой чтобы не позориться, успешный полнотекстовый тренировщик лор на еот.
Аноним 08/04/25 Втр 03:31:39 1137889 109
>>1137865
>мощный агрессивный пук
>без моделек
Хехмда, вот они эксперты треда - лают, но не кусают
Аноним 08/04/25 Втр 03:52:24 1137914 110
>>1137889
Все довольно просто, ты отчаянно хочешь свинтить, уже устыдившись тому что писал раньше и поняв что ввязался в бессмысленный спор в котором не выиграешь.
Высказанное не позволяет вернуться к обсуждению, из-за характера и чсв не можешь просто отступить, или боишься потерять лицо на аиб, ай лол.

Вот и устраиваешь этот перфоманс, трясущимися губами выкрикивая какие-то требования. Мне не жалко, но сначала ты продемонстрируй свои
> тонны качественных моделей с полновесным те
Казалось что тех, кто здесь тренирует что-то стоящее, знаю и они более сдержаны в своих высказываниях.
Аноним 08/04/25 Втр 03:57:44 1137927 111
>>1137914
Молодой человек, мы всем тредом ждем ваши модели. К какому времени ожидать?
Аноним 08/04/25 Втр 04:06:05 1137941 112
>ви все гавно! слушайте меня - вот тонны буковок
@
>ты свч
@
>нет ето ты свч! я победитель по жизни! вумный!
@
>о, так вы экспертный аи энтузиаст с корочкой, покажите модели пожалуйста
@
>мням пук нет ето вы покажите свои сначала!

Чет ору с этой омежки
Аноним 08/04/25 Втр 04:15:55 1137967 113
>>1137927
За щекой проверь, пиздабол.
>>1137941
Так разорвало что начал семенить, ай лол.

С какого момента вот этот рак захватил тред? У дедов все плохо и теперь метастазы сюда пролезают?
Аноним 08/04/25 Втр 04:23:41 1137975 114
>>1137967
Похоже ты недостаточно усвоил жизненный урок, что в реальном мире могут спросить за кучерявый базар. Иди отдохни, завтра днем надеюсь поблагодаришь, что это произошло на двачах, потому что ирл пришлось бы извиняться на камеру.
Аноним 08/04/25 Втр 09:00:36 1138215 115
>>1137563
> если визуальный энкодер не заморожен то через него как раз обратным проходом полетит именно сравнение с ним
Ты реально даун. В клипе контрастный loss, там градиенты идут от пар эмбендингов, а не от изображения к тексту.
Аноним 08/04/25 Втр 14:09:29 1138570 116
>>1137975
Урок в том, что обосравшийся чухан копротивляется до последнего и скатывает техническую ветку в филлиал /по? Это дефолт, долбоебы сразу свой уровень обозначают.
> потому что ирл пришлось бы извиняться на камеру
Обозначь себя, можно устроить
>>1138215
> В клипе контрастный loss, там градиенты идут от пар эмбендингов
> В случае тренировки клипа осуществляется сравнение эмбеддингов и с этой разницы идет обратный проход.
У тебя все хорошо, бедолага? Прочитай еще раз.
Аноним 08/04/25 Втр 14:25:48 1138602 117
>>1138570
> Прочитай еще раз.
Это ты прочитай ещё раз и загугли что такое контрастный loss. Распространение градиентов идёт от эмбедингов в разные стороны параллельно в ТЕ и визуальный энкодер, в сторону текста и изображения соответственно. А не последовательно, как в SD, когда ты пытаешься тренить ТЕ.
Аноним 08/04/25 Втр 14:29:57 1138609 118
>>1138602
И? Где противоречие? Сам что-то придумал и с этим споришь.
Аноним 08/04/25 Втр 15:05:11 1138679 119
>>1138570
Новый день, а твоих высококачественных моделей подтверждающих компетенцию всё еще нет. Ждем.
Аноним 09/04/25 Срд 21:22:39 1142245 120
xyzgrid-0043-15[...].jpg 439Кб, 1248x4000
1248x4000
ESji1JuUYAAtioc.jpg 141Кб, 1131x2011
1131x2011
186342-16435177[...].png 878Кб, 1024x1024
1024x1024
00152-13450485.png 984Кб, 1208x824
1208x824
>>1136936
Попробовал тренить лору с --scale_v_pred_loss_like_noise_pred и без, разница не большая, но заметил больше ошибок в лоре которая без --scale_v_pred_loss_like_noise_pred тренилась. 1 пикча сравнение, 2 что должно получится по промту. Там с --debiased_estimation_loss, думаю лучше с скейлом тренить.
И ещё ранее модель на будке тренил с такими параметрами, вроде тоже тебе показывал https://files.catbox.moe/pq1l52.json
"--v_parameterization --zero_terminal_snr --scale_v_pred_loss_like_noise_pred" вот ссылка на саму модель https://huggingface.co/MindB1ast/test5/resolve/main/abc/Watanabe_exper_4_consept_more.safetensors
Она работает(txt2img на 4 пикче), но есть пролбема с img2img, почему то пикча всегда сжигается(пикча 3), причем на нубе или в вкладке img2img такой проблемы не наблюдается, не знаешь в чем может быть причина?
Аноним 09/04/25 Срд 21:39:20 1142294 121
>>1142245
> 1 пикча сравнение
Ничего же не меняется.
Аноним 09/04/25 Срд 21:44:17 1142310 122
>>1142294
Так я и написал что разница не большая, но я пробовал больше и в варианте без --scale_v_pred_loss_like_noise_pred больше ошибок по анатомии и деталям одежды
Аноним 09/04/25 Срд 22:05:07 1142371 123
>>1142245
> Там с --debiased_estimation_loss, думаю лучше с скейлом тренить
Да, дебилосед нужно со скейлом юзать, где то у кохьи было большое обсасывание всей этой темы
> не знаешь в чем может быть причина?
Знаю, у тебя в state_dict'е нету ключей впреда и зтснр, где то был скрипт чтобы их вшивать, могу попробовать найти, либо адвансед сэмплинг включай в рефордже внизу страницы
Аноним 09/04/25 Срд 22:13:28 1142398 124
>>1142371
Да как раз в рефордже и юзаю, но даже с ним при hires fix и adetailer выдает шум вместо картинки. Я думал это автоматически делается если vpred тренируешь
Аноним 09/04/25 Срд 22:15:27 1142404 125
Аноним 09/04/25 Срд 22:17:53 1142419 126
Аноним 09/04/25 Срд 22:23:52 1142441 127
>>1142398
> но даже с ним при hires fix и adetailer выдает шум вместо картинки
До "стандартизации" фиксили кстати через жопу добавляя в настройках в

Script names to apply to ADetailer (separated by comma):

dynamic_prompting,dynamic_thresholding,wildcard_recursive,wildcards,lora_block_weight,negpip,advanced_model_sampling_script

Но лучше просто ключи туда добавь
Аноним 09/04/25 Срд 22:49:26 1142538 128
>>1142441
Да, проблема была в том что не было ['v_pred']['ztsnr'] в state_dict, сейчас все норм работает, ещё раз спасибо
Аноним 11/04/25 Птн 17:31:45 1145905 129
Аноны, как сейчас дела обстоят с лора-мерджами?
Использую 3 лоры в комплекте для базового стиля, думаю их смерджить в одну, для оптимизации и экономии памяти.
Но супермерджер для автоматика не работает, а кохьевские скрипты выдают что-то непонятное - в базовом режиме видимо dim не совпадает (неужели никак не пересчитать?), а в svd-вкладке (или как оно там называется) результат вообще не тот выходит, что от раздельного использования.
Пытался вжарить лоры в модель, и потом сделать экстракт, но разница все равно довольно значительная.
Аноним 11/04/25 Птн 17:56:22 1145958 130
>>1145905
Лучше 3 датасета в одну лору натрень. Мержинг всегда костылём будет.
Аноним 11/04/25 Птн 18:07:00 1146007 131
>>1145958
Это если у меня есть датасеты.
У меня их, очевидно, нет.
Вдобавок трех разных художников в оду лору тренить...
Так себе идея, как по мне.
Аноним 11/04/25 Птн 18:09:42 1146015 132
>>1146007
> Вдобавок трех разных художников в оду лору тренить
Никаких проблем нет, прекрасно тренятся.
Аноним 11/04/25 Птн 18:11:57 1146018 133
>>1146015
Энивэй, это не ответ на мой изначальный вопрос.
Аноним 11/04/25 Птн 18:24:53 1146039 134
>>1146018
Ответ на твой вопрос - никак. Нормального результата никогда не получишь.
Аноним 11/04/25 Птн 18:36:19 1146054 135
>>1146039
>Нормального результата никогда не получишь.
Ерунду говоришь.
Пользовался лора-мерджами еще со времен первого NAI.
Сходимость результата в районе 95% по сравнению с использованием лор по отдельности. Экстракты давали (и дают) значительно худшую точность.

Заодно мерджем лоры на саму себя можно было нормализацию по весу применения делать, если в лоре недожарка или пережарка была. Но это когда супермеджер нормально работал.


>Expected size for first two dimensions of batch2 tensor to be: [1920, 6] but got: [1920, 3].
Вот такую фигню показывает когда одну из лор супермеджером замерджить пытаюсь.
(Пришлось копать код, чтоб починить ошибку cuda, но вроде справился).
>weights shape mismatch merging v1 and v2, different dims?
Вот такую - если кохьей мерджить.

И что-то понять не могу, как это победить. Вроде даже ресайз проблемной лоры через кохью сделал - не помогает, только цифры поменялись.
Аноним 11/04/25 Птн 18:51:18 1146122 136
>>1146054
Наверное одна из лор просто натренена на нестандартном алгоритме, локр или что нибудь ещё новее, который супермерджер не осиливает, мерджи через комфи, может там получится
Аноним 11/04/25 Птн 18:56:58 1146151 137
>>1146122
>мерджи через комфи, может там получится
Из того, что видел, там только две можно было сливать.
Мне надо больше. 3-4 за раз.
В два этапа делать как-то ниоч, тут уже могут дополнительные потери пойти, которых я как раз и стараюсь избежать.
Ну и не люблю я лапшу, если честно.
Аноним 11/04/25 Птн 19:14:11 1146225 138
Аноним 11/04/25 Птн 19:17:34 1146242 139
>>1146225
>SVD
>в svd-вкладке результат вообще не тот выходит, что от раздельного использования.
Ну или я что-то не понимаю там.

Плюс оно, судя по логу, нормализует "входящие" веса лор, чтоб они в сумме соответствовали единице, что тоже не помогает повторимости результатов.
Аноним 11/04/25 Птн 21:03:26 1146576 140
>>1146242
Скрин покажи я не помню че там в вебуе бмалтеса. А так полноценнвй свд с разными алго магнитудными есть в расширениях комфе. И нет, там не нормализация, а ортогональная выжимка, декомпозиция хуемое.

Алсо для соединения говно есть еще DARE, но там понять сложнее как на что что влияет и воркфлоу максимально перегружен будет, но зато он мощный, с помощью него смешивают несмешиваемое типа пони и реалистики.
Аноним 11/04/25 Птн 22:07:54 1146781 141
изображение.png 87Кб, 942x857
942x857
изображение.png 63Кб, 929x501
929x501
>>1146576
Ничего там нет. Что в SVD вкладке, что в обычной. В обычной, разве что, даже ранги указать нельзя.
На ресайзе больше настроек доступно.

Я покрутил SVD, выяснилось, что результирующая лора из SVD-мерджа выдает близкий к базовой комбинации результат на силе ~2.2.
При этом базовые настройки лор из промпта - 0.6, 0.4, 0.4, 0.4, и именно с такими настройками я их запекал вместе.
Немного подкрутил входные веса, для более скругленных значений, и ре-масштабировал результат под вес 1 в супермерджере.

Получилось в итоге довольно близко. Гораздо ближе чем с экстрактом. Но все-таки не 95% сходимости, как раньше (отличие буквально на уровне какого-нибудь _а сэмплера), а около 80-85.
Тоже неплохо, но хотелось бы лучше.
Аноним 13/04/25 Вск 00:13:27 1149344 142
Шалом посаны. Последний билд Onetrainer запускал кто-нибудь? У меня ругается на mgds, якобы модуля нет, pip install найти его характерно не может, а в ручное импортирование я нишмог. Есть гайды как запустить?
Давний билд годичной давности наверное запускал (аккурат год назад), а последний - хуй.
Аноним 13/04/25 Вск 14:42:42 1150173 143
Подскажите, есть годный и понятный, обучальное видео по создании лора слайдер.
Аноним 15/04/25 Втр 08:30:09 1154054 144
1744695008953.jpg 49Кб, 1080x376
1080x376
Lycoris на дев ветке обновился.

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

Сделал прогон на фул параметрик с те и да действительно теперь мозги не ебет (а я думал че оно говно мне обучало, пиздец сколько часов проебал за джва месяца).

Мейн не обновился еще, так что чтобы юзать в кое надо в kohya.py ликориса поменять default_lr на learning_rate + добавить две переменные к self - unet и text_encoder в строках пикрел, тогда мисматча не будет при старте тренировки.
Аноним 15/04/25 Втр 08:35:02 1154060 145
Влияют ли новые карточки от куртки на развитие нейросетей?
Типа компании закупят железо мощнее и через год обучат на нем нейронки уже для плебса с 8гб врам
Аноним 15/04/25 Втр 09:03:17 1154094 146
>>1154060

Не понял как связано одно с другим. Компаний которые владеют кластерами видях не то что бы много, а задачу по созданию моделек для нищеты выполнила только стабилити, причем дважды. Так или иначе стараются уложить фп16 в 24 гига, а это ну консумерский уровень так-то, а 8 гигов это дно дна на самом деле.
Аноним 15/04/25 Втр 09:04:12 1154096 147
>>1154094
Даже триджы, 1.5/2, сдхл, 3.5 медиум
Аноним 15/04/25 Втр 09:15:21 1154100 148
Подскажите плз. Есть папка с пикчами, хочу проапскейлить их с разными сидами. Иду в i2i, вкладку batch, указываю папку, ставлю Batch count = 10 и обычный sd-upscale. По итогу выдает для первой пикче 10 вариантов, а все последующие по 1. Ulitmate sd upscale вообще выдает всегда по 1. Пробовал и в A1111 и рефордже. Это косяк скриптов ?
Аноним 15/04/25 Втр 09:41:10 1154151 149
image.png 721Кб, 1876x944
1876x944
>>1154100
Иди сразу в комфе. Ультимейт апскейл можешь заменить на любую другую реализацию, хоть чисто моделькой скейль в мультиплаер который в нее встроен (ну 4х там и так далее) или через Supir если времени не жалко.
Аноним 15/04/25 Втр 09:53:19 1154169 150
image.png 130Кб, 1648x592
1648x592
Аноним 15/04/25 Втр 15:01:47 1154835 151
>>1154060
Скорее уж плебс наконец-то закупится хотя бы 16-ю гигами.
Аноним 15/04/25 Втр 15:05:30 1154848 152
>>1154169
С виду то же самое. Разве что mode и density доступны.
Скорее всего одна и та же фигня получится.


Есть комфи в коллабе вообще?
Хоть попробую, что там получится.
А то не хочется по-новой его себе ставить.
Аноним 15/04/25 Втр 16:15:02 1155074 153
>>1154835
У меня 24 и куда их тратить хз, на всякие флексы/видео всё ещё дохуя времени уходит
Аноним 15/04/25 Втр 19:51:26 1155665 154
Как правильно натренить лору на определенный объект? У меня все попытки оканчиваются тем что с лора просто пытается повторить картинку из датасета со всем окружением.
Аноним 15/04/25 Втр 23:18:59 1156270 155
Аноны вот я наделал некоторых картинок маленького разрешения. Теперь мне надо сделать их в высоком разрешении. Я беру данные генерации, добавляю к ним настройки hires. Картинок дохуя. Встал вопрос как их все запихнуть в очередь?
Всего за эти годы было создано джва расширения для этой задачи - agent-scheduler и SDAtom-WebUi-us.
Оба нерабочее говно. В agent-scheduler не сохраняются настройки сэмплера, при запуске SDAtom-WebUi-us весь интерфейс покрывается ошибками - дальше не смотрел.

Z/X/Y plot вообще не про это.

Как быть?
Аноним 15/04/25 Втр 23:20:32 1156274 156
>>1156270
Забыл написать, что вопрос этот по AUTO1111. Все настройки и промпты для этого интерфеса, так что перекатится на другой не вариант.
Аноним 16/04/25 Срд 16:48:28 1157485 157
>>1155665
>Как правильно натренить лору на определенный объект?
Сеть знает о концепте изначально или нет?
>У меня все попытки оканчиваются тем что с лора просто пытается повторить картинку из датасета со всем окружением.
Покажи настройки.
Если сеть знает о концепте, то достаточен класс датасета (название папки с количеством повторов) или базовый капшн с токеном.
Если сеть не знает о концепте или тебе нужна более глубокая адаптация, то нужно дескриптивное описание кепшенов.
Помимо этого генерализация, параметрический охват и способность запоминать сложные паттерны зависит от лагоритма, типа ошибки и самой задачи. Ну и настройки в целом очень сильно влияют на результат, а твои настройки я не вижу.

Тут можно тонны советов начать раздавать, рассказывать про мокрописьки, поэтому постараюсь кратко пробежаться по общей инфе на основе своего опыта, т.к. я часто пизжу объекты.

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

Если тебе надо что-то быстро спиздить, то я бы выбрал loha с такер декомпозицией (раскладывает матрицы как свд), там думать не надо особо и 1 к 1 по дименшену и альфе тоже не требуется, очень легко пиздит всё - от стилей, до объектов, очень хорошо синергирует с TE на той же скорости что веса не вызывая его прожигания и соответственно не нужно симулировать early stop te для лоры (когда ты обучаешь TE первые несколько эпох пока те не начинает забывать данные, а веса берешь от более поздних эпох и соединяешь их вместе; если не знаешь как вырезать те из модели и вставлять в другую модель, то можно это делать в комфи просто двумя нодами где у одной клип только включен, а у другой включен только юнет). Из минусов наверно низкая емкость только вследствие чего как по мне недостаточная детализация периодически сквозит, но если подобрать дименшен и у тебя позволяет выставить побольше, то незаметно будет.

Если тебе нужна йобовая тренировка максимально похожая на файнтюн с гигантской емкостью и запоминанием сложных паттернов то это только BOFT и GLORA, но бофты работают щас только в а1111 и нигде больше, считаются долго и требуют врама, а глора ботает везде. Глора очень щадящая гибкая штука и позволяет силу лоры поднимать до небес, ее практически нереально перетренить в общем, только если 1:10 по дим:альфа выставить, да и то оно не сдохнет и можно наоборот понижать вес лоры при инференсе. Из минусов трудно подобрать оптимальный лернинг для эффективного обучения и принцип активаций-подсказок хрупкий и требующий стабильного обучения, для быстрого обучения не подходит.

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

Еще можно подключить к алгоритмам DORA, это симуляция поведения тренировки весов как на полноценном файнтюне вместо классического lora метода, ее как раз пофиксили в последнем дев билде ликориса >>1154054

Из того что я бы не выключал вообще никогда это стабилизацию рангов через rs_lora, особенно если тренируешь более 32 дименшенов, для огромных дименшенов это вообще база как по мне. Принцип ранг стабилизации простой - у тебя есть дименшен из которого вычисляется корень, то есть у тебя был ранг 64, но он масштабируется до ранга 8, следовательно к 64 дименшену не требуется 64 альфа, а требуется уже 8 для 1:1 зависимости. Доджит кучу проблем нормализаций и масштабирования.

По типу ошибки - ну я бы лично выбирал между huber и l1, хубер отлично работает с низкими таймстепами которые в основном портят обучение на домашнем обучении, но недостаточно мощно с высокими, поэтому к нему особенно рекомендуется усиление верних через debiased_estimation_loss. l1 прямой как палка и суперстабильный.
Аноним 16/04/25 Срд 18:15:25 1157682 158
Что бы вы запустили на 4090 48GB?
Я не шарю, типа, эээ, Flux? А как можно поиграться, 24 против 48 гигов вообще что-то даст? Будто бы ничего особо не навалить.
Если есть что сказать — напишите.
А то просто бахну 4096 на 4096 fp8 и все.
Преимущественно Comfy.
Аноним 16/04/25 Срд 23:32:13 1158553 159
>>1157682

Я бы запустил жирных ллмок
Аноним 17/04/25 Чтв 04:54:32 1158917 160
>>1157485
Епт, че так сложно, я думал достаточно накидать картинок и описать что на них изображено, а Искусственный Интеллект дальше сам разберется, а тут пердолиться надо.
Где вообще почитать о матчасти можно, что такое ликорисы, бофты, глоры, как настраивать kohya-ss. Как тренировать для Пони, для Люстры и прочих Нубов, я так понимаю что все они SDXL, но допустим я хочу реалистичную картинку получать, для тренировки тоже надо брать модель с реализмом, или надо на базовом SDXL тренить? Короче где про все это узнать, просто в гугле и ютубе рассказывают о совсем базовой херне которая и результат херовый даёт.
Аноним 17/04/25 Чтв 07:02:19 1158953 161
>>1158917
> Епт, че так сложно, я думал достаточно накидать картинок и описать что на них изображено, а Искусственный Интеллект дальше сам разберется, а тут пердолиться надо.
Не ну в принципе и так можно, вообще ничего не подкидывать в конфиг кроме дименшена, оптимайзера с максимально сглаженными бетами и дефолтного l2, ток это надо понижать скорость сильно и ждать не условные пару часов, а пару дней. Это просто неэффективно. Поэтому если хочешь быстро надо понимать куда тыкать и че юзать.

> Где вообще почитать о матчасти можно, что такое ликорисы, бофты, глоры, как настраивать kohya-ss.
Унифицированного гайда по всему нет, в шапке есть несколько гайдов по аргументам для кои, можешь спрашивать у гпт за них если чето неясно, сам список всех аргументов вызывается через python sdxl_train_network.py -h в командной строке например.
Ликорис это базированная библиотека с алгоритмами и мокрописьками https://github.com/KohakuBlueleaf/LyCORIS/tree/dev , используемые алго описаны тут https://github.com/KohakuBlueleaf/LyCORIS/blob/dev/docs/Algo-List.md https://github.com/KohakuBlueleaf/LyCORIS/blob/dev/docs/Algo-Details.md , аргументы тут (но лучше заглядывать в скрипты самих алго, потому что текстовые гайды могут неполностью описывать все актуальные аргументы) https://github.com/KohakuBlueleaf/LyCORIS/blob/dev/docs/Network-Args.md
DORA принцип описан тут https://civitai.com/articles/4139/the-differences-between-lora-and-fine-tune-as-well-as-nvidias-newly-released-dora-technology , дора есть во всех модулях ликориса искаропки
RS описан тут https://huggingface.co/blog/damjan-k/rslora
Алсо сидеть желательно на sd3 бранче кои, наиболее свежая ветка https://github.com/kohya-ss/sd-scripts/tree/sd3
Че там еще а да оптимайзеры. Многие изуализированы тут (первая функция показывает эффективность достижения минимумов, вторая показывает эффективность достижения особо выебистых данных) https://github.com/kozistr/pytorch_optimizer/blob/main/docs/visualization.md
Дефолтная база очевидный адамв и менее очевидный и жручий продижи, но топовые шареры 2025 года угарают по шедулерфри оптимам (из-за экономии врама по большей части и быстрой сходимости), а это вот эти библиотеки https://github.com/facebookresearch/schedule_free (адамв, радам, сгд) и отдельный форк продижей https://github.com/LoganBooker/prodigy-plus-schedule-free/tree/main
Но еще тонна всяких разных тут https://github.com/kozistr/pytorch_optimizer (там came например, с которым тренят флюкс)
По лоссам в принципе нечо обсуждать, только по хуберу интересная ветка https://github.com/kohya-ss/sd-scripts/pull/1228/
Вообще читай ишесы сдскриптов периодически, там постоянно прикормку завозят от которой дуреют


>Как тренировать для Пони, для Люстры и прочих Нубов,
С клипскипом 2, а так различий нет. Ну разве что есть впредикшен нуб, и там с ним дрочка по другому работает с другими настройками и доп аргументами. А и описание будет эффективнее именно так как были отпердолены клипы для этих моделей - буру лайк теги, а не дескриптивное описание как для стандартного клипа реализмомоделей.

>я так понимаю что все они SDXL,
Архитектура одна да
>но допустим я хочу реалистичную картинку получать, для тренировки тоже надо брать модель с реализмом, или надо на базовом SDXL тренить?
Да, лучше брать реалистичный файнтюн с переобученным текстовым енкодером. У базовой просто нет требуемых тебе знаний (или тех которые облегчают адаптацию), которые будут в жирных тюнах. База это для полноценной тренировки, тренировки с нуля и для тренировки общих концепций с излишеством в виде кроссадаптивности между всеми файнтюнами разом.
Начнет тренинга реала на онеме модели: практически так можно, что успешно делают для 2.5д эффекта, и для того чтобы найти грааль превратить 2д модель в реалистик (до сих пор все безуспешно, они все не стопроцентные), но это как бы не задача лор, а для полноценной тренировки. Если очень хочется экспериментов и безумных умений то пожалуйста вперёд аниме баб обмазывать реальными еблами, интересный опыт на самом деле, может ты единственный кто сможет совершить полноценный концептуальный перенос нарушающий математические законы.
Аноним 17/04/25 Чтв 10:14:38 1159138 162
>>1158953
Ммм кстати там в скрипты GGPO добавили, работает не только с флухом.
Я по бырому на мелком датасете прогнал с дефолтными сигмабетами из примера и оно чет неприлично быстро схождение бустит. Надо углубиться в тестирование.

https://github.com/kohya-ss/sd-scripts/pull/1974
Аноним 17/04/25 Чтв 10:44:17 1159175 163
>>1159138
> работает не только с флухом
Нет, там только в лоре для Флюкса реализация есть, в обычной нет. На XL оно просто ничего не делает.
Аноним 17/04/25 Чтв 12:47:09 1159456 164
>>1159175
Я только ято проверил аргументы и оно работает с сдхл.
Аноним 17/04/25 Чтв 13:27:18 1159504 165
>>1159456
>>1159175
Странно вообще. Ну по pr видно что поменяли ток флюксоскрипт и трейн нетворк, но у меня значительно разные результаты с двумя этими аргументами. Щас прогоню еще раз с другими значениями экстремальными, если опять будет другое изображение, то там точно чето подтекает каким-то образом.
Аноним 17/04/25 Чтв 13:32:29 1159512 166
image.png 2060Кб, 896x896
896x896
image.png 2039Кб, 896x896
896x896
>>1159504
Есличе слева без ггпо, справа с ггпо, ничего не менялось кроме двух аргументов, ген левым словом не из датасета.
Аноним 17/04/25 Чтв 13:50:44 1159540 167
image.png 2052Кб, 896x896
896x896
>>1159512
Я не шучу, оно реально подтекает в тренировку сдхл, вот тут сигма и бета 0.1 обе
Аноним 17/04/25 Чтв 14:06:25 1159564 168
>>1159540
А что поменялось? Выглядит как просто недетерминированная тренировка.
Аноним 17/04/25 Чтв 14:08:55 1159568 169
>>1159564
Она детерминированная.
Аноним 17/04/25 Чтв 14:22:01 1159591 170
>>1159568
С одинаковыми настройками. Вот как раз изменение настроек GGPO и меняет рандомно результат. По твоим пикам разница на уровне изменения сида тренировки.
Аноним 17/04/25 Чтв 14:27:41 1159595 171
>>1159591
Так я специально левое слово для гена взял для чистоты, если генить тренированное там ебнешься разница.
Значения передаются от сида, а от положения буковок в конфиге.
Во вторых я вижу реальный квалити ап и более агрессивное схождение на то что тренировал. Я бы показал реальные картинки, но там порнуха. Так что нет, это не что-то уровня погрешности сида.
Аноним 17/04/25 Чтв 14:34:05 1159601 172
image.png 1869Кб, 896x896
896x896
image.png 1974Кб, 896x896
896x896
image.png 1946Кб, 896x896
896x896
>>1159591
Во придумал как показать
без ггпо аргументов, с дефолтными сигмабетами, с ушатанными сигмабетами
Аноним 17/04/25 Чтв 15:02:21 1159657 173
>>1159601
>>1159595
Кароче я поинтересовался у мл сеньора и он скозал что сдскрипты могут триггерить новую функцию с неизвестной полнотой т.к. кодовая база одна.
Аноним 17/04/25 Чтв 20:48:27 1160206 174
>>1158953
>rslora
А в чем смысл, если можно ручками альфу нужную вписать? Или оно как-то влияет на разные размеры матриц модели? Так вроде не должно, там одна константа на все по формуле.
Аноним 18/04/25 Птн 00:39:00 1160873 175
>>1160206
есть три базиса лор:
1. По дефолту лора (за исключением глоры, отключенной декомпозиции у локра и ортогоналок) не умеет эффективно и корректно работать с дменшеном выше 32, т.к. масштабирующий коэффициент альфы поделенной на ранг замедляет обучение при больших значениях ранга.
2. При этом у алгоритмов есть такое понятие как емкость, т.е. способность адаптера въебать по модели сложными преобразованиями, то насколько адаптер может менять поведение модели. У лоры/локона, лохи и низкорангового локра емкость маленькая.
3. Чем выше дименшен, тем больше параметров => больше возможность запомнить сложные паттерны.

Таким образом образуется бутылочное горлышко: увеличение дименшенов адаптеров выше 32 приводит к ухудшению обучения, а дименшены ниже 32 сосут писос по выразительности и запоминанию сложных паттернов. Рслора уничтожает это недоразу и дает лоре корректное масштабирование и нормальное управление большими дименшенами.
Аноним 18/04/25 Птн 01:12:30 1160948 176
>>1160873
Так на вопрос это не отвечает, нахуя что-то ставить или включать когда можно скорректировать вручную коэффициент который ты и так выставляешь вручную?
Аноним 18/04/25 Птн 03:06:18 1161280 177
>>1160948
Как ты собираешься вручную корректировать фундаментальную проблему?
Аноним 18/04/25 Птн 04:08:15 1161539 178
235201.png 394Кб, 1425x2310
1425x2310
>>1161280
В формуле просто делят альфу на корень из r а не само r. Значит можно посчитать и повысить саму альфу.
Аноним 18/04/25 Птн 07:00:20 1161826 179
>>1161539
Теперь читаешь еще раз >>1160873, потом понимаешь что альфа это супрессор и явно повышать ее выше финального коэффициента 1 можно без особых опасений только с глорой (на лохе для стабильности вообще около 1 всегда должна быть например) и удачи.

>>1159138
Я накидал побырому корректную вроде реализацию ггпо (шум к весам + шум к градиентам + бета коэф), но только для лоха и лайтовую https://pastebin.com/x2n7cwmZ (в ориге флуксолоры там квадраты норм perturbation_scale = (self.ggpo_sigma torch.sqrt(self.combined_weight_norms 2)) + (self.ggpo_beta (self.grad_norms 2)) но я не тестил пока это, только прямое вмешивание), аргументы в нетворк аргс "use_ggpo=True" "sigma=0.1" "beta=0.01", можете потыкать кому интересно, заменяете loha.py в пакедже ликориса
Аноним 18/04/25 Птн 07:54:18 1161850 180
>>1161826
>Теперь читаешь еще раз
Причем тут это если по формуле твоя рслора просто масштабирует альфу и больше ничего не делает? И глобально, а значит можно саму альфу взять другой и никакое лишнее говно не ставить.
Ты формулу вообще смотрел как оно работает?
Если я не прав ну принеси правильную тогда, потому что по тому что я вижу ты можешь просто взять альфу такую чтобы она правильно поделилась на r без корня и всё.
Аноним 18/04/25 Птн 08:04:42 1161856 181
>>1161850
> Причем тут это если по формуле твоя рслора просто масштабирует альфу и больше ничего не делает?
Она корень из дименшена считает. Альфа это костыль вообще придуманный как дампнер в лорах чтобы громкость влияния регулировать. Ты буквально предлагаешь громкость выше 100 процентов ставить когда у тебя и так качество обучения от количества параметров для лоу ранк матриц упало.
> Ты формулу вообще смотрел как оно работает?
Корень из дименшена.
>И глобально, а значит можно саму альфу взять другой и никакое лишнее говно не ставить.
> Если я не прав ну принеси правильную тогда, потому что по тому что я вижу ты можешь просто взять альфу такую чтобы она правильно поделилась на r без корня и всё.
Ну ты не понимаешь просто базовых вещей. Вот допустим ты берешь 100 дименшен, локон и прочие не умеет эффективно работать с таким. Дальше что? Поставишь 100 по альфе что эквивалент полной громкости лоры? А оно не улучшит ограничения лоу ранк матриц. Плюс зависимость громкости будет нелинейная т.к. чем выше дименшен тем больше супрессия альфа. А с рс у тебя алгоритм будет работать с корнем сотки, но с количеством папаметров сотони дименшена и для полной громкости потребуется выставить 10 альфу.
Аноним 18/04/25 Птн 08:50:45 1161874 182
082431.png 12Кб, 865x276
865x276
>>1161856
>Она корень из дименшена считает.
Ну да, я же писал что делится на r - ранг /корень из него же.
В ссылке и статье пишут конкретно делится на корень ранга https://ar5iv.labs.arxiv.org/html/2312.03732
Плюс пикрил буквально пишут то же что я говорю.

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


Я как бы подумал что ты под дименшеном может быть имеешь ввиду не ранг лоры а ее внешний размер? Тогда это имело бы смысл.
Но вроде ты дименшеном называешь ранг, так что не понимаю все еще с чем нахуй ты споришь и что пытаешься доказать.
На мой вопрос ты не ответил, что по формуле выходит что можно просто альфу поднять. Как бы школьная математика начальных классов...
Аноним 18/04/25 Птн 09:08:16 1161889 183
>>1161874
> Альфа это фактически масштаб весов при инициализации и тот же вес при интересе, не более, просто множитель весов.
Альфа формально множитель, а фактически константный дельта супрессор.
> Но вроде ты дименшеном называешь ранг, так что не понимаю все еще с чем нахуй ты споришь и что пытаешься доказать.
Эээ слыш, это ты мне написал и начал гнать на нормализатор дименшена и пассивно агрессировать накидывая по кругу один и тот же вопрос полностью игнорируя механические нюансы. Мне совершенно все равно как ты тренируешь, для меня плюсы рс очевидны и не мои проблемы что у тебя в уме поднятие альфы позволяет заменить корень, что в реальности факап.
> На мой вопрос ты не ответил, что по формуле выходит что можно просто альфу поднять. Как бы школьная математика начальных классов...
Нельзя поднять, если тебе нужна адаптация, а не форсирование генерирования датасетов, и то там поломается все если с те тренировать.
> Я как бы подумал что ты под дименшеном может быть имеешь ввиду не ранг лоры а ее внешний размер? Тогда это имело бы смысл.
Дименшен это и есть ранк, от ранка зависит количество параметров и следовательно вес. Нельзя работать с большим количеством параметров в лорах не выставив высокий ранк, а лоры без учета исключений не приспособлены к конским величинам ранка, вот и вся проблема. Не доебывай меня хуйней с поднятием альфы.
Аноним 18/04/25 Птн 20:13:05 1162897 184
>>1161889
>это ты мне написал и начал гнать на нормализатор дименшена
Нет, я писал сразу:

1) Можно ли просто править альфу глобально? первым >>1160206 и вторым постом >>1160948
2) Далее и после что исходная формула делит a на r, когда рслора - a на корень из r >>1161539
Мое утверждение, которое я попросил доказательно опровергнуть, - что использование абстрактной рслоры математически эквивалентно правке альфы в соответствии с формулой, если r константно для всех слоев.

Ты же написал:
>Как ты собираешься вручную корректировать фундаментальную проблему?
И эту хуйню
>Ну ты не понимаешь просто базовых вещей. Вот допустим ты берешь 100 дименшен, локон и прочие не умеет эффективно работать с таким. Дальше что? Поставишь 100 по альфе что эквивалент полной громкости лоры? А оно не улучшит ограничения лоу ранк матриц. Плюс зависимость громкости будет нелинейная т.к. чем выше дименшен тем больше супрессия альфа. А с рс у тебя алгоритм будет работать с корнем сотки, но с количеством папаметров сотони дименшена и для полной громкости потребуется выставить 10 альфу.
Вероятно подразумевая, что мои предположения в корне неверны.
При этом ты не привел доказательств, которые я просил.

Тем временем мой вывод подтверждает исходная ссылка из поста на метод
https://huggingface.co/blog/damjan-k/rslora
Где буквально пишут
> Of course, for those in the know about this work, one can just substitute the scaling factor in LoRA by substituting the hyperparameter α
α for each adapter appropriately with α′α ′set as:
А также в обсуждениях https://github.com/kohya-ss/sd-scripts/pull/1870
Задаются тем же вопросом и отвечают что это так.
Далее коммиты с рслорой https://github.com/KohakuBlueleaf/LyCORIS/pull/172
Там же пишут что код может быть не в каждом алгоритме активен и поэтому лучше было бы, чтобы ничего не напуталось, "наверху" конфигов править альфу под формулу и передавать ее дальше.

Сам код:
- self.scale = alpha / self.lora_dim

+ r_factor = lora_dim
+ if self.rs_lora:
+ r_factor = math.sqrt(r_factor)
+
+ self.scale = alpha / r_factor

Где lora_dim=4, то есть константно.


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

Я же сразу имел ввиду, что если бы вся эта хуйня применялась бы когда в модели есть лоры разных рангов, либо если расчет идет от относительных размеров, условно, (вход*выход) / ранг, то вот тогда имеет смысл добавлять такое в код.
Больше скажу, у тебя в модели все матрички разных размеров, в тэ, в юнете, в самих слоях они разные.

Вот даже анализ от нейронки:
1280 × 1280(само‑внимание TE‑2 + большие блоки UNet)
≈ 250‑300 адаптеров (~30 % от всех)

640 × 640(«малые» блоки UNet)
≈ 150‑180 адаптеров (~20 %)

768 × 768(само‑внимание TE‑1)
48 адаптеров (~6‑7 %)

1280 × 2048(кросс‑внимание больших блоков UNet)
≈ 60‑70 адаптеров (~8 %)

640 × 2048(кросс‑внимание малых блоков UNet)
≈ 50‑60 адаптеров (~6 %)

1280 × 5120(сужающая проекция FF‑сетей TE‑2 и UNet)
≈ 40‑50 адаптеров (~5 %)

640 × 5120(сужающая проекция FF‑сетей в малых блоках UNet)
≈ 20‑25 адаптеров (~3 %)

1280 × 10240(расширяющая проекция FF‑сетей в больших блоках UNet)
≈ 30‑40 адаптеров (~3‑4 %)

768 × 3072 и 3072 × 768(MLP TE‑1)
по 12 адаптеров каждого вида (~1‑2 % на каждый)

1280 × 5120 и 5120 × 1280 (MLP TE‑2) – уже учтены выше, суммарно около 64 адаптеров.

При этом ранг у них будет один. Так что если считать относительно внешних размеров, можно получить идеальные нормы градиентов еще и по каждому слою отдельно, а не в целом. У тебя тут половина матриц в 2 раза по размеру отличаются, в 4 по площади.


Какой вывод из этого всего? - Мое общение с нейронкой примерно в 10 раз продуктивнее чем с местными лоботомитами. Хотя куда у там, скорее во все 100.


П.С. Один маленький факт о котором я подумал в самый последний момент - если ты включаешь рслору, фактическая альфа при тренировке меняется, но в файл будет записана заданная конфигом. И при последующем использовании лоры этот факт никак не учитывается. То есть твоя лора по итогу будет тише. Наверное... Но опять же это просто масштаб множителя веса.
Аноним 18/04/25 Птн 22:01:01 1163193 185
>>1163139
>Нет.
Охуенно, значит на доске уже двое таких ебанутых.
>я щитаю так потому что хуй знает почему
Может быть потому что ты читать не умеешь шизохуйло обосравшиеся?
В последнем посте расписаны все пруфы но ты решил их проигнорировать и просто слиться. Начал искать как-то анимешников которые тебя проткнули.
Причем в первом моем посте тоже всё написано понятно, а во втором ты сам начал срать вообще не относящиеся к теме хуйней.

Давай, без виляния жопой тогда ответь, ты типа по итогу дискуссии считаешь что включение рслоры НЕ математически эквивалентно ручной правке альфы?
Это не /b/, с тобой блядь нормально разговаривали пока ты не начал хуйню нести.
Аноним 18/04/25 Птн 22:34:25 1163247 186
>>1163193
>Охуенно, значит на доске уже двое таких ебанутых.
Аниме, если тебя все вокруг ебут, то проблема в тебе.
>В последнем посте расписаны все пруфы
Я не буду вчитываться и тратить время на вдумчивый ответ, потому что я уже вижу что там контексты теряются и притягивание за уши.
> Начал искать как-то анимешников которые тебя проткнули.
Докажи что не анимеприпиздок тренирующий референсогенераторы вместо трушной адаптации.
>а во втором ты сам начал срать вообще не относящиеся к теме хуйней.
Если тебе непонятна взаимосвязь, то не мои проблемы.
> ты типа по итогу дискуссии считаешь что включение рслоры НЕ математически эквивалентно ручной правке альфы?
Конечно нет. И это проверяется буквально двумя короткими тренингами.
Аноним 18/04/25 Птн 23:07:23 1163365 187
>>1163247
>Аниме
Чини детектор протыков, я же сказал.

>Если тебе непонятна взаимосвязь, то не мои проблемы.
Ну шизы любят связывать вещи между которыми связи нет, это база.

>Конечно нет. И это проверяется буквально двумя короткими тренингами.

Нет, это БУКВАЛЬНО проверяется глядя глазками на код, если мы говорим об этом коде.

- self.scale = alpha / self.lora_dim

+ r_factor = lora_dim
+ if self.rs_lora:
+ r_factor = math.sqrt(r_factor)
+
+ self.scale = alpha / r_factor

Это весь код.

Видишь вот эту штуку / ? Это называется деление.
Если чиселка справа уменьшается, то результат увеличивается, а если слева увеличивается, то результат тоже увеличивается, прикинь, да?

А почему результат на практике может быть различным, я написал в конце поста, и если не вилять жопой и не игнорировать пруфы, либо немножко подумать, то можно догадаться что при включении рслоры ты меняешь фактическую альфу, но в тензор (.safetensors) записываешь значение из конфига, и при инференсе модели эта поправка не учитывается.
Аноним 19/04/25 Суб 03:36:28 1163753 188
1619718540976.png 113Кб, 1272x852
1272x852
>>1155665
Нужен разнообразный набор картинок с этим объектом и текстовые описания к ним, в остальном все стандартно. Если просто повторяет картинку - датасет оче плох, или оче неудачные гиперпараметры.
>>1156270
Картинки одного промта или разных? В автоматике на вкладке img2img есть раздел batch process, собери пикчи в одну папку и укажи ее там. Можно задать единый промт для всех, можно поставить галочки чтобы оно дергало нужное из pnginfo.
>>1158917
В целом, все именно так, я тоже ахуел с той простыни что тот чел набросал. Может там и по делу, но для первого результата хватит и простой лоры по любому из гайдов, а дальше уже оптимизации, не всегда окупающиеся. Скорее всего у тебя относительно примитивная проблема и не нужно глубоко нырять.

Что опять за тряска и почему >>1162918 >>1163027 >>1163139 и далее еще не обоссан или не в бане за щитпост?
>>1163193
А ты зря тратишь время на биомусор , хотя полотно про альфу ничетак, почитал, если
> но в файл будет записана заданная конфигом
Вот это реально так то просто ор выше гор.
>>1163597
> В треде то кроме шиза и ньюфагов хоть кто-то есть?
Обсуждать особо нечего и альтернативно одаренные, сильной верой в себя и в свои чувства, создают плохую атмосферу.
Аноним 19/04/25 Суб 03:47:01 1163758 189
>>1158917
> для тренировки тоже надо брать модель с реализмом
Для начала, трень на той модели, на которой собираешься юзать. Если это какой-то мердж или вася-микс - можно поискать модель на которой он основан и тренить на ней, часто результат получается лучше. В остальном тебе верно сказали.
>>1158953
> ничего не подкидывать в конфиг кроме дименшена, оптимайзера с максимально сглаженными бетами и дефолтного l2, ток это надо понижать скорость сильно и ждать не условные пару часов, а пару дней
Пару дней на простую лору? А сколько всего навалил, это же неофит, ему самое простое и основное нужно, а не перечень всего что есть. Если там 2.5 картинки без описаний в датасете, то как не пляши, это не сделает лучше сделает, но нужна другая пляска.
> С клипскипом 2
Клипскип - мем эпохи полторашки, про него давно нужно забыть. Если выбрана sdxl то значение 2 в интерфейсах игнорируется, специально сделали.
Аноним 19/04/25 Суб 03:52:54 1163762 190
>>1163753
>Вот это реально так то просто ор выше гор.
Я ща понял что не ту репу смотрел, в актуальной нашел фикс этого https://github.com/KohakuBlueleaf/LyCORIS/commit/170554c09b03fc32f38ec247436f73093eda34a0
- self.register_buffer("alpha", torch.tensor(alpha)) # 定数として扱える
+ self.register_buffer("alpha", torch.tensor(alpha * (lora_dim/r_factor)))
Вот так оно сохраняется со скейлом, по идее.
Аноним 19/04/25 Суб 04:07:19 1163768 191
>>1163365
> но в тензор (.safetensors) записываешь значение из конфига, и при инференсе модели эта поправка не учитывается
Мимо, нету разницы что ты записываешь в мету лоры, хоть удали её полностью, она будет работать так же, важен только скейл весов во время тренировки
Аноним 19/04/25 Суб 04:16:18 1163769 192
040854.png 21Кб, 1388x335
1388x335
>>1163768
Не, конкретно альфа это единственный параметр помимо весов, который пишется непосредственно в тензоры. Он еще и для каждого адаптера отдельным полем продублирован, можешь веса слоев прямо в файле настраивать, по идее, если вдруг оно там дальше не импортируется как-то криво. Надо проверить, а то вдруг там поле берется для всех, в твоем интерфейсе который грузит лору.
Аноним 19/04/25 Суб 04:35:32 1163776 193
pycharm64wZVJAi[...].png 28Кб, 1237x160
1237x160
>>1163769
Да, действительно есть, интересно реагируют ли на смену вообще бэки разные, кумфи там или рефордж из самых продвинутых на фичи
Аноним 19/04/25 Суб 05:28:58 1163809 194
>>1163776
А чем смотришь? Я только safetensors viewer для вскод с моего пикрила знаю, в нем только лист тензоров показывает. И еще есть https://netron.app/, там из полезного крайние значения, среднее, и т.п.
Аноним 19/04/25 Суб 06:14:37 1163830 195
Аноним 20/04/25 Вск 04:38:08 1165430 196
Почему kohya такой медленный? На 3090 и 128 лоре, только юнет, оптимизатор адам, получаю 1,2 итерации в сек.
Адам 8 бит - дает чуть больше секунды на итерацию.
Ставлю адафактор, вообще падает до 1,6 секунды на итерацию. Какого хуя? Это же легкий оптимайзер, хули оно тормозить начинает?
Смотрю по статье https://www.pugetsystems.com/labs/articles/stable-diffusion-lora-training-consumer-gpu-analysis/ там у них результат намного лучше, но они на прыщах тестят, а у меня винда.

Попробовал onetrainer, настройки примерно те же, лучший результат 1,4 итерации на адаме, 1,5 сгд.
Но переключение на адафактор тоже вызывает затыки и скорость падает до примерно тех же 1,6 секунд на итерацию.
Может словил шизу, но кажется один запуск на адафакторе таки пошел на нормальной скорости.

Тестирую все на примерно одном конфиге, ничего другого не меняя.
Конфиг такой https://pastebin.com/0sdAUR9r

В общем с дефолтным адамом видюха почти полностью нагружается, а все остальное как-то не так работает.
Хваленый тут prodigyplus.ProdigyPlusScheduleFree вообще 1,9 сек/ит дает.
Аноним 20/04/25 Вск 10:17:31 1165567 197
>>1165430
А что ты хотел? Нормальная скорость для 3090.
Аноним 20/04/25 Вск 12:04:08 1165682 198
>>1165430
мне б такую скорость
Аноним 20/04/25 Вск 14:18:39 1165820 199
Господа, блиц-вопрос!

Тут можно спросить о ComfyUI?
Что за --fast режим и что за --fp16-accumulation?
Прирост на 15% вижу по скорости, но не портит ли это картинку?
Аноним 20/04/25 Вск 17:22:39 1166295 200
>>1165567
Мала, 0,2 секунды в кохье кто-то спиздил.
Да и то что легкие по памяти оптимайзеры работают в ДВА а то и все три раза медленнее, это типа норма или где-то у меня проблема?
Аноним 20/04/25 Вск 17:38:29 1166347 201
>>1166295
> 0,2 секунды в кохье кто-то спиздил
Так там 146% было разрешение 512 и ранг не выше 32. Либо трень нормально с такой скоростью, либо шакаль до усрачки.
Аноним 20/04/25 Вск 17:46:09 1166367 202
>>1165820
> Что за --fast режим
Юзать аккум и фп8, если модель и торч соответствуют, не вместе естественно, аккум для хл, фп8 для чего то по типу флюкса
> Прирост на 15% вижу по скорости, но не портит ли это картинку?
Вроде больше должно быть, самая безобидная из бустилок, в теории должна, на практике просто будто сид чуть сдвинул, так что похуй и можно юзать постоянно
Аноним 20/04/25 Вск 17:53:39 1166382 203
>>1166347
>было разрешение 512 и ранг не выше 32
На одном конфиге проверяю с 1024 и 128 рангом.
Аноним 21/04/25 Пнд 00:59:14 1166872 204
Аноним 21/04/25 Пнд 21:29:50 1168552 205
А есть нормальные 4бит оптимы которые без ультрапердолинга работают с коей?
Аноним 22/04/25 Втр 23:18:03 1170716 206
Аноны, хуй поймёшь у вас с чего начать. Я пришёл с llm тредов, локальных и обычных. Linux, код и прочий пердолинг мне знаком. С SD дело имел в последний раз несколько лет назад, тогда всего было меньше и модели хуже. По вашей шапке тяжело понять с чего начать, чтобы нормально разобраться во всём этом. Я долблюсь в глаза? Общее представление, как устроены диффузионки я имею, но где у вас почитать всю теории последовательно? Всё как-то разбросано, хуй поёмешь тем кто только вкатывается, даже если технические вещи его не пугают.
Аноним 23/04/25 Срд 01:35:10 1170892 207
>>1170716
Ну шапка сборная солянка из актуального и не актуального, можешь все почитать хуже не будет.
Общего гайда по всем вопросам не существует, надо собирать по крупицам в инторнете и гопоте, если вопросы появляются.

А что ты хочешь-то? Какая цель?

Если прямо упрощать вкат в тренинг кала
1. Качаешь сдскрипты, прикидываешь с чем твоя карта справится, изучаешь аргументы для скриптов под тот метод тренировки что выбираешь (полные параметры, лоры); если выбраны лоры то изучаешь ликорисовскую библу с алгоритмами расширенными
2. Изучаешь виды оптимайзеров (неадаптивные, адаптивные, шедулерфри), понимаешь что их дохера разных и все они дают разные результы и времязатраты, изучаешь как их настраивать, их аргументы, базовые щедулеры, кастомные шедулеры
3. Изучаешь как готовить датасет, ставишь весь софт и сопутствующие нейрокалы для тегирования согласно тому с какой моделью будешь работать и какая задача, изучаешь как работать с тензорбордой чтобы отслеживать тренинг процесс
4. Делаешь свой первый конфег, запускаешь, дико орешь что натренилось говно, повторить x100 до победного

Ссылками закидывать не буду, хотя могу если надо, будет тебе чето уровня "вся теория последовательно".
Аноним 24/04/25 Чтв 02:14:28 1172385 208
>>1170716
>где у вас почитать всю теории последовательно? Всё как-то разбросано, хуй поёмешь
Посидев в треде несколько месяцев, начинаешь догадываться, что предположение о том что здесь кто-то имеет понимание - весьма притянуто за уши, а скорее всего изначально неверно.

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

Вся инфа разбросана по тредам.
Хороших конфигов я не видел, каких-нибудь сложных датасетов, на которых можно ставить эксперименты - никто не выложил.
Попытки делать подборщики параметров - чет было, но как-то слабо.
Код особо никто не разбирал, кроме мелких вещей. (Протухшие обертки для запуска скриптов кодом не считаем).

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

Людей которые бы пытались мл учить и разбираться в физике процесса я тут тоже чет не заметил.

Это если тебя обучение моделек интересует. С генерацией там единственное в чем надо разбираться, это пердолинг в комфи и иметь некоторый опыт, который набирается довольно быстро.
И да, ты не сказал, а чего ты хочешь то?
Аноним 24/04/25 Чтв 03:43:41 1172426 209
>>1170716
Кроме написанного на популярных ресурсах общего, так сходу не найдешь. Только курсы и лекции, где заходят очень-очень издалека. Познают все в основном из практики, желая достигнуть чего-то конкретного, а уже только потом начинают разбираться, далеко не всегда погружаясь, а просто набирая эмпирический опыт.
Ты что вообще хочешь?
>>1172385
В целом здесь есть более менее шарящие люди, но их мало. Тут основное общение происходит или когда кто-то задасет конкретный вопрос, остальное в дискордах, личных переписках и подобном. Причины для этого разные.
Так что если у тебя есть что-то конкретное то пиши не стесняйся.
> Код особо никто не разбирал, кроме мелких вещей.
Правки, фиксы, улучшения и всякие вещи коммитятся, их делают по мере надобности себе. Или просто делают свой форк со специфичными изменениями. Что там разбирать то, уже 100 раз обсосали.
> Происходящее внутри сети никто не анализировал.
А вот это ты лихо дал, странная абстракция, и вокруг этого здесь все срачи и происходят.
На самом деле все "тренера" как раз примерно это и пытаются анализировать пусть иногда косвенно/субъективно, вырабатывая для себя закономерности и трюки для лучшего результата. Учитывая что файнтюнами, где можно разгуляться, тут занимается 1.5 человека, а большинство пилящегося - лоры на что-то оче оче узкое, даже не мультиконцепт, это получается вообще отдельный раздел, где многое просто не может проявиться, или будет перебито каким-то другим фактором. Например, как в прошлых тредах обсуждали разные таймстеп шедулеры. Для мелколоры об этом никто не думает, но если попробовать делать что-то крупнее для sdxl vpred моделей и ставить целью сохранить возможности - становится важным.
> как там внутри градиенты распределяются никого не ебет
Было бы интересно узнать про полезность этой информации, исключая крайние точки когда они не начинают исчезать, или наоборот улетают в космос.
> Людей которые бы пытались мл учить
Пожалуйста, в универ. Пока отучишься несколько поколений нейронок и прочего сменятся. Если повезло иметь какие-то знания к началу этого то очень хорошо, но они далеко не всегда приближают к результату. Здесь даже четко сформировавшейся научной школы нет, буквально первый край, где обсираются самые лидеры, сливая кучу денег, ресурсов, человекочасов на треш типа жпт4.5.
Можно вообще заявить что dataset is all you need, а с остальным справится adamw и дефолтные параметры. И действительно, при правильном формировании, аугментации, порядке для контрастного обучения и прочем, это даст результат гораздо лучше, чем шедьюл-фри турбо-гига-мега-пролежни с примитивным датасетом.
Аноним 24/04/25 Чтв 14:18:43 1172894 210
Кохак добавил lora+ в ликорис (в кое давно завезено).
Кратко, лораплюс это допкоеф для соотношения обновлений между A и B матрицами адаптеров, практика показывает что одинаковая скорость обучения для обоих блоков неэффективна.
Можно отдельные коэффициенты для TE и юнета юзать, можно общий на всё.
Ознакомиться с папирой кому интересно https://arxiv.org/pdf/2402.12354
Аноним 24/04/25 Чтв 18:09:16 1173407 211
>>1172894
Нам такое явно не нужно. Б-матрица - это нули, т.е. множители для весов основной матрицы. Больше ставим lr для Б-матрицы - больше эффект от лоры. Смысла в этом нет в контексте SD. Авторы аж на 20 хуячат лоры для LLM, но в SD уже на 4 пизда как перетрен идёт.
Аноним 24/04/25 Чтв 19:08:26 1173527 212
image.png 65Кб, 1381x646
1381x646
>>1173407
>Нам такое явно не нужно.
Нужно, работает отлично, рокербу из репо кои уже год с лораплюсом гоняет, я где-то с декабря. Прогнал сегодня с глорой пяток тестов с разбегом от 4 до 128, эффект шикарный.
> Б-матрица - это нули, т.е. множители для весов основной матрицы.
Щито? B матрица преобразует данные обратно в исходное пространство признаков после сжатия через A.
>Больше ставим lr для Б-матрицы - больше эффект от лоры.
Не, там сила эффекта лоры не меняется.
Аноним 24/04/25 Чтв 20:20:18 1173675 213
>>1173527
В лорах А-матрица инициализируется рандомным шумом, а Б - нулями. Именно поэтому у тебя начальная лора делает ничего, потому что А-матрица на нули умножается. Делаешь выше lr для Б-матрицы - получаешь более быстрое отклонение от 0. Собственно лора+ даёт эффект очень похожий на альфу.
Аноним 24/04/25 Чтв 20:43:53 1173734 214
>>1173675
Ну это инициализацию ты имеешь в виду, а у разных алго она разная.

А так суть лоры+ немного в другом:

Исследователи обнаружили, что первоначальный подход LoRA не так хорошо работает для моделей с большой «шириной» (т.е. большими размерами вложения). Это связано с тем, что LoRA обновляет две матрицы адаптеров, A и B, с одинаковой скоростью обучения во время тонкой настройки.

С помощью математического анализа авторы показывают, что использование одинаковой скорости обучения для A и B не позволяет модели эффективно обучаться признакам в сетях большой ширины.

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

Чтобы устранить эту неоптимальность, авторы предлагают простую модификацию под названием LoRA+, которая использует различные скорости обучения для матриц адаптеров A и B с хорошо подобранным соотношением. Это позволяет модели более эффективно изучать признаки во время тонкой настройки.
Аноним 24/04/25 Чтв 20:50:41 1173756 215
>>1173734
Чел, ты сам читаешь что кидаешь? Тебе чётко написано что просто lr разный делают у А и Б матриц. У них классическая лора, с нулями в Б-матрице, в их коде они просто домножают lr у неё на коэффициент. В peft давным давно одной строчкой кода такое делали.
Аноним 24/04/25 Чтв 20:53:41 1173767 216
>>1173756
>Тебе чётко написано что просто lr разный делают у А и Б матриц.
Так я и говорил изначально.
>У них классическая лора, с нулями в Б-матрице
Да какая разница, это другая мысоль
>В peft давным давно одной строчкой кода такое делали.
Круто, но в ликорис ток щас добавили
Аноним 24/04/25 Чтв 21:27:42 1173871 217
>>1172426
Ну например, я хочу получить ответ на вопрос - почему понь хорошо стабилизируется лорами? Должна же быть какая-то физика этого процесса.

Вот для клипскипа я объяснение нашел, в чем была причина, а была она в том что из за низкой точности проебалось обучение нормализации в последнем слое клипа. (Это еще к тому нахуя смотреть на градиенты внутри, если бы смотрели, это отлавливается с одного взгляда на графики. Ну ток их еще надо накодить чтобы собирались нужные метрики...) И отрезать портящий масштаб вложений слой оказалось лучше чем с ним. Не думаю даже, что это было сознательно сделано, ибо сознательно там скорее ручками можно было поправить и ничего не резать.
Вот так непонятное шаманство было полностью объяснено. И таких вещей еще дохуя можно найти.

>>1172894
Рекомендуют для B ставить в 16 раз больше скорость.
А я вам скажу что там еще и беты должны быть сильно другие скорее всего.
Да и соотношение наверное должно определяться не константой, а зависеть от размеров матричек, как я уже предполагал в дискуссии выше...

>>1173407
В любом случае тут дело в соотношении, чтобы матрицы учились одинаково, и общий лр ты подбираешь отдельно всегда. Да и сам лр как бы не обязан всю матрицу в плюс тянуть, так что скорее всего это бред. Первая матрица это тоже множитель вообще то. А от перестановки множителей результат не меняется. Ну в матрицах это не так, но касательно амплитуд воздействия примерно так.
Аноним 24/04/25 Чтв 21:38:51 1173919 218
>>1173871
> тут дело в соотношении
Только вот это применимо только к трансформерам, где блоки имеют одинаковый размер. В UNET все слои разного размера, от соотношений смысла мало, оно изначально очень неравномерно тренится.
Аноним 24/04/25 Чтв 22:17:59 1174041 219
>>1173871
>почему понь хорошо стабилизируется лорами?
Эффект дистилляции.
Аноним 25/04/25 Птн 01:15:31 1174471 220
>>1173871
> почему понь хорошо стабилизируется лорами
Потому что в базе понь - отрыжка лошади, нужно буквально над сервером стоять и крутить хуем как Пистолетов, постукивая им по A100, чтобы такое получилось.
Там "хорошо" все, от треша из очень разнородного датасета, проходя через кривые капшны к картинкам, заканчивая плохими гиперпараметрами и проблемами с планировщиком шума, из-за чего оно все желто-коричневое.
Для понимания уровня модели - там по дефолту малый клип почти не работает, можно его вообще ампутировать или брать стейты с первого слоя - все равно какая-то картинка будет получаться.
Всякие стилелоры и подобное сами по себе сужают выход и подстраивают его под определенную форму. В пони это тоже срабатывает, но из-за того, насколько оно страшное в базе, эффект наиболее нагляден.

> а была она в том что из за низкой точности проебалось обучение нормализации в последнем слое клипа
По неподтвержденной инфе они это открыли, когда пытались оформить претрейн полного клипа. По дефолту с adamw и без постепенной разморозки он даже в fp32 норовит умереть, спасает плавная разморозка и тонкая подстройка гиперпараметров, или другие оптимайзеры.
Врядли они с этим сильно разбирались, а просто сделали такое решение, которое вполне работает. Это уже потом стало ясно что те в составе sd без проблем тренится даже в режиме со смешанной точностью.
> Не думаю даже, что это было сознательно сделано
Смотря на новелов, относительный успех 1й модели, провал второй, вымученная 3я с затратами компьюта больше чем на оригинальную sdxl, противоречивая 4я - ну хуй знает насколько там светила собрались. К тому же когда задача - сделать, а не исследовать, вполне нормально выбирать какие-то рабочие решения.
Аноним 25/04/25 Птн 03:07:28 1174546 221
image.png 8Кб, 609x77
609x77
блять ну наканецта еб твою мать урааааааааа
Аноним 25/04/25 Птн 03:07:52 1174547 222
>>1174546
обнова комфе есличе
Аноним 26/04/25 Суб 10:40:26 1176288 223
>>1173871
> Вот для клипскипа я объяснение нашел, в чем была причина, а была она в том что из за низкой точности проебалось обучение нормализации в последнем слое клипа
Но они его даже не тренили, выложенный чекпоинт с барского плеча от них, около года назад, не содержит ничего кроме их юнета и вае, которое они тоже тренили и обосрались с нанами https://huggingface.co/NovelAI/nai-anime-v1-full/tree/main
Аноним 26/04/25 Суб 22:11:47 1177666 224
А есть какая-нибудь мелкая пиздатая диффузионка, любая в принципе, которую реально с нуля обучать?
Можно конечно попытаться взять спидран nano-gpt и переделать его в диффузию, но кажется я немного охуею этим заниматься.
Или стоит взять удачную по архитектуре и эффективности готовую диффузионку со всем кодом, и заскейлить ее раз в 100-10?
Аноним 27/04/25 Вск 00:32:57 1177983 225
>>1177666
SD 1.5 на домашних машинах тюнили. И на единственной A100 тоже.
Технически наверно можно и с нуля обучить, просто очень долго будет.
И непонятно, зачем и кому это надо. Лучше чем есть вряд ли получится, а для большинства прикладных задач файнтюн все-таки дешевле, да и удобнее.
Аноним 27/04/25 Вск 02:34:06 1178081 226
>>1177983
Мне не для картинок модель нужна.
Вопрос наверное так правильнее задать: есть ли какая-нибудь крутая любая диффузионная модель, чтоб там оптимизированная архитектура, всякая такая хуйня типа MoE и был код для обучения? Может что-то вышло интересное для звука там, что стоит заценить, либо эффективные vae тоже интересны.
Ее в любом случае придется переделывать под задачу, обучать с нуля, и даже обучать свой vae с нуля.
Задача довольно сложная, и вероятно не получится взять совсем маленькую модель и попробовать. Не заведется. Примерно похожую задачу решали на примерно 0.5б диффузионке. Время на тренировку порядка недели-двух на нескольких условных 3090. Только самой модели нет и кода, так что подробности неизвестны. И это все без тестов, чисто время если ты все правильно настроил, 1 запуск фулл тренировки. Под мою задачу надо рассчитывать еще и х10-х1000 сверху, может потребоваться много проходов (а-ля RL или нагенерить синтетики).
В принципе даже материалы по vae для диффузионок больше интересны, ибо диффузию то понятно как учить, а про vae я ничего не знаю, как их вообще учат и где посмотреть пайплайн от которого можно отталкиваться.
Аноним 29/04/25 Втр 20:07:04 1182873 227
Я много раз топил за маски лосса (и всем похуй), но что если вы хотите закрыть маской 90% картинки, или вообще 99%?
Есть подозрение, что когда лосс настолько порезан, то обучение будет идти плохо, и его качество будет намного ниже.
В модели слои работают с разными уровнями семантики, и есть большая вероятность, что на самом деле мы хотели бы перекрыть маской доступ к информации для отдельных слоев, а не всей модели. Либо же для отдельных блоков и токенов. А остальные слои пускай продолжают учиться базовому денойзу.
Есть метод, который позволяет пустить поток градиентов от любой ограниченной области изображения в любой отдельный слой, либо только в юнет/тэ, либо вообще загнать в отдельный токен, по пути назначая пропорции для каждого слоя, на которые выделенная область будет влиять (имеется ввиду, что можно использовать маску не как маску, а как разметку для сложных новых токенов/эмбеддингов, чтобы только в них загонялась инфа от маски).
Этот метод требует дополнительного шага вычисления градиента (в обратном проходе) для каждой отдельной области маски. (1 маска = +1 шаг, 2 = +2). Это при условии, что влияние маски проходит сквозь модель. Например если маска затрагивает только последние слои, либо доходит до середины, а потом градиент либо сливается, либо остается только основной поток, то можно сэкономить на вычислениях.
Если мы используем fused backward pass, то накладных расходов по памяти практически не возникает. Иначе - фактически генерируется удвоенный/утроенный... объем градиентов, то есть затраты примерно половинка от увеличения батча, так как активации у нас те же самые.

Ну и конечно же готовой реализации этого алгоритма нет, и вам придется сделать ее самостоятельно))
Выглядеть это будет как батч, только используются одни активации, вычисление градиента для первого элемента батча - лосс вокруг маски, для второго сама маска... Вычислили градиенты - и суммируем их с установленным коэффициентом для каждого слоя. Дальше обычный шаг обновления весов.
Вроде ничего особенного.
Аноним 02/05/25 Птн 00:53:38 1186036 228
Не догоняю как через LambdaLR ебануть кастом формулу шедулера. Знает кто?
Аноним 02/05/25 Птн 01:15:12 1186062 229
image.png 502Кб, 800x800
800x800
image.png 140Кб, 800x800
800x800
Выложили тест под фиру кстати.
Аноним 02/05/25 Птн 01:33:33 1186070 230
>>1186062
Эти картинки имеют нулевое отношение к реальным нейросетям.
Аноним 02/05/25 Птн 01:40:35 1186076 231
>>1186070
Че ето? Синтетика показывает прямой эффект оптимайзера, а не применение исходя из твоего говеного датасета на батче 1.
Аноним 02/05/25 Птн 03:09:56 1186131 232
>>1186076
Реальный ландшафт сети на выпуклые функции не похож и на пик 1 тоже, он намного сложнее. Более того, он постоянно меняется.
Я не знаю, вводят ли в твоих пиках стохастику искусственно, но даже если вводят, это все равно не то. Надеюсь ты понимаешь чем отличается стохастический градиентный спуск от не стохастического, и что второй не лучше первого. Точнее, что есть некий трейд-офф между ними, и что он сильно склоняется в сторону первого даже если мы не берем в расчет вычислительную стоимость.
Аноним 02/05/25 Птн 13:26:40 1186426 233
>>1186131
Покажи свой гитхаб на предмет контрибов и модели.
Аноним 02/05/25 Птн 22:48:07 1187061 234
>>1186426
Ага, щас. Потрать хотя бы недельку чтобы актуальную базу по МЛ изучить, прежде чем такие предъявы кидать.
Аноним 02/05/25 Птн 22:49:41 1187064 235
Аноним 02/05/25 Птн 23:42:46 1187099 236
>>1187064
С тобой тоже, продолжай учить МЛ по книжкам 10-летней давности.
Аноним 03/05/25 Суб 03:01:44 1187273 237
>>1187099
Не закапывай себя сильно глубоко.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов