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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 326 71 119
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
Не закапывай себя сильно глубоко.
Аноним 03/05/25 Суб 03:44:41 1187291 238
>>1182873
> Есть подозрение, что когда лосс настолько порезан, то обучение будет идти плохо, и его качество будет намного ниже.
Скорее всего, ведь при генерации внимание охватывает всю пикчу, а ты даешь разницу с относительно малой области. Еще более вероятно что это приведет к тому, что появится оче жесткий байс на объекты где-то в центре, или там где будет маскированная область, а в остальной будет ерунда.
> слои работают с разными уровнями семантики
Вот это в целом довольно специфичная тема, ведь там нет целенаправленного деления. Только некоторые условные наблюдения от влияния возмущений отдельного слоя на конечную картинку, при том что все равно задействованы все слои. Но сам подход может быть интересный.
> Этот метод требует дополнительного шага вычисления градиента (в обратном проходе) для каждой отдельной области маски.
Ага, вся проблема в том, что на каждую из вариаций придется делать дополнительный обратный ход до слоя, к которому применяется маска, при этом задействованы будут только градиенты этого слоя, а остальные не требуют расчета. Такой финт потребует смены работы оптимайзера и в торч лезть.
> а как разметку для сложных новых токенов/эмбеддингов, чтобы только в них загонялась инфа от маски
Вот тут вообще ничего не понятно. Почему бы просто не ввести дополнительный входной канал и слои для масок и гнать туда эти самые маски, а также специальным образом размечать кондишны для соответствия им?
> вам придется сделать ее самостоятельно
Выглядит крайне сложно и не понятно окупятся ли затраты, или вообще не вылезут ли странные побочки. Точнее понятно что наоборот все плохо. Увы.
>>1186131
В целом, оценка работы на подобной функции вполне может считаться критерием при относительном сравнении. Не ультимативным, единственно верным и супер точным, но всеже. Не понимаю куда ты воюешь.
Аноним 03/05/25 Суб 04:56:39 1187308 239
>>1187291
>Вот тут вообще ничего не понятно. Почему бы просто не ввести дополнительный входной канал и слои для масок и гнать туда эти самые маски, а также специальным образом размечать кондишны для соответствия им?
Тебе еще надо ждать пока модель обучиться сопоставлять маску с подсветкой тега, что в случае сложных тегов будет не быстрым процессом. В случае одного тега сходимость вообще никто не гарантирует. Для моего метода формально тоже, но на глазок у него побольше шансов. Плюс у тебя остается маска, которую всегда надо рисовать, а она может быть сложной, какие-нибудь элементы одежды и т.п., что обычно хотелось бы чтобы модель расположила сама. Это совсем разные методы, короч. Хотя я вполне допускаю что твой, ели он хорошо обучен, будет сам демонстрировать такое же поведение с точки зрения градиента, и это даже можно инструментально измерить. Что может стать хорошим поводом если не для статьи в журнале, то хотя бы неплохой статейкой в бложике.

>Не понимаю куда ты воюешь.
В сторону уменьшения мнения о полезности таких картинок. Причины моего мнения я уже назвал, могу лишь дополнительно предложить предсказать хоть одно практическое свойство оптимайзера глядя на них.
Также могу сказать что наши нейросети это ансамбли различных маленьких нейронок, и обычно будет гораздо полезнее как можно быстрее доехать в пусть и не самый хороший минимум, но всеми ансамблями, а не пытаться сто лет выдрачить ту самую низкую точку в центре которая ну немного ниже чем остальные. При большом количестве параметров эта выгода очень быстро размажется.
Но в каких нибудь начальных сверточных слоях с большим эффективным батчем это может быть не так, и вот уже там может быть имеет смысл воткнуть такой оптимайзер, а может быть и вовсе наоборот, потому что больший размер батча - большая подобность СГД - соответственно большая вероятность застрять в локальном минимуме. Которых на самом деле не существует, но в таком режиме могут быть.
Аноним 03/05/25 Суб 12:31:18 1187452 240
>>1187308
Гитхаб/профиль на цивите/хаге твой ждем. В противном случае это резонерство обычное. Особенно пукнул с отрицания минимумов во время того как все сети построены по принципу гравитационных взаимодействий и магнитуды, а чтобы выпинывать сеточку из попадания в "латентную черную дыру" есть CosineAnnealingWarmRestarts в качестве шедулера лр.
Аноним 03/05/25 Суб 15:55:27 1187681 241
>>1187308
> надо ждать пока модель обучиться сопоставлять маску с подсветкой тега
Ясен хуй, ведь меняется структура модели для добавления в нее новых фич и инициализируются новые слои. Датасет тоже должен быть значительным по размеру, покрытию и разнообразию. Благо поскольку делается на основе готовых весов - тренировать будет легче чем совсем все с нуля.
> Для моего метода формально тоже, но на глазок у него побольше шансов.
Так суть твоего метода вообще не понятна, что именно хочешь добиться.
> остается маска, которую всегда надо рисовать, а она может быть сложной
А может и не быть, а может и не оставаться, компонент делается опциональным правильной аугментацией и обучением, точность маски не важна если обучать не с точными. Можно вообще боксами обойтись.
> такое же поведение с точки зрения градиента
Увы, не понимаю тебя. Это действительно другой метод, в котором обучается диффузия с дополнительной сегментацией кондишнов, а не используются маски для лосса при обучении. Самый простой пример подобного - инпеинт модели.
> В сторону уменьшения мнения о полезности таких картинок.
Количественно озвучь. То что критерий необходимый а не достаточный - не стоит ставить ему в недостаток, особенно когда других удобных нет.
> обычно будет гораздо полезнее как можно быстрее доехать в пусть и не самый хороший минимум, но всеми ансамблями, а не пытаться сто лет выдрачить ту самую низкую точку в центре которая ну немного ниже чем остальные
Этому нет обоснования, просто слова и принятие на веру. Остановка в локальном минимуме вместо значительно более удачного глобального может быть проиллюстрирована стремлением нейронок к тривиальным решениям и паразитным запоминанием побочных простых признаков при неудачном обучении, плохом оптимайзере и аугментации датасета. Для самых маленьких пример: вместо определения кошка или собака на картинке по совокупности признаков, оно будет относить все рыжие объекты к кошкам а черные к собакам.
Если же ты имплаишь за поиск начального приближения из шума в оче большой модели из множество компонентов - так никто не обучают, всегда идет претрейн отдельных частей.

Присоединяюсь к >>1187452 интересно увидеть реализовал ли что-то человек с таким количеством идей.
Аноним 04/05/25 Вск 02:13:38 1188455 242
>>1187681
>Датасет тоже должен быть значительным по размеру, покрытию и разнообразию.
Ну вот, я тебе про одно, ты мне про другое. Я про быструю тренировку на нескольких картинках в случае редких юзкейсов, а ты про большую тренировку, где никто не будет такой разметкой заниматься тем более не понимая что это даст.
>Так суть твоего метода вообще не понятна, что именно хочешь добиться.
Возможности добиться точного сопоставления тех тегов которые иначе сопоставляться не хотят. Но это было скорее предположение и частный случай от общей идеи, не факт что это будет так работать, просто есть возможность ввести такое ограничение на градиент.
Да и вообще я не хочу ничего добиться, я просто высказал идею чтобы она в закромах не лежала, а может кто-нибудь захочет воспользоваться.
>Увы, не понимаю тебя.
Я говорил про то, что если можно по твоему методу попробовать натренировать такую волшебную штуку, (в том случае если она будет работать), то потом ты берешь маску, и по моему методу (да даже просто по обычной маске лосса) смотришь нормы градиента, либо как-нибудь еще проверяешь, пытается ли теперь градиент обновить только подсвеченный токен, либо как обычно херачит по всем сразу. Если работает так же как и мой метод, только без искусственного ограничения, то значит модель выработала внутри себя схемы которые позволяют управлять потоком градиентов, и нахождение таких схем вполне себе повод для статейки какой-нибудь.
В механизме внимания например такое уже происходит, но тут если без него это будет работать, то это очень интересное явление. Хотя я уже вижу что модель может и чисто только атеншен перенастроить под эту задачу, что примерно будет то же самое.
Тут еще опять же ничто не запрещает при тренировке эти самые маски атеншена править или фиксировать, или даже накладывать лосс на них.
Я кстати вспомнил что уже придумывал такую идею как раз для семантической разметки токенов через атеншн, но вспомнил я это только сейчас случайно.
Вообще такой метод должен быть лучше твоего, ведь не надо пердолиться ни с какими доп-каналами, ни с разметкой кондишенов.
А еще я вспомнил что не хотел его палить, ведь он так легко делается. Ой...


>Количественно озвучь.
Я предложил назвать хоть одно практическое применение этих картинок, свои аргументы высказал. По существу никто не высказался, так что не имею большого желания пояснять по 10 раз особо упертым одно и то же.
>Этому нет обоснования, просто слова и принятие на веру. Остановка в локальном минимуме вместо значительно более удачного глобального может быть проиллюстрирована стремлением нейронок к тривиальным решениям и паразитным запоминанием побочных простых признаков при неудачном обучении, плохом оптимайзере и аугментации датасета.
Если мои слова не были достаточно понятны, то могу разъяснить этот момент:
Вот у нас две картинки, в одной оптимайзер попал в оптимальную точку, в другой не совсем. Какие из этого должны быть сделаны выводы? Что первый лучше второго? Совсем не обязательно, ведь если чутка подумать, и представить что нейросеть это у нас ансамбль маленьких нейросетей и функция от функции(от функции(от функции()))... То можно представить что быстро довести каждую до не самой оптимальной точки будет намного эффективнее, чем пытаться выдрочить идеальную точку но долго.
>Для самых маленьких пример: вместо определения кошка или собака на картинке по совокупности признаков, оно будет относить все рыжие объекты к кошкам а черные к собакам.
Ты пытаешься привести контрпример забывая про парето-оптимальность, которую я подразумевал под этим всем.

Ну и опять же все это обсуждение не имеет смысла когда в нейросетях таких минимумов нет и на картинках ландшафт статичен. Ты можешь сделать статичный ландшафт в нейросети, делая шаг только тогда когда ты посчитал градиент по всему датасету, и с удивлением обнаружить что чет какое-то говно получилось. Спрашивается тогда нахуя проверять оптимайзер в таком режиме?
И твоя попытка с этим всем спорить - не меньшее принятие на веру недоказанных фактов.

>>1187452
>Особенно пукнул с отрицания минимумов
Сразу видно человека который не видел некоторые хорошо известные в узких кругах доклады.

>Гитхаб/профиль на цивите/хаге твой ждем.
>Присоединяюсь к >>1187452 интересно увидеть реализовал ли что-то человек с таким количеством идей.
Только после того как узнаю что среди вас нету того кто обосрался в споре со мной по поводу рслоры. А то было бы эпично.
Или того кто отказался показывать свои модели в споре в середине треда, и называл себя автором популярных моделей и опенсорса. Спор был не с моим участием, но все же. А то слог похожий...
Ну а хули, если хочешь раскидываться компетенциями вместо того чтобы дискутировать по существу, надо сначала самому как-то пошевелиться и предоставить свои.
Да и вообще меня не то что бы интересуют эти ваши выебоны медальками "За 100 лор Еотовой" или показывает на соседний тред оверфитнуть модель на стиле персоналами и лисах и назвать это стейт оф зэ арт кволити файнтюном. Кмк, это вам опыта в самом эмэле не особо дает.
Аноним 04/05/25 Вск 03:59:37 1188511 243
>>1188455
Ты вообще на что-то способен, кроме сранья резонерством в треде?
Аноним 04/05/25 Вск 04:14:27 1188513 244
>>1188511
Выучил новое слово и теперь лепишь его везде?
Аноним 04/05/25 Вск 14:24:17 1188745 245
Аноним 04/05/25 Вск 15:49:13 1188859 246
Аноним 04/05/25 Вск 17:48:05 1188963 247
>>1188859
Как выложить свои результаты - визжишь, как жидко пукнуть - пукаешь без вопросов. Почему так?
Аноним 05/05/25 Пнд 18:01:42 1190153 248
>>1118663 (OP)
Аноны, у меня есть мое фото до плеч с галстуком, я его хочу дорисовать до поясницы для этого скачал stable-diffusion-webui, мозайку чтобы добавить пространство до поясницы и модель Juggernaut-XL_v9_RunDiffusionPhoto_v2, в общем и целом получается херово. Какой локальный вариант самый нормальный???
Аноним 05/05/25 Пнд 22:13:32 1190542 249
>>1188455
> Я про быструю тренировку на нескольких картинках в случае редких юзкейсов, а ты про большую тренировку, где никто не будет такой разметкой заниматься тем более не понимая что это даст.
В посте несколько раз повторяется что из твоих идей вообще не понятно что именно должно реализовываться и для чего нужно, с предложением это озвучить. Во-вторых, если затевать такое то как раз все будет размечено, и что даст тоже понятно - локализация кондишнов, региональный промтинг и все это нативно из коробки.
> точного сопоставления тех тегов которые иначе сопоставляться не хотят
Что значит не хотят? Но вообще, вариант, когда к основному датасету добавляется набор с относительно небольшими масками и капшнами только для них, может какой-то положительный эффект дать. Правда будет ли эффект стоить трудозатрат - сомнительно.
> если можно по твоему методу попробовать натренировать такую волшебную штуку, (в том случае если она будет работать)
Она будет работать и не является чем-то волшебным просто потому, что это буквально тренировка сетки под конкретно эту задачу. Это дефолт и такие сетки уже делались, а ты не понял о чем речь, жесть.
> только подсвеченный токен
Как ты выделишь влияние только одного токена на градиенты? И надеюсь ты про токены в их истинном значении а не именуешь так теги, это сразу выдает васяна.
> пытается ли теперь градиент обновить только подсвеченный токен, либо как обычно херачит по всем сразу
> модель выработала внутри себя схемы которые позволяют управлять потоком градиентов
Что за безумный поток сознания? У тебя граденты обновляют токены и модели вырабатывают схемы, сюрр.
> Если работает так же как и мой метод
Тут опять все смешалось, если про тренировку с маскировкой областей картинки и подаче только соответствующих этой области кондишнов еще понятно, то там где у тебя было про обучение с разными масками для отдельных слоев/блоков - вообще муть. И совсем болото - когда ты начал переходить от маскировки лосса к максировке кондишнов, проводя равенство, для sdxl и подобных это абсурд.
> Я предложил назвать хоть одно практическое применение этих картинок, свои аргументы высказал.
Не кривляйся, ты постулируешь полную ненужность тестовой задачи, ссылаясь на то, что она не идентична реальной. При этом аргументов о том, что это несоответствие действительно существенно и требует совершенно иных свойств - не приводишь. Только натаскивание.
> представить что нейросеть это у нас ансамбль маленьких нейросетей и функция от функции(от функции(от функции()))
Ай лол, в совокупности со всем остальным, особенно с
> Тут еще опять же ничто не запрещает при тренировке эти самые маски атеншена править или фиксировать, или даже накладывать лосс на них.
> Я кстати вспомнил что уже придумывал такую идею как раз для семантической разметки токенов через атеншн, но вспомнил я это только сейчас случайно.
> Вообще такой метод должен быть лучше твоего, ведь не надо пердолиться ни с какими доп-каналами, ни с разметкой кондишенов.
> А еще я вспомнил что не хотел его палить, ведь он так легко делается. Ой...
и непониманием вполне популярных вещей - ты оче далек от чего-то практического и реального, понимание работы современных сеток у тебя свое-особое, а недостаток понимания и знаний ты пытаешься компенсировать натаскиванием из соседних областей и странных ассоциаций. В лучшем случае это можно назвать вузовской наукой, где деды маринуют идеи, обреченные на провал по своей сути, но там хотя бы есть структура и система. В худшем, что мы и наблюдаем - шиза, в которой сам признаешься.
> Только после того
Да там банально нечего показывать, видно насколько шиз плавает. Уже по амбициям видно что ничего серьезного и полезного породить не способен, только гоношение вокруг ерунды. На досуге придумывает великие идеи про "быструю тренировку на нескольких картинках" лезя в невероятные дебри и ввязывается с бессмысленные споры с очевидным, кринж.
Аноним 06/05/25 Втр 02:56:10 1190914 250
2025-05-05234426.png 113Кб, 1503x919
1503x919
2025-05-05235656.png 293Кб, 1497x2607
1497x2607
>>1190542
>В посте несколько раз повторяется что из твоих идей вообще не понятно что именно должно реализовываться
Всё настолько разжевано что даже ребенок поймет и даже шиз порвался и начал вонять что я засираю тред бессмысленными простынями. Я вынужден повторять в разных ипостасях одно и то же, а ты непонятно что еще хочешь услышать.
>для чего нужно
Это уже на совести читателей, найти применение для метода.
Я примеры привел и их ровно два, если хочется изъебнуться с тренировкой только на мелких областях, либо когда надо роутить градиент масок потокенно/послойно.
>Что значит не хотят?
Когда недостаточно данных, чтобы модель смогла накопить статистику и выучиться. Я не предлагаю учить всю модель так. Это для пердолинга лор на десятке-сотне картинок. Как бы очевидно.
>Как ты выделишь влияние только одного токена на градиенты?
Наоборот же. А если хочешь именно так, то влияние одного токена на градиент - это, внезапно, градиент по этому самому токену, прикинь да? Можешь даже нарезать всю картинку на сотню масок и таким образом примерно вычислить куда именно токен повлиял. Считать дохуя и на практике скорее всего очень шумно, но как бы математика не запрещает.
>Что за безумный поток сознания? У тебя граденты обновляют токены и модели вырабатывают схемы, сюрр.
Ты тупой и не понял. Или читать научись не жопой. У меня например к твоему методу и тому что ты пишешь вопросов нет, мне все понятно. Разве что кроме того как у тебя в одном месте сочетаются "просто" и "надо ввести в модель новый канал" и как ты собрался помечать кондишены. Но это ладно, мне оно не надо.
>модели вырабатывают схемы, сюрр
https://distill.pub/2020/circuits/
>У тебя граденты обновляют токены
Хотя наверное слоило пояснить что под токеном имелся ввиду кондишен токена который с энкодера выходит и градиент по нему. Все таки я обычно подразумеваю что читающий имеет мозг. А зря.
Тут будет пояснение того что я имел ввиду, и чего ты не понял, для совсем тупеньких.
Дизайн эксперимента:
Имплементируем два метода, один твой. Думаю пояснять его суть не надо. И один - мой, когда мы считаем градиент от маскированной области.
Далее по твоему методу у нас допустим есть готовая модель, которую учили на масках в допканале и "подсвеченных" кондишенах.
Мы берем совершенно новые размеченные данные и делаем один обратный проход применяя мой метод, смотрим на то, какие нормы градиента идут по кондишену, который размечен, с маской. Градиент ессно считаем только от маски. С удивлением обнаруживаем, что эти нормы для него высокие, а для всего остального низкие. Значит тот лосс, который идет только от объекта, обновляет преимущественно кондишен тега этого самого объекта. Если берем дефолтную модель, то такого не происходит (это проверять не нужно). А значит модель (твоя) как минимум научилась по маске направлять поток градиентов от определенной области в соответствующий ей токен.
А что же еще такое может направлять поток градиента от области в один токен, только для этого не надо учить модель и ты никогда не обосрешься с ее тренировкой? Не уж то ли тот самый метод о котором я рассказываю? Хм.. Хм..
Но да, твой будет лучше на большой тренировке, ибо не надо делать никакие дополнительные проходы, а мой - когда тебе надо натренить лору на нескольких картинках с разметкой, потому что тебе не надо сначала учить модель которая понимает разметку.

Далее идет пассаж про то что механизм внимания сам по себе примерно похожим образом работает. И что модель (наверное) после обучения ее твоим методом может работать так только за счет чисто адаптации фокусировки кросс-внимания (q*k). Вот смотри, твоя подсветка кондишена и маска в канале дает на кондишене прямо, а на юнете косвенно (после прохождения через свертки и всю хуйню) высокое косинусное сходство, между собственно кондишеном токена и пространственной областью которая была под маской. Дальше v от кондишена будет инжектится в ту область и градиент в него потечет преимущественно от этой области.
Из этого проистекает два вывода, первый - что можно накинуть лосс на маску атеншена (на соответствие её нашей маске сегментации), и тем самым принудить модель саму определять отношение токена к объекту. Либо можно вручную влезть в атеншн и исправить его маску, чтобы обучение пошло быстрее. Либо сначала править маску, а потом наложить лосс, чтобы уж точно наверняка модель поняла что мы от нее хотим.
Это применимо только к случаю когда у нас есть какая-то разметка сегментации. И если тебе нужен такой результат, то можно не нужно делать 100 проходов если у тебя вдруг есть 100 размеченных объектов на картинке, а делать один с правкой/лоссом атеншена. Мой метод тут уже не нужен.


>то там где у тебя было про обучение с разными масками для отдельных слоев/блоков - вообще муть.
Ты совсем блядь тупой? И извини, я бы не стал так наезжать, если бы ты первым не стал наезжать на меня, и выебываться тем что ты дохуя в чем-то шаришь, а я нет.
Я не буду пояснять заново, вот тебе ответ от нейронки, первый абзац читай.

>И совсем болото - когда ты начал переходить от маскировки лосса к максировке кондишнов, проводя равенство, для sdxl и подобных это абсурд.
Чё? Честно - не понял о чем ты.

> > Я предложил назвать хоть одно практическое применение этих картинок
>Не кривляйся
Хуя подрыв. То есть мое предложение озвучить хоть какие-то твои выводы которые ты делаешь из созерцания этих картинок, это "кривляние"? Ок, записал.
Но мне блядь реально было интересно какие выводы ты из них делаешь, и я очень жду ответа от тебя на этот вопрос.

>и непониманием вполне популярных вещей - ты оче далек от чего-то практического и реального, понимание работы современных сеток у тебя свое-особое, а недостаток понимания и знаний ты пытаешься компенсировать натаскиванием из соседних областей и странных ассоциаций. В лучшем случае это можно назвать вузовской наукой, где деды маринуют идеи, обреченные на провал по своей сути, но там хотя бы есть структура и система. В худшем, что мы и наблюдаем - шиза, в которой сам признаешься.
Ну то есть не понял ты, а в итоге как-то так вышло, что не понимаю чего-то я, как же так?
Посмотри хотя бы как работает атеншн в юнете через DAAM. Что-то мне подсказывает ты этой хуйней никогда не пользовался.
Накладывать лосс на маски атеншена никакой науке не противоречит. Пикрил 2, даже лоботомит понял прекрасно.

Так что какие популярные вещи я не понимаю? Давай уж соизволь пояснить по пунктам, раз пизданул.

>Да там банально нечего показывать, видно насколько шиз плавает.
-> >>1137587 >>1137927

>великие идеи про "быструю тренировку на нескольких картинках"
Лолшто.

>споры с очевидным
Выдели очевидные по твоему вещи, с которыми я спорил.

Проверка на чтение жопой: В твоем ответе, во первых, ожидается приведение примеров сравнения оптимизаторов по картинкам и выводы которые ты из этого делаешь. Любой удобный пример. Я даже не прошу тебя размахивать какими-то репозиториями, как это делаешь ты. Я прошу чтобы ты показал то что непосредственно относится к предмету спора.
Во вторых, ответ на то, что ты >>1161856 >>1161889 это не один человек. Потому что если один, то я ебнусь от такого наплыва самоуверенных шизов.
Аноним 06/05/25 Втр 19:11:17 1191801 251
>анимешиз кидает юшки тем кто его проткнул
Не кидай мне юшки ебло косорылое, тебя уже другой протыкает.
Аноним 06/05/25 Втр 19:23:40 1191833 252
>>1191801
Если бы ты тихо слился, а не начал исходить на говно, пытаясь перекрыть свой очевидный обсер, тебя бы уже все забыли)
Аноним 06/05/25 Втр 19:40:39 1191868 253
>>1191833
>)
Ты давай лучше иодельки свои показывай, порватка
Аноним 06/05/25 Втр 20:00:19 1191916 254
>>1190914
> Всё настолько разжевано что даже ребенок поймет и даже шиз порвался
Чел, ты вбросил абстрактную идею без описания и объяснений зачем это вообще нужно, потом несколько постов из тебя пришлось клещами тянуть. Сам все начал осознавать только в ходе этих обсуждений и пришел к сливу, вот и порвался.
> влияние одного токена на градиент - это, внезапно, градиент по этому самому токену
Ну и ерунда, ты даже не понял что в том вопросе заложено.
Чем дальше тем сильнее налет бреда, подтверждающий непонимание основ за которые топил, это уже читать тяжело. Апелляция к ллмке - финальный гвоздь в крышку гроба, явил свой источник познаний.

Таблетки прими и не кипишуй, у тебя там рили диалог личностей в голове из которого рождаются эти письмена. Вместо шизополотен просто делай что-то, что может продемонстрировать не бесполезность твоих идей и убеждений, и научись выражать свои мысли.
>>1191801
Копродед вышел из бана и опять щитпостит, фу нахуй.
Аноним 06/05/25 Втр 21:36:57 1192171 255
score-sde.png 497Кб, 2048x885
2048x885
>>1191868
А с чего ты взял, что у меня должны быть модельки? Как бы, для того чтобы понимать теорию оптимизации, архитектуру нейронок и всю хуйню, совсем не обязательно тренить 100 еотовых лор.
Просто чтобы ты понял, ты был попущен челом который буквально 0 готовых моделей произвел.

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

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

В сложном гайде до сих пор никто не заметил и не поправил эту хуйню >Таймстеп это число показывающее зашумлённость изображения, где 0 - полный шум, а 1000 - полностью расшумлённое изображение.
(Я это просто вспомнил сегодня, не в претензию его автору. Важный момент, который может сильно запутать того кто разобраться хочет с работой диффузионок, там 0 это 0 шума всегда.)

>>1191916
Проверка на чтение жопой не пройдена, увы.


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

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

>и научись выражать свои мысли.
Хах, тупой дебил не понял, читал жопой, и начал раздавать советы. Специально для него я привел скрины с ллмки, но он и тут развонялся. Что, она тоже мысли выражать не умеет? Следующий мой ответ тебе будет только через ллмку, большего не дождешься.
Задаешь вопросы невпопад, не понимая на что отвечаешь пытаешься выебываться, игнорируешь неудобное. Софистика и низкая культура дискуссии выдают в тебе типичного шиза-петушка с завышенным чсв.

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

Хм.. Хм.. назвал его копродедом, значит анимешник, так? А кто у нас из анимешников может быть автором каких-то "известных" моделей?.. Припомню только автора роувея. Если ты это он, объяснило бы откуда столько чсв. Модель кстати кал.
Аноним 06/05/25 Втр 22:18:12 1192261 256
>>1192171
Чушка без моделек опять высрала стену плача, поссал на нее
Аноним 06/05/25 Втр 22:22:49 1192267 257
>>1192171
> юнет сверточный
Бля, я не он, но тут ты уже перешёл грань траллинга тупостью. У SD в UNET конволющены только для ресемплинга фичей используется. Большинство параметров - это аттеншен. Даже FF-слоёв больше чем конволюшена там, лол. VAE для того и придумали, чтобы очень медленные конволюшены вынести в него и только один раз прогонять по ним, а диффузия работала на линейных слоях. Хотя видя что ты пишешь про тренировку энкодеров не удивительно что несёшь такой бред.
> там 0 это 0 шума всегда
Таймстеп - это индекс в массиве бэт, в SDXL при тренировке это просто линейное распределение, таймстеп 0 - это бэта около 0.0001, 1000 - обычно 0.012 что равно сигме 15.6. Шум умножается на некую формулу на основе бэты от семплера зависит, где-то шум на сигму умножается, где-то на интегральное произведение альфы. Нулевого шума нет никогда при стандартных таймстепах при тренировке, у нас же таргет это оригинальный шум и считать градиенты с 0 не очень хорошо. А вот при инференсе в шедулере часто сигмы нулевые есть в конце.
Аноним 06/05/25 Втр 22:34:47 1192286 258
>>1192171
Ты живешь в каком-то манямире, дефолтные вещи воспринимаешь странно через его призму, придаешь чрезмерный вес тому, о чем узнал и впечатлился, и игнорируешь действительно важные вещи. Так еще мнишь себя неебаться кем, но при этом размениваешься на какую-то хуету. Шиз as is, еще какие-то условия ставит.
> у меня должны быть модельки
Разумеется у тебя нет ничего, когерентности не хватает чтобы хотябы демонстрацию запустить.
Аноним 06/05/25 Втр 22:49:37 1192302 259
>>1192261
Чушка с моделями обосралась с рслорой, поссал на нее


>>1192267
>ты уже перешёл грань траллинга тупостью.
Ты порвался и начал придираться к формулировке, игнорируя смысл сказанного. Эти параметры также активно переиспользуются, за свертками, и усредняют много градиентов, от всей картинки. В энкодере с этим намного хуже.
>Хотя видя что ты пишешь про тренировку энкодеров не удивительно что несёшь такой бред.
Бред который работает, лол.
>Таймстеп...
Так ты согласен что там напутано или нет? Я вроде про это писал.

>>1192286
Чсв шиз который натренил говнолоры и теперь считает себя знатоком машоба тоже обоссан тем кто хотя бы пытался мл учить. Игнорирует вопросы, несет хуйню что всё непонятно и что его оппонент ничего не шарит, занимается софистикой и спорит с выдуманными им же утверждениями. Не приводит ни одного аргумента в защиту своих слов, только тупой наезд.
Афтар невероятной модели стейт оф зе арт хай кволити роувея as is Выше него только Хач.
Аноним 06/05/25 Втр 22:59:11 1192319 260
>>1192302
Один визг
@
Ноль моделек
@
Ноль ссылок на гит

Дружочек, выпились
Аноним 06/05/25 Втр 23:03:08 1192325 261
>>1192319
Много визга
@
Миллион моделек
@
Миллион ссылок на гит

Дружочек, воскресни
Аноним 06/05/25 Втр 23:05:34 1192331 262
>>1192302
> смысл сказанного
А дальше у тебя там вообще бессвязный бред, где ты батчи с бэтой оптимизатора сравниваешь. По твоей логике и weight decay делает тоже самое что и EMA.
Аноним 06/05/25 Втр 23:19:37 1192369 263
>>1192331
>бессвязный бред, где ты батчи с бэтой оптимизатора сравниваешь
Лооол.
Буквально вещи очень связанные хоть и математически не эквивалентны, но на практике плюс минус заменяют друг друга.
Ты можешь подобрать такую бету и такой прогрев оптимайзера, что например если ты пройдешься по всему датасету, то получишь такой же результат, как если сделаешь размер батча под весь датасет. Если не считать ошибки округления и если отключить вторую бету то получится одно и то же, примерно. Если делать только один шаг вконце то может быть и математически. Как аккумуляция градиентов работает знаешь? И что она тоже заменяет батч-сайз прекрасно. Логику надеюсь уловил.
>По твоей логике и weight decay делает тоже самое что и EMA.
Что ты этим хотел сказать? Wd умножает все веса кроме некоторых на какое-нибудь близкое к единице но меньше единицы число каждый шаг. EMA это экспоненциальное сглаживание которое используется в бетах адама.
Аноним 06/05/25 Втр 23:33:17 1192411 264
>>1192369
> на практике плюс минус заменяют друг друга
Хватит бредить. Ты вообще понимаешь чем момент отличается от усреднения?
Аноним 07/05/25 Срд 00:03:17 1192481 265
Аноним 08/05/25 Чтв 07:18:02 1194023 266
1m7-otgfbxiAvSi[...].gif 720Кб, 1500x1200
1500x1200
>>1192411
Да кстати, наверное стоило сказать что моментум это никакая не инерция, а чистое сглаживание, и чистое усреднение в пределе, математически. И картинки, по которым ты МЛ учил (а по твоему батхерту с тем что ты называешь бредом очевидные вещи из теории оптимизации, видно что ты кроме картинок ничего по теме не смотрел), буквально содержат численную ошибку в подавляющем своем числе.
Пикрил как пример. Здесь моментум не должен так бодро ехать, он должен ехать точно так же как сгд. Еще и на таком простом ландшафте.
А происходит это потому что в торчевской реализации сгд с моментумом реализован неправильно, он фактически увеличивает лр на коэффициент моментума (0.9 = х10, 0.95 = х20, 0.99 = х100).
В адаме кста это уже по дефолту пофикшено.
Путаница возникает от того что таки моментум не чисто усреднение, а усреднение с масштабом. В оптимизации его обычно хотят использовать как усреднение, поэтому от масштаба избавляются, ибо за масштаб у нас отвечает собственно лр.
Аноним 08/05/25 Чтв 10:17:28 1194090 267
>>1194023
Чел, момент и батч усредняют вообще разные вещи.
Аноним 08/05/25 Чтв 18:55:01 1194739 268
>>1194090
Ага, батч получает один градиент, а момент другой из параллельной вселенной.
Аноним 10/05/25 Суб 08:52:30 1196940 269
zero.png 94Кб, 1035x448
1035x448
-lora.png 96Кб, 1027x401
1027x401
!! Фулл файнтюн лорой без пердолинга с пидорами, альфами, инициализациями. !!

1. Нодами ModelMergeSubtract делаем модель-нулёвку (все веса модели = 0). Модель минус модель, множитель 1. Пик 1.
2. Делаем экстракт лоры. В kohya gui базовая модель - это нулёвка, файнтюнед - это исходная полная модель. Ранг лучше побольше, 128+.
3. Делаем вмерж лоры в модель. В гуе (вкладка Merge LoRA) базовая модель - нулёвка, лора - экстракт с шага 2.
4. Как в пункте один, только вычитаем мерж из исходной. Модель2 - это мерж. Пик 2.
5. Проверяем что нигде не обосрались, подгружаем полученную модель и лору куда-нибудь, должно выдавать то же самое что и обычная модель. Если убираем лору, выдает шум. Наны не выдает.
6. В тренере загружаем модель и отдельно внизу в Network weights прописываем путь к экстракту. Ставим ранг как выбрали в пункте 2, альфа = ранг (!!!), запускаем тренировку.
7. Понимаем что таки где-то обосрались, и блоки не совпали с тем что хочет кушать тренер, ставим 1 шаг тренировки, лр 0,00000000000001, запускаем.
8. Получаем новую меньшую по размеру файла лору, которую отправляем в шаг 3 и далее повторяем все то же самое, но теперь все заработает, лосс в пределах нормы, тренировка идет, профит.

Потом смерживаем натрененую лору с моделькой, делаем экстракт или используем как есть.

Немножко сосём если пытаемся включать wd во время тренировки. Скорее всего стоит использовать вместо этого линейный мерж весов лоры между актуальной и начальной с весами ~0.9:0.1
Интерполяция должна давать эффект как при обычной тренировке лоры с wd.
В генерации это будет выглядеть как две лоры, не трененая и трененая <lora:lora fixed:0.1> <lora:lora fixed 2-000017:0.9> веса должны давать в сумме 1, 0.9 - это вес лоры как обычно, чтобы тестить без пердолинга. Да, и моделька с разницей вместо исходной, все как в шаге 5.

Можно попробовать учить по экстракту с какого-нибудь файнтюна. Процесс такой же, вместо нулёвки - база, вместо исходной - собственно сам файнтюн.

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

Метод не мой https://github.com/GraphPKU/PiSSA
Реализация, если это можно так назвать - моя))

Всегда ваш, тролящий тупостью и бредом шиз. Принес вам очередную шизу, которая должна работать лучше файнтюна при хорошей настройке.
Аноним 10/05/25 Суб 11:31:16 1197041 270
>>1196940
>файнтюн лорой
В чем прикол? Чем это отличается от мерджа модели с лорой?
Аноним 10/05/25 Суб 16:00:58 1197360 271
>>1196940
Не понял, нафига это надо.

Но получение лоры из модели (путем вычисления разницы между нулевой моделью и полноценной) звучит как какая-то магия. Как это вообще? Что внутри получится? Дистиллят модели до размера лоры?
Аноним 10/05/25 Суб 23:25:06 1197920 272
347928679-fcc0b[...].png 28Кб, 594x432
594x432
347929726-a966f[...].png 28Кб, 557x435
557x435
2025-05-10202402.png 53Кб, 1269x670
1269x670
jcnc1495642-fig[...].jpg 42Кб, 600x459
600x459
>>1197041
>>1197360
Прикол в том, что максимально близко к тренировке полных весов, так как лора по сути инициализируется "большей частью полных весов".

Для контекста надо понимать как работает SVD https://www.youtube.com/watch?v=DG7YTlGnCEo
Если упростить, то это что-то из серии разложения фурье, сжатия jpeg и т.п. Преобразование ищет похожие строки и столбцы, в итоге из одной матрицы весов делает две + диагональную матрицу коэффициентов, по факту размером в 1 строку. Если взять из первой первый столбец, а из второй первую строку, то из них можно сделать лору рангом 1, которая будет применяться с коэффициентом из первого элемента диагональной матрицы. Преобразование делает так, что столбцы и строки нормализованы одинаково, а коэффициенты диагональной матрицы отсортированы от большего к меньшему (и строки со столбцами расставлены так чтобы соответствовать этим коэффициентам по своей позиции).
Так работает SVD экстракция лоры, делается это самое разложение, и ранг - это сколько первых элементов строк и столбцов берется.
Если строки и столбцы сразу домножить на коэффициент, надобность в хранении коэффициентов отпадает. Их всегда можно вернуть, выполнив нормализацию заново.

Коэффициенты называются сингулярными числами, можно посмотреть их распределение для реальной модели, на пикрилах 1-2 (не мои, хз какая модель).
На 3, как получается матрица из умножения строки и столбца. Эта же матрица через svd превращается обратно идеально в 1 набор векторов. Если перемножить 2 набора и сложить матрицы, то разложится так же на 2 набора идеально, будут 2 набора векторов и 2 сингулярных числа ненулевыми, все остальное нули.
На пике 4 как это преобразуется в конфигурацию со слоями. Если посередине нет функции активации, то это как лора ранга 2. Ее можно так же развернуть в полную матрицу (сумма двух матриц как пик 3) и свернуть обратно через svd в 2 набора векторов.
Любое количество таких слоев, если между ними нет функции активации вырождается в одну матрицу, в том числе и лора. Хоть в коде это 2 отдельных слоя.

Хз зачем я это объясняю, наверное любой видос сделает это лучше.
Но в итоге мы делим модель на 2 части по svd, чистый результат svd, который несет большую часть информации инициализирует веса лоры, а остальное мы получаем через разницу + все веса которые не обучаются остаются вне лоры в модели.
Так дохуя проблем уходит, так как обычно лора инициализируется как случайная матрица * на матрицу нулей, там возникает перекос градиентов, это по хорошему должно нормализироваться, в том числе для этого применяют dora и всякую такую хуйню, надо правильно рассчитывать альфы или вообще делать их обучаемыми.

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

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

Но тренируем мы полную модель, которая просто разделена на 2 части, экстракт здесь нужен только для разделения.

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


Можно придумать другие способы тренировки, например брать наоборот менее важные ранги, или случайные ранги. Или сделать полное разложение и прыгать во время тренировки с одного набора на другой... Простор для экспериментов огромный.
Я показал только метод из статьи, для которого как оказалось ничего не надо придумывать, можно в гуе кнопки натыкать и все будет работать так же.
Аноним 10/05/25 Суб 23:32:34 1197939 273
>>1196940
Интересно, а как оно работает с BOFT/DOFT, не знаешь? Я конечно сам попробую, потыкать, но в них нет классической A/B внутрячки и альфы не используются, хз как пойдет.

Я с момента как в комфи запилили поддержку недавно полностью на них переключился и горя не знаю, получается фуллфт эффект без особых пердолей супер быстро, т.к. бофт это как раз так скажем нативные ортогональные матрицы для модели (что считывает SVD), которые влияют на всю модель целиком, а диагофты это диагональные матрицы которые обучаются моментально, но емкость конечно меньше, т.к. там не используется полная ортогональная матрица, диагофты скорее для небольших стилевых тюнов. Плюс удобно что есть constraint и rescaled режимы и не нужно альфу вообще трогать т.к. альфа не используется, а степень изменения весов от силы градиента регулируется констрейнтом, т.е. если тебе нужно полное изменение ориг весов, то констр 1, если легкий допил то условно 0.1.
Аноним 10/05/25 Суб 23:49:51 1197980 274
>>1196940
>В тренере загружаем модель и отдельно внизу в Network weights прописываем путь к экстракту
Ну кстати это вполне логично, ты как бы инициализируешь продолжение тренировки. Можно тогда даже не 128 рангом для экстракта ограничиваться а полные веса двухгиговые вытащить.
Аноним 10/05/25 Суб 23:56:45 1197994 275
BOFTcomparison.png 34Кб, 1662x719
1662x719
>>1197939
>с BOFT
Наверное как-то должно, но не понятно какой от этого будет смысл.
Лору же можно разложить на фуллматрицу и BOFT к ней применить, но я хз вырождается ли оно или нет.

>ортогональные
>диагональные
У меня с математикой так себе если я не могу в голову сначала прогрузить её смысл. По диагональным понятно, а как инициализируются ортогональные и какой у них в этом случае смысл мне не понятно.
Аноним 11/05/25 Вск 00:12:07 1198018 276
>>1197994
>но не понятно какой от этого будет смысл
Ну как я понял ты получаешь ортогональный экстракт файнтюна, но с лоуранг модулями, а офт работает с декомпозицией и блоками, т.е. делаем ортогональный экстракт файнтюненых весов без рангов и тренируем эти веса ортогональными матрицами. Вин вин ситуация.
>Лору же можно разложить на фуллматрицу и BOFT к ней применить
Ну да, я так и попробую наверно, может даже сегодня
>а как инициализируются ортогональные и какой у них в этом случае смысл мне не понятно.
Ну это как в локре факторизация полных матриц до более мелких, только для офт. Ты указываешь количество блоков (т.е. степень разложения полной матрицы) через дименшен (реализация в ликорисе), который не может быть меньше 10, т.к. минимальное разложение это 2^3, а учитывая паддинги, масштабирование и использование дополнительных bias/scale это дает минималку в 10 для факторизации, и оно факторизует количество параметров относительно новых ортогональных матриц.
Аноним 11/05/25 Вск 00:20:16 1198027 277
Посоветуйте плз ютуберов или подобное чтоб разобраться в теме генерации картинок нейросетями и начать понимать термины которые применяют итт. Ну т.е. всякие обучающие видео чтоб объясняли принципы работы и показывали на практике. Гуглятся только какие-то скуфы которые даже микрофон себе купить нормальный не могу и только льют воду. Но мб я не знаю как правильно написать запрос. Спасибо заранее.
Аноним 11/05/25 Вск 01:11:55 1198073 278
>>1198027
А что тебе конкретно непонятно
Аноним 11/05/25 Вск 01:56:48 1198114 279
>>1198073
Тред читаю и тут много терминологии и аббревиатур. Видно что аноны давно в этой теме. Хочу разобраться в доменной области перед тем как начинать свои эксперименты чтоб понимать что делаю а не просто пердолиться в каких-то скриптах с гитхаба.
Аноним 11/05/25 Вск 02:36:52 1198142 280
>>1198114
Че надо то просто генерировать или ты обучать хочешь?
Аноним 11/05/25 Вск 04:55:44 1198191 281
>>1197994
>>1196940
Кароче вывел фулматрицу из модели в виде лоры, запихнуть в нетворк вейтс, с бофтом естественно полезли миссингкейс относящиеся к бофту (ну их нет в выведенной лоре), но тренинг пошел. Результат в сравнении с обычным тренингом получше однозначно, но непонятно какие слов в принципе подхватываются через нетворквейт.
Как там миссинг кеи фиксить? Это с пункта 7 просто один степ потренить и добавить к выведенной матрице чтоли?
Аноним 11/05/25 Вск 05:05:34 1198192 282
>>1198191
>с бофтом естественно полезли миссингкейс относящиеся к бофту (ну их нет в выведенной лоре)
https://pastebin.com/jdjD2sLJ
Если че вот лог, там в основном офт блоки и рескейл блоки, и прожекшены, которых нету в выведенной лоре.
Аноним 11/05/25 Вск 05:22:57 1198194 283
>>1198191
>>1198192
Хз, я комфи трогал только чтобы вычитающую ноду найти.
В дефолтном гуе когда засунул экстракт сразу понял что он просто игнорирует некоторые слои которые создал экстрактор, но тренит и сохраняет уже то что ему надо. Поэтому вычитал то что сохранилось и уже от этого плясал.
То есть просто во время тренировки был критичный проеб целых слоев, если не фиксить.
>Это с пункта 7 просто один степ потренить и добавить к выведенной матрице чтоли?
Потренить, мержить с нулёвкой, вычесть это из исходной модели, получается два полных набора весов, разделенные по рангам, если тебе это надо. Реализацию бофта не смотрел, хз как оно там должно взлететь.
В моем случае я потом вставляю разницу вместо модели, и сохраненную лору как продолжение тренировки.
Аноним 11/05/25 Вск 05:41:34 1198195 284
>>1198194
Не, проблема (если считать это проблемой конечно, так-то оно никак не влияет) в том что алгоритм бофта чекает веса скармливаемые, а так как эти веса были получены обычным вычитанием то никаких специфических слоев для бофт в весах в нетворквейт нет и он мисингами срет. Невозможно сделать экстракт из полной модели лоры для нетворквейтс в виде бофт-лоры с слоями исключительно бофта, потому что экстрактора ортогональных блоков не существует.
Аноним 11/05/25 Вск 05:49:39 1198197 285
>>1198195
Скинь воркфлоу если не жалко или объясни как ты делаешь?
У тебя два набора полных весов или полные + лора тренятся?
А то пока не оч понимаю че ты сделал.
Аноним 11/05/25 Вск 06:01:06 1198198 286
image.png 108Кб, 1567x543
1567x543
>>1198197
1. Короче есть но лора экстрактора в комфе пик1. Фулл дифф позволяет получать полноразмерное различие в виде лоры. Биас не помню че делает это типа коррекции какойто, но если он вкл то при добавлении полученной лоры к базовому сдхл получается 1 в 1 результат как на файнтюне из которого вычиталось, если биас выкл, то гдето на 98% одно и то же.
2. Далее я эти веса полный подрубаю в нетворквейт, при валидации ключей бофт алгоритм сыпет мне миссингкеями, которых ясное дело нет в полученной лоре через вычитание.

Собсно тренировка идет дальше спокойно пропустив миссинг кеи.

Я щас 1степ тренировку ебанул чтоб бофт получить и щас смержу его с лорой полученной вычитанием, посмотрю че будет.
Аноним 11/05/25 Вск 06:08:49 1198200 287
>>1198198
>Я щас 1степ тренировку ебанул чтоб бофт получить и щас смержу его с лорой полученной вычитанием, посмотрю че будет.
А ну да хуй мне, бофты не мерджатся с локонами.
Аноним 11/05/25 Вск 06:10:07 1198202 288
>>1198200
Щас попробую тогда соединить бофт с моделью и из модели вычесть сдхл.
Аноним 11/05/25 Вск 06:16:09 1198203 289
>>1198198
А, ну ты тренишь экстракт файнтюна, а я делал только с экстрактом чистой модели, в моем случае если где-то обосрался, то всепизда, в твоем вообще похуй по идее.

Дай сам воркфлоу тренировки или скажи где посмотреть референс, а то я лапшу первый раз ковыряю, до этого она у меня в swarm стояла ток как бэкенд. И уже сука мозги ебет не может сама найти ноды из воркфлоу которое я по первой ссылке скачал...
Аноним 11/05/25 Вск 06:30:43 1198204 290
>>1198202
Кароче нет, так тоже не работает.

>>1198203
> ну ты тренишь экстракт файнтюна
Да, ток хуй его знает че на самом деле под капотом там щас происходило, но результаты разные, артефактиков меньше.
>а я делал только с экстрактом чистой модели
Так падажжи, я не понял, поясни
>Дай сам воркфлоу тренировки или скажи где посмотреть референс
Так я не в комфе треню, а через сдскрипты просто.
Аноним 11/05/25 Вск 06:30:48 1198205 291
А, или это >>1174546 не тренировка?
Аноним 11/05/25 Вск 06:37:21 1198208 292
Аноним 11/05/25 Вск 06:40:45 1198211 293
>>1198208
Да, я нашел уже, вроде в гуе есть. Посмотрю, пока надо разбираться.
Аноним 11/05/25 Вск 07:49:11 1198215 294
>>1192171
> (Я это просто вспомнил сегодня, не в претензию его автору. Важный момент, который может сильно запутать того кто разобраться хочет с работой диффузионок, там 0 это 0 шума всегда.)
Мимо автор записок шизофреника. Я совсем забыл про эту херню, написал это туда, так как понимал на ту дату, после с кем то в треде пообщался, проверил инфу и понял что был не прав. Ну вроде поправил, можешь даже чекнуть, если опять обосрался где, охладел к поиску гиперпараметров чуть более чем совсем, особенно после выхода иллюстриуса, хз, буквально считаю что 90% зависит от базовой модели и датасета, 9% от оптимайзера, 1% от остального пердолинга, поэтому даже новые фичи не чекаю особо, единственное вау было от едм, единственный из которых, сумел пофиксить артефакты от нуба с cfg++ сэмплерами после тренировки такой лоры
Аноним 11/05/25 Вск 08:01:19 1198216 295
Запустил короч бофт, ниче особо не тыкал, лора как и в прошлый раз экстракт базы 128 ранга.
Че он там тренирует я вообще хз, но лосс в норме, слои не проебались. Кейсами так же насрало.
Но то что скорость в 6 раз меньше это конечно совсем лол, видюха чилит на половине нагрузки. Завтра посмотрю че получилось.
Аноним 11/05/25 Вск 14:59:55 1198422 296
image.png 9Кб, 412x113
412x113
День добрый, как эту херню чинить?
Вопросы для общего понимания Аноним 11/05/25 Вск 15:54:51 1198490 297
изображение.png 175Кб, 1533x863
1533x863
изображение.png 1390Кб, 1008x1232
1008x1232
Хочу разобраться как это всё работает, несколько вопросов касательно sd-моделей. С несложными нейронками работал на torch в другой области во времена tensorflow 1, математическая база по изображениям/звукам на уровне свёрточного автоэнкодера без обратных связей, за шаг или два до концепции GAN, которую понимаю, но не кодил и не обучал. Про текущее состояние и что там понавыходило, трансформеры всякие и сети с вниманием - ничего не знаю, пока что.

1 — Есть 1.5 с "целевым" разрешением 512х512, есть 2.0 с разрешением 768х768 без других крупных изменений, есть sdxl с разными разрешениями около 1024х1024, и его разбили на две сетки с общей концепцией и с деталями; и вот недавно вышла 3.5, где напридумывали непонятно что и непонятно чего, непонятно с каким результатом, и мне к ней ходить пока не надо, да и обучать я её ни в каком виде всё-равно почти не смогу. Всё верно?

2 — Вот все те сетки анимешные и другие - это люди брали чистую архитектуру, для примера, SDXL и обучали её с нуля по выкачанным с бур картинкам? Или брали исходные веса SDXL и дообучали уже их? Откуда они брали текстовые описания, просто теги брали? Это разве не должно люто вредить способностям кодировщика понимать описания вида "черепах сидит внутри скворечника"?

3 — Подавляющее число анимешных сеток SDXL соединили веса base/refiner в одну u-net или просто выкинули refiner, получив что-то по архитектуре крайне близкое к sd1.5 с другими разрешениями?

4 — Картинка 1. Я правильно понимаю, что "вариант 1" в среднем не рабочий, таких обозначений не было (было мало) в датасете и эти веса совершенно точно во всех случаях если и учитываются, то крайне нелинейно и сеткозависимо? А вот "вариант 2" уже честно собирает линейную комбинацию.
Есть нода, которая автоматически из первого второе посчитает внутри по числу "тегов" вызвав clip-модель и объединив это — или эту ноду нужно написать? Точно не уверен, но субъективно мне намного понятнее как подправить картинку во втором случае. В первом же даже если "с весом" 0.01 или 0.0 указывает - всё изображение с ног на голову переворачивается и там совсем иное выходит.

5.1 — Картинка 2. Почему эта нода почти не работает, и изображение по границе области распепячивается? Аналогичная ситуация с маской. То есть если рисуется трава - ещё куда не шло, особенно на низком cfg, на высоком трава с двух метров - а пустыня, это перспектива далёкая под другим углом обзора. Если же я ставлю туда персонажа, то он тупо обрезается по маске/квадрату. То есть если убрать ограничение по области - поза и позиция на кадре будет такая же, только не обрезанная, оно даже не пытается как-то сгладить границу и органично вписать персонажа. Мне почему-то казалось, что оно на первом шаге видит квадрат, а потом с каждым шагом пытаясь снизить шум позволяет протекать промту из одной области в другую, пока шум не упадёт до состояния корректного изображения? Или это с сеткой проблема, и она такое не умеет, считает даже такие изображения корректными?

5.2 — Как тогда работает control-net? Он же "кондиционирование" преобразует, а не латентный слой. Мне как-то казалось, что он по смыслу вот много таких действий делает (для каждой фигни устанавливая область действия и процентаж). Но почему-то он работает, а ручное указание области не очень.

6 — control-net сетка для sdxl более-менее подходит и корректно работает для всех сеток sdxl сделанных из исходной (на которой учили control-net)?

7 — Верно ли я понимаю, что v-pred и eps, это по сути выбор loss; второй можно мешать с любыми семплерами/планировщиками, а вот первый из-за способа обучения прибивается глазами к планировщику и будет выдавать что-то странное с другими?
Аноним 11/05/25 Вск 16:13:30 1198524 298
>>1198216
>ниче особо не тыкал
Там основные два параметра это rescale=True, который каждому слою/блоку добавляет дополнительный тюнер в виде рескейл-слоя, повышающий точность/степень свободы изменения и является масштабирующим коэффициентом вывода; и constraint, который является пределом, то есть нормализацией и сдерживает рост весов, предотвращает переобучение, управляет с какой силой ортогоналки будут морфить веса модели, где 1 это 100% изменение если у тебя веса в целом обновляются по мощности для полного изменения, в зависимости насколько у тебя агрессивные настройки, сила градиентов и сила шага, при нулевом констрейнте ограничения нет, при 0.1 будет очень сильное сдерживание изменения весов. Альфа соответственно просто заглушка и не используется, дублируя значение констрейнт для сборки лоры обратно.
>Но то что скорость в 6 раз меньше это конечно совсем лол
Ну да, бофт с полными матрицами же работает, там вся мякотка в том что ты можешь суперагрессивно тренировать (вот у меня тестовые прогоны с 0.1 0.1 по beta 1 и 2 по дефолту например, то есть моментумы помнят примерно 1 шаг только и реагируют на изменения градиентов моментально) и достигать результата быстрее при этом сохраняя структуру модели. Если надо именно быстрее тренировать по времени на шаг то есть Diag-OFT, но там сила изменений очень маленькая, т.к. модифицируются только базисные векторы через пару диагоналей на матрицу применяющихся поэлементно.
11/05/25 Вск 16:55:47 1198569 299
>>1198490
1 yes
2 брали исходные веса SDXL и дообучали уже их
- Откуда они брали текстовые описания - есть кучи taggers, тупо сетки делают описания картинок для обучения. florence 2 например и другие. для черепах внутри скворечника потом сгенеренное еще правят руками
3 рефайнер не нужен, тупо забили все
4 вариант 1 рабочий, веса в промпте вычисляются до вызова сетки. у комфи есть нода для альтернативных интерполяций учету этих весов (нормализаци, интерполяции от нуля и другое - не-comfy-дефолтные варианты в среднем лучше работают)
5.1 где-то ты накосячил, хули. гугли Differential Diffusion для комфи
5.2 контролнет это как промежуточный шаг над латентами. сначала сетка меняет латенты под текущий шаг, потом контролнет подправляет под кондишионинг свой. и так до упора.
6 на всех от базовой, да, с разной степенью хорошести. вот для illustrous/pony уже не работает потому что там переучивание слишком глубоко пошло, под них и контролнеты надо заново учить (но никто этого не сделал)
7 не, разница глубже. v-pred это попытка натянуть в sdxl то что делается во flux (но без трансформеров). v-pred ни с чем остальным SDXLным не стыкуется, это отдельная песочница
Аноним 11/05/25 Вск 17:19:31 1198580 300
>>1198490
>Есть 1.5 с "целевым" разрешением 512х512, есть 2.0 с разрешением 768х768 без других крупных изменений
Да, 2.0 это полторашка с большим размером.

>есть sdxl с разными разрешениями около 1024х1024
SDXL обе что EPS что v-pred (CosXL) в 1024 в базе, это файнтюнщики могут какой угодно размер тренировать в принципе.

>и его разбили на две сетки с общей концепцией и с деталями
Имеешь в виду базу и рефайнер?

>и вот недавно вышла 3.5, где напридумывали непонятно что и непонятно чего, непонятно с каким результатом
Это архитектура мультимодал дифужн трансформер вместо сверточных юнетов ранее + T5, что позволяет сетке понимать хуман лангвидж.

>да и обучать я её ни в каком виде всё-равно почти не смогу. Всё верно?
Медиум сможешь в целом, он небольшой.

>Вот все те сетки анимешные и другие - это люди брали чистую архитектуру, для примера, SDXL и обучали её с нуля по выкачанным с бур картинкам? Или брали исходные веса SDXL и дообучали уже их?
Второе.

>Откуда они брали текстовые описания, просто теги брали?
Есть когда брали теги (в нубе например все теги буры работают), есть где генерировали описания с помощью нейромокрописек автотаггеров (натвис, бигасп), если где автор ебнулся и придумал скоринг внутри клипа, сломав его (пони).

>Это разве не должно люто вредить способностям кодировщика понимать описания вида "черепах сидит внутри скворечника"?
Что именно должно вредить? Ты можешь как угодно дотренировать текстовый енкодер под свою задачу и свой уникальный говнофайнтюн, он просто потеряет частично прошлые знания, если тренировка агрессивная (как у поней случилось).

> Подавляющее число анимешных сеток SDXL соединили веса base/refiner в одну u-net или просто выкинули refiner, получив что-то по архитектуре крайне близкое к sd1.5 с другими разрешениями?
Рефайнер это отдельная моделька, ее практически никто никогда нигде не юзает, потому что а нахуй надо, есть сотни тыщ апскейлеров, которые делают то же самое и лучше и быстрее. Так что только базу тренируют.

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

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

бля заебався писать
Аноним 11/05/25 Вск 17:36:46 1198602 301
image.png 339Кб, 1280x723
1280x723
image.png 152Кб, 1049x663
1049x663
>>1198490
>Есть нода, которая автоматически из первого второе посчитает внутри по числу "тегов" вызвав clip-модель и объединив это — или эту ноду нужно написать?
Скорее всего есть, потому что есть всякая хуита типа пикрелов.

>5.1 — Картинка 2. Почему эта нода почти не работает, и изображение по границе области распепячивается?
Потому что регион промтинг не работает на свертках корректно без дополнительных мокрописек автоматических (просто как пример https://github.com/lllyasviel/Omost там автоматом на сонове промта в ллм ебашится корректное полотно в границах которого генерируется предложенное) или ручных (где цветами красишь холст и указываешь сетке в какой области что будет, есть чуть автоматизированное с помощью ипадаптеров и контролнетов региональных через пак мокрописек для криты - krita ai diffusion)

>Как тогда работает control-net? Он же "кондиционирование" преобразует, а не латентный слой. Мне как-то казалось, что он по смыслу вот много таких действий делает (для каждой фигни устанавливая область действия и процентаж). Но почему-то он работает, а ручное указание области не очень.
Контролнеты и прочие адаптеры являются гайдерами для сети, они на это и наточены, а у сдхл по дефолту нет таких функций.

>control-net сетка для sdxl более-менее подходит и корректно работает для всех сеток sdxl сделанных из исходной (на которой учили control-net)?
Не совсем. Объебанным поням нужны некоторые свои контролнеты например, но есть типы контролнетов которые работают на любых файнтюнах.

>Верно ли я понимаю, что v-pred и eps, это по сути выбор loss
Не, епс предсказывает шум, впред направление, это буквально "Что было добавлено к...?" у eps и "как изменяется ... по времени?" у впред
Аноним 11/05/25 Вск 18:03:26 1198636 302
изображение.png 638Кб, 1676x1105
1676x1105
ComfyUItempxvqr[...].png 2388Кб, 1024x1024
1024x1024
изображение.png 251Кб, 1633x972
1633x972
Угу, понял, полез дальше разбираться.

>>1198569
>контролнет это как промежуточный шаг над латентами
Ну, в ноде он принимает то что от клип-модели выходит и выдаёт то же самое, нет никаких латентов изображения в ноде применяющий контрол-нет. То есть я понимаю, что потом это каждый шаг в применяется, но я о том, что до вызова хотя бы одного семплера уже достоверно известен тензор, который после применения контрол-нета получается, и он уже никак не меняется. Третья картинка. Семплер даже не нужен. Я могу этот тензор сохранить, и потом подать вместо выхода от клип-модели на нужно мне число шагов. Как-то уже не совсем корректно, что тут именно контрол-нет что-то подправляет под кодишионинг, он же уже отработал, и больше ни один вес контрол-нета ни на что не умножается.

>>1198580
>Рабочий только тот вариант который в скобочках и сила просто умножает эмбединг на заданное число перед передачей в модель.
Неа. Умножение на ноль должно стирать тег. Первая картинка. Как видишь, вариант с объединениями "кручную" даёт вариант схожий с нулём. А вариант со скобками и нулём влияет на изображение, хотя не должно. Я вот об этом. Исходя из этого я делаю вывод, что параметр нелинейно влияет на силу тега (что было бы логично), а если нелинейно - то я не слишком понимаю что эти цифры обозначают.
Аноним 11/05/25 Вск 19:08:15 1198709 303
>>1198636
> Умножение на ноль должно стирать тег.
1. Не должно, на ноль умножать низя.
2. В позитивном промте нет функции вычитания, а в негативном промте вычитание есть, но оно ослаблено относительно позитива.

Есть олдовые экстеншоны, который позволяют в позитиве использовать негативный промтинг потому что сила позитива во много раз выше негатива, для а1111 был экстеншон я ток название не помню, там прямо (token:-1) в промте позволяло писать и оно даже как-то работало. Вспомнил только вот эту хуйнюшку https://github.com/muerrilla/stable-diffusion-NPW
Аноним 11/05/25 Вск 19:24:26 1198722 304
Аноним 11/05/25 Вск 19:25:50 1198725 305
Аноним 11/05/25 Вск 23:28:04 1199029 306
>>1198204
>Так падажжи, я не понял, поясни
Вчера запарился пропустил вопрос.

Ну я делаю экстракт через разницу с нулевой моделью и треню его вместе с разницей модели и экстракта. Нужна только одна любая модель. Это в точности то же самое по сути что делают в статье отсюда https://github.com/GraphPKU/PiSSA
Че это дает в плане качества хз, ибо у меня пока нет норм тестового датасета на пони. Но тренировка так идет вполне, это видно.
Прикол в том, что если какой-то блок проебется, то всей модели пизда в таком случае. А когда ты делаешь экстракт файнтюна, экстракт лоры, он получается резиновый очень мягкий, его можно резать на слои без проблем, и там этого не видно.
Поэтому трень как я если хочешь проверить что точно ничего не ломается.

>>1198524
>rescale=True
Это в network_args в \LyCORIS\example_configs\training_configs\kohya\lycoris_full_config.toml пихать?


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



Сейчас мне кажется интереснее вариант с экстрактом файнтюна, как ты делаешь. Во первых, как бы идет продолжение его тренировки, но в компактной лоре, можно взять ранг пониже. Главное взять моделью разницу от файнтюна, а не исходную базу как это обычно пытаются сделать. Тогда не теряется точность.
Потом я думаю, стоит слить их вместе где-нибудь к концу, и перегнать в экстракт уже этой тренировки, рангом пониже. Линейной интерполяцией смержить его с нулевой лорой, весом ~0,8, чтобы уменьшить веса, и дотренить немножко.
Аноним 12/05/25 Пнд 01:04:52 1199128 307
>>1199029
>Ну я делаю экстракт через разницу с нулевой моделью и треню его вместе с разницей модели и экстракта. Нужна только одна любая модель.
Вот смотри ты получаешь нулевую модель, потом из файнтюна вычитаешь нулевку, получая лору, так? Далее при тренинге ты указываешь изначальный файнтюн в качестве основы или нулевку? А в нетворк вейтс пихаешь экстракт от фт минус нули?

>Это в network_args
Да, в нетворк аргс, без разницы через томл или через батник, я чисто на батнике дрочусь вот конфиг примерный если надо посмотреть https://pastebin.com/Dyv2izMs

>Я взял фикс экстракта, который был прогнан через один шаг тренировки обычной лоры, а все таки надо было прогнать через бофт.
Так а смысл, там нонтайп ошибки лезут если пытаться плюсовать к экстракту. Или ты про другое?
Аноним 12/05/25 Пнд 02:20:17 1199183 308
>>1199128
Не. Смотри, вообще идея статьи что ты разбиваешь модель через svd на 2 составляющие, обычно вся инфа весов сосредоточена в меньшей части рангов, которые дает это преобразование. Правильно называть эти "ранги" сингулярными значениями, но пускай будут ранги, ибо многим тут это интуитивно понятнее.
Я про это вроде немного недоговорил в начале, зачем вообще все это делается.

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

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

Потом тебе надо получить идеальную разницу между исходной моделью и лорой, если она будет неидеальной, все сломается. Эта разница будет содержать все остальные ранги + слои и параметры которых нет в лоре.
Для этого ты мержешь пересохраненную лору с нулёвкой, а потом вычитаешь эту хуйню из исходной модели.
Кладешь результат как основу в тренер. Пересохраненую лору в нетворк вейтс.

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

>Так а смысл, там нонтайп ошибки лезут если пытаться плюсовать к экстракту. Или ты про другое?
Я это еще буду тестить. Засунул в бофт по сути просто лору обычную в нетворк вейтс. Но я где-то тренировку энкодера выключил или включил и на вид как-раз только он и проебался.
Аноним 12/05/25 Пнд 02:31:38 1199192 309
>>1199128
>конфиг
Алсо, нахуя тебя адам8бит с такими бетами?
Аноним 12/05/25 Пнд 02:39:24 1199196 310
>>1198636
> параметр нелинейно влияет на силу тега
Да, всё так, только compel более менее достоверно умеет в down weighting https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb
> то я не слишком понимаю что эти цифры обозначают
С дефолтной интерпретацией весов примерно так - 0.8 почти линейно, 0.6 ещё чуть меньше влияния, дальше сколько бы не поставил похуй, всё равно тег будет влиять на картинку и появляться
Аноним 12/05/25 Пнд 03:18:28 1199212 311
image.png 13Кб, 514x514
514x514
>>1199192
>нахуя тебя адам8бит с такими бетами?
Угараю по агрессивной тренировке, много моделек делаю и ждать пока там сойдется где-то через год лень. Меньше беты - быстрее сходимость.

Дефолтные 0.9/0.999 вообще есличе задумывались для ебических датасетов с такими же ебическими батчами, если у тебя меньше 10к картинок в сете и маленький батч то смысла сильно усреднять с большой инерцией никакого нет, т.к. у тебя с условным датасетом в 100 картинок оптим будет помнить о неоптимальных градиентах первой эпохи и через 100 эпох на малом батче, что получается бессмысленно и даже вредно. А вот если у тебя наоборот условный датасет в 1 млн картинок и батч например 100, то это уже имеет смысл, т.к. пока пройдет одну эпоху несколько раз забудет че там было в начале + инерция сгладит все говно. Кароче правило по бетам такое: малый датасет + малый батч -> меньшие беты, большой датасет + большой батч -> большие беты.

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

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

Ну и плюс тут huber в качестве типа лосса от излишних шумных данных доджит, можно l1 юзать.
Аноним 12/05/25 Пнд 03:53:38 1199222 312
>>1199212
Мог бы включить сгд, так как у тебя никакого накопления нет и тебе эти параметры в памяти нахуй не нужны.
Но правда второй момент еще работает, но он получается сглаживает величину больших градиентов до какого-то константного значения. Это что-то среднее между сгд и SignSGD.
Можно поправить формулу сгд и будет то же самое что у тебя сейчас.



Чет у меня сломалось и бофт больше не сохраняет лору как бофт. Тренировка тоже щас пошла быстрее как будто там лора обычная тренируется.
В первый раз сохранилось правильно, в 2 раза больше файл с нужными слоями по просмотру.
Аноним 14/05/25 Срд 17:34:30 1202612 313
>>1199222
>SignSGD
Пасеба, не пробовал ни разу, обратил внимание на это чудо и оно прям то что нужно без лишних заебов, моментум выставил и поехал, тренирует мое почтение.
У меня вообще есть список из кучи оптимов без бет и лишнего говна, которые надо попробовать, но руки никак не доходили, катал ток сгднестеров, но там поведение у него из-за степсайза очень медленное, на скорости ниже 0.1 тренировка пиздец вечность, а с 0.1 в принципе тоже долго но нестабильненько. Вроде как рмспроп лучше в этом в плане.
Аноним 14/05/25 Срд 22:45:43 1203138 314
>>1202612
>обратил внимание на это чудо и оно прям то что нужно без лишних заебов, моментум выставил и поехал, тренирует мое почтение.
Посмотри тогда еще Lion, это развитие SignSGD, у него интересная формула, он комбинирует текущий знак градиента с моментумом, гуглы его вывели путем генетических алгоритмов.

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

>рмспроп
Это вообще просто адам без первого момента.

Вообще еще раз советую тебе обратить внимание на то что ты можешь влезть в код оптимайзера и изи там поменять формулу на что-нибудь интересное. Там же литерали строк 5-10 в основе. И ллмка тебе их сама перепишет если ты опишешь идею.
Вот например сделать среднее между сгд и SignSGD, это просто добавить чтобы чем больше градиент, тем на большее значение он делится, придавливая большие градиенты. Можно выбрать коэффициент, линейный, не линейный. Можно добавить адаптивность от уровня градиентов на слое, на всей нейросетке, но это чуть сложнее. Например чтобы точно задать что надо давить 1/3 больших, либо половину. Можно придумать всякие шизовые схемы работы с моментами и натестить кучу коэффициентов.
Те же гуглы тестили на игрушечных нейросетках, на тупых метриках. А у тебя в руках настоящая нейронка где все видно прям сразу глазками, и не дохуя времени надо на это, можно проверить обобщаемость и переносимость между тюнами.
Была недавно статья что ллмки надо дообучать, просто обнуляя % самых больших обновлений весов, чтобы не переобучалась и нормально впитывала инфу не затирая старую

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

Кароч там все не так сложно, даже если ты не умеешь кодить. С ллмкой потянет. Если ты конечно не пытаешься какой-нибудь мюон реализовать, там пиздец, да.
Аноним 14/05/25 Срд 23:26:35 1203209 315
image.png 501Кб, 800x800
800x800
NKsFHJb.gif 644Кб, 620x480
620x480
>>1203138
>Посмотри тогда еще Lion
Вот лайон я трогал, и он как-то мне не понравился. Потом глянул синтеческие тесты козинстра и хрюкнул с шизопутя по ратсригину пикрелейтед.
>Это вообще просто адам без первого момента.
Я к тому, что у него путь почти идентичен сгд, но быстрее в разы.
>Вообще еще раз советую тебе обратить внимание на то что ты можешь влезть в код оптимайзера и изи там поменять формулу на что-нибудь интересное. Там же литерали строк 5-10 в основе.
Да я в курсе, было одно время желание въебать все принципы теории хаоса (ну конкретно достижение edge of chaos как идеальной точки) и всякие физические постоянные константы вместе с фракталами (фрактальные оптимы уже есть, но это вообще отдельная песня), но это еще миллион часов тестов, поэтому я стараюсь сосредотачиваться на готовых оптимах под задачи.
Аноним 14/05/25 Срд 23:34:28 1203214 316
>>1203209
> синтеческие тесты
Ты опять выходишь на связь? Лайон обходит адама на высоких батчсайзах, выше 128.
Аноним 14/05/25 Срд 23:36:24 1203217 317
>>1203214
Щас бы 128 батч на консумерской карте ебануть, дааааа...
Аноним 14/05/25 Срд 23:49:36 1203234 318
>>1203138
>Еще и как оптимизация работает поверх лор, бофтов, мне кажется никто в теории не знает, чтобы вот так взять и сделать какое-то предсказание которое хорошо ляжет на практику.
Кстати, по моему опыту офт практически с любым оптимом дружат, ну из тех что я гонял (продижи, адамы, шедулерфри), в смысле задача тренировки исполняется, перенос/обощение от хорошего до близкого к идеальному. У офтов единственный критикал спот это тренировка конволюшенов, т.к. очень быстро переполняет значениями и переобучает, поэтому либо надо снижать значительно скорость, что увеличивает время до результата по линейным слоям, либо сильно снижать констрейнт ограничение, что бьет по части переноса объектов требующих точности, либо вообще не тренить конвы. Вот бы была возможность тренить с разными скоростями конв и линейные была бы сказка.
Аноним 14/05/25 Срд 23:50:35 1203235 319
>>1203209
>Потом глянул синтеческие тесты козинстра и хрюкнул с шизопутя по ратсригину пикрелейтед.
Там у SignSGD такой же путь, только у него лр меньше. Это говнотесты.

>Я к тому, что у него путь почти идентичен сгд, но быстрее в разы.
Ну так он видит что градиент не меняется и херачит лр раз в 10. Такой ландшафт не показатель.
>NKsFHJb.gif
И еще та самая ошибочка в сгд которая увеличивает фактический лр с моментумом. Красный и зеленый путь не должен отличаться почти никак, например, это буквально ошибка о которой написано в торче еще давно и ее не убрали чтобы не ломались совместимости но написали что она есть.

>>1203217
>Щас бы 128 батч на консумерской карте ебануть, дааааа...
С аккумуляцией можно и ебануть... Было бы только понятно ради чего.
Аноним 15/05/25 Чтв 00:20:06 1203265 320
>>1203235
>Там у SignSGD такой же путь
Так он до маняминимума доползает корректно за 650 итераций, а лайон нет.
>Это говнотесты.
Ну дай метрику лучше.
>Ну так он видит что градиент не меняется и херачит лр раз в 10. Такой ландшафт не показатель.
Ну, резонно.
Аноним 15/05/25 Чтв 03:59:59 1203357 321
>>1203265
>Так он до маняминимума доползает корректно за 650 итераций, а лайон нет.
Лр разный и момент в SignSGD превращает ландшафт в достаточно выпуклый, вот он и сходится.
>Ну, резонно.
Считай что на такой картинке у сгд вот прям совсем нихуя неправильно выбран лр, а рмспроп выбирает правильный. Но ты же все равно будешь подбирать оптимальный и там уже разница не столь радикальна. На таких простых ландшафтах оптимальное схождение надо тестить вообще в пределах нескольких шагов, не больше, имхо. И считать минимум в точке останова не по верхушке (это уже к первой картинке) а по близости к центру. В нейросетке на многих параметрах и от дрейфа данных это примерно так и сгладится. Может быть, хз, трудно сравнивать такую задачу с реальной.
>Ну дай метрику лучше.
Реальная нейросеть, лол. И метрика уже поверх нее должна придумываться. Ну только не лосс и только на той нейронке на которой работаем, на разных датасетах.
Аноним 15/05/25 Чтв 04:06:32 1203360 322
>>1203357
>И считать минимум в точке останова не по верхушке (это уже к первой картинке) а по близости к центру.
* и еще делать много прогонов из разных точек, потом усреднять. Может быть придумать подбор гиперпараметров для каждого алгоритма и оценивать попадание в радиус за минимальное число шагов в какой-то части итераций.
Аноним 15/05/25 Чтв 15:22:01 1203929 323
>>1203357
>Реальная нейросеть, лол. И метрика уже поверх нее должна придумываться. Ну только не лосс и только на той нейронке на которой работаем, на разных датасетах.
Ну это как-то не систематизировано и непроверямо другими, потому что отконтролировать поведение на реальных данных ну субъективно слишком, нет таких идеальных данных с которыми согласятся все, а на шумах вообще смысла обучать нет ящитаю. Там же какая идея где козинстр гоняет тесты - есть две функции математические и используя их мы как бы получаем унифицированные данные поведения оптимайзера в пространстве признаков. Плюс мы знаем что условный адамв хорошо работает и хорошо достигает поставленного значения что в реальных данных, что в маняфункциях, что подтверждается блужданию по функции на картинках. Следовательно мы можем предположить, что любые другие поведения оптимов будут относительно точны при тестировании.
Отсюда выходим к
>Лр разный и момент в SignSGD превращает ландшафт в достаточно выпуклый, вот он и сходится.
Так как лр для функций неважен, то тест по лайону показывает что он либо долго сходится по нахождению минимума (дольше 650 итераций) на небольшом количестве батчей, либо делает это неверно в контексте функции. Я предполагаю, что он просто долго сходится, потому что на второй функции он к особо сложным признакам идет нормально, и ты при этом говоришь что "по 128 батчу ебет адам", а батч влияет на скорость схождения.
Аноним 15/05/25 Чтв 19:18:31 1204369 324
>>1203209
> Да я в курсе, было одно время желание въебать все принципы теории хаоса (ну конкретно достижение edge of chaos как идеальной точки) и всякие физические постоянные константы вместе с фракталами
Кароче ради прекола сделал фрактальный фильтр для signsgd через фрактальную маску важности, декомпозицию градиента и скользящее окно внимания. Ну типа принцип самоподобия фракталов для оценки важности. Получилось отлично, предсказуемо и минимум говняка и отклонений от датасета за исключением сильной агрессии. Погуглил есть ли оптимы с фрактальными фильтрами и чет никто не сделал еще похоже, topk и snr фильтры обычные есть, а фрактальчиков нема. Там еще минусик вроде что значения в одномерное пространство переводятся, ну то есть 2д слом конв не будут нативными, топк можно ко всему применять если что.
Еще бы уметь кодить самому это говно, а то гпт контекст оптимайзера постоянно теряет и предлагает впиздячить еще больше кала в код.
Аноним 15/05/25 Чтв 22:01:00 1204588 325
>>1204369
У тебя там любой бред что-ли заебись работать начинает с первого раза? Че ты там такое тренишь интересно.

>фрактальный фильтр для signsgd через фрактальную маску важности, декомпозицию градиента и скользящее окно внимания. Ну типа принцип самоподобия фракталов для оценки важности.
Непонятно без кода, я такие фильтры ни разу не трогал, не шарю за них.
Для одного параметра градиент только от него учитывается или от других тоже?
>Еще бы уметь кодить самому
Ллмки быстрее научатся.


Я все пытаюсь понять как бофт работает. Ну типа я могу представить как матрица на матрицу в голове умножается. По дефолтной схеме очевидно. До меня чет не сразу доперло что если умножений несколько их можно так же застакать и визуализировать как одно.
Нашел такие визуализации https://pytorch.org/blog/inside-the-matrix/, там даже конструктор есть интерактивный, тоже можно стакать умножения, но чуть не так как я себе это представляю в деталях.
Идея то вроде понятна, но надо в голове все собрать на каком-нибудь мелком примере.

Кстати, в ликорисе посмотрел реализацию, там для него нет кастомного куда-ядра, как в этой либе например https://github.com/huggingface/peft/tree/main/src/peft/tuners/boft
Наверное поэтому оно такое медленное.
Аноним 16/05/25 Птн 10:08:57 1204968 326
>>1204588
>У тебя там любой бред что-ли заебись работать начинает с первого раза?
Ну не с первого раза и не совсем корректно, но в принципе да.
>Че ты там такое тренишь интересно.
Все подряд, для точных тестов это ебла, для предметки всякие тостеры теслапанковые, есть сеты для допила знаний о концепте о котором знает сеть недостаточно. Еще есть отдельные тест на адопшен в виде граффити текстов, но это совсем нишевая поебень для сдхл.
>Непонятно без кода, я такие фильтры ни разу не трогал, не шарю за них.
Ну если я заставлю корректно фракталы работать с любыми слоями вообще, то скину, пока могу только top-k обычный скинуть, это абсолютная фильтрация от нормы и Top-k Relative которая берет процент самых изменяемых параметров с наибольшими относительными изменениями градиента, так скажем рабочий вариант и простой как палка, все остальное сложно сложно нипанятна...

В общем концепт фрактальной залупы такой, есть в теории хаоса такой концепт как edge of chaos, то есть точка где данные переходят от порядка к хаосу и наоборот. Хаос в целом связан с фрактальными системами (постоянные Фейгенбаума и прочие приколы), таким образом мы можем сделать предположение что чтобы выделить действительно важные данные из градиента, которые содержат ядро обучения новым данным, то эти данные не должны быть фрактально подобны общей структуре градиента.
То есть то место где градиенты регулярны и устойчивы - они менее важны, где градиаенты хаотичны или локально нестабильны - с огромной вероятностью содержат обучающую информацию прямо на границе хаоса и именно ее нужно брать.

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

Там основаня проблема только в размерностях, условно юнеты поставляют шестимерные данные в основном, а базовая формула F считает трехмерные, двумерные, одномерные (причем в основном одномерные корректны для фрактализации). Поэтому чтобы пофиксить говно надо например использовать маску на основе локальной вариации std в виде простого kernel через unfold, чтобы он работал с любыми размерностями, но это ебейший костыль и не нативное поведение фракталов и тогда не работают вейвлет декомпоз, который тоже часть фрактальной структуры. Можно в принципе соединить несколько типов разложений для всех вариантов пространств, но это будет солянка уровня вот тут у нас топ-к для конв, вот тут фракталы для лин, вот тут снр для атеншенов, кароче ненужная сложность которую еще отдельно настраивать каждую.

>Для одного параметра градиент только от него учитывается или от других тоже?
Если речь о фракталах, то задается через окно внимания, больше окно - больше сопредельные параметры берутся, меньше окно - более локальные.

>Я все пытаюсь понять как бофт работает.
Как я понимаю: вместо обычных дополнительных весововых блоков в низком ранге, как в лоре, офт использует структурированные матрицы на всем протяжении так скажем весовой матрицы (в виде диагоналей, то есть там берется условный квадрат и построчно выстраивается диагональ средних значений, ну вот как в видосе про SVD расписано вот также и тут), которые состоят из множества простых маленьких блоков, последовательно преобразуя данные (у тебя по ссылке в анимациях видно), всегда остаются стабильными (их невозможно взорвать при обучении), не ломают сеть (сохраняет предобученню структуру), и симулируют настоящие большие матрицы, но с искусственно факторизованным количеством параметров.

>но надо в голове все собрать на каком-нибудь мелком примере
Я бы считал офт глобальной фильтрацией. Вот у тебя есть фото лица, и есть обученная матрица офт с новыми параметрами лица, офт встраивается как фильтр и докручивает изначальные весовые данные до фильтрованных, масштабируясь на протяжении всех весовых значений.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов