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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 387 116 121
Stable Diffusion технотред #20 /tech/ Аноним 11/07/25 Птн 04:39:36 1272560 1
training methods.png 1034Кб, 3510x2910
3510x2910
diffusion proce[...].png 358Кб, 2546x1822
2546x1822
lr.png 252Кб, 1853x624
1853x624
performance cha[...].webp 53Кб, 1200x900
1200x900
flux arch.jpg 1196Кб, 3258x3242
3258x3242
sd3 mmdit arch.png 257Кб, 2004x1372
2004x1372
ИТТ делимся советами, лайфхаками, наблюдениями, результатами обучения, обсуждаем внутреннее устройство диффузионных моделей, собираем датасеты, решаем проблемы и экспериментируем Тред общенаправленныей, тренировка дедов, лупоглазых и фуррей приветствуются

Предыдущий тред: >>1118663 (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/
Аноним 13/07/25 Вск 22:35:15 1275731 2
image.png 79Кб, 1474x478
1474x478
14 часов достаточно агрессивной тренировки на продижах с идеально выдроченным микродатасетом, и ошибка все еще снижается.
Вопрос: какая комбуха из лосс функции и оптимайзера по вашему мнению имеет наиболее быстрое, эффективное и мощное схождение?
Аноним 13/07/25 Вск 22:45:23 1275745 3
1690712757307.png 77Кб, 1000x600
1000x600
1656195902382.png 72Кб, 1000x600
1000x600
1640148602337.png 328Кб, 2023x1168
2023x1168
>>1275731
Loss это не метрика. Он куда угодно идти может. Пикрил на 1 пике датасет на 3к пикч с парой десятков концептов, лосс как будто бы даже вверх идёт, потому что некуда сходиться, все пики разные, вот и лосс как рандомный шум. На втором пике датасет из 10 пикч на стиль, с абсолютно такими же параметрами. Оба оттренились как положено.
> лосс функции
Пик3 - как выглядит loss настоящих мужчин.
Аноним 13/07/25 Вск 23:40:25 1275855 4
>>1275745
>Loss это не метрика. Он куда угодно идти может.
Позвольте, снижение ошибки предсказания это главная метрика стабильного вывода.
>Пикрил на 1 пике датасет на 3к пикч с парой десятков концептов, лосс как будто бы даже вверх идёт, потому что некуда сходиться, все пики разные, вот и лосс как рандомный шум.
Это говорит о том, что модель не может сообразить как правильно предсказывать, поэтому наоборот старается вычленить более общее сначала и лосс растет. В далеком будущем она обобщит лучше и лосс будет снижаться. Плюс надо иметь в виду что вероятно это лора, а она парметрическую емкость низкую имеет.
Аноним 14/07/25 Пнд 01:28:54 1275958 5
>>1275855
На втором пике у меня лосс вниз пошёл потому что было 500 эпох, а в первом случае 3. На качество финального результата это никак не влияет, это ты просто видишь как сетка запоминает конкретные пикчи. Попробуй потренить большой датасет в одну эпоху с тем же стилем как и у модели, тоже не увидишь снижения лосса.
Аноним 14/07/25 Пнд 18:07:09 1276638 6
Для тренировки на noobai нужно ставить debiased_estimation_loss если с edm2 тренируешь? edm2 же автоматически выставляет приоритет таймстепов, а как я понял debiased_estimation_loss тоже выставляет приоритет, только статически и увеличивает важность последних шагов
Аноним 14/07/25 Пнд 19:27:02 1276769 7
это нормально, что Forge больше чем в 2 раза быстрее, чем automatic1111? там в районе 250% ускорение - было примерно 2 it/s, стало примерно 5

я что-то не верю в такие оптимизации и мне кажется, что где-то что-то отвалилось или скипается посередине генерации.
модель и лоры запускаю такие же, семплеры и их конфиги тоже такие же, настройки в Settings тоже вроде похожи, а картинки генерятся быстрее, что за фигня? или там реально прям так сильно оптимизировано (или автоматик1111 - тормознутая хуйня?)
Аноним 15/07/25 Втр 00:41:55 1277383 8
>>1276769
>(или автоматик1111 - тормознутая хуйня?)
Да, если бы ты сидел на нём с начала, ты был бы в курсе кто его и руками из какого места торчащими делал.
Аноним 15/07/25 Втр 02:22:26 1277456 9
>>1276638
Что то одно юзай
>>1276769
> или автоматик1111 - тормознутая хуйня?
Да, на заре эпохи xl было буквально в два раза медленнее, чем сейчас можно выжать
Аноним 15/07/25 Втр 11:02:08 1277670 10
>>1276638
а в каком тренере едм2 вкостылен нормально?
Аноним 15/07/25 Втр 11:08:48 1277678 11
>>1276769
скорее всего такая большая разница из-за версий сопутствующего софта. автоматик1111 я запускал с питоном 3.11 и какими-то старыми трансформерами и торчем, а форж с питоном 3.13 и свежими трансформерами и торчем.
так шо не всегда обновления делают только хуже, иногда и улучшают.
Аноним 16/07/25 Срд 15:21:18 1279002 12
Клайбиус накодил наканецта свой магнум опус оказывается

https://github.com/Clybius/Personalized-Optimizers/blob/main/TALON.py

Что ето: Temporal Adaptation via Level and Orientation Normalization, адаптивный оптимизатор, направлен на стабильность, адаптацию к направлению и масштабу градиента, и устойчивость к шуму (судя по мои тестам полностью насрать в хорошем смысле на неоднородность даты и количество концептов). Наследует идеи из Compass, AdaNorm, Adam, Adan, DoRA и адаптивных спектральных нормализаторов, но соединяет их в единую систему, при этом не требуя тонкой настройки гиперпараметров (там буквально нечего менять, вставил и поехал).

Общие майлстоуны:
1. Отдельно отслеживает знак и величину градиента через два EMA, рассчитан на работу с высоким lr.
2. Применяет атан2-нормализацию вместо обычного деления (то есть никаких клипперов использовать дополнительно не нужно, если ты используешь, но атан2 замедляет обучение вместо деления, имейте в виду).
3. Может использовать спектральное клиппирование (вкл по дефолту), инвариантное преобразование (тестовая опция, выкл) и ортогональные градиенты (опция, выкл).

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

Из личных минусов разве что медлительность с Huber с адаптивным snr (что очевидно, т.к. талон сам супер осторожный, а тут еще слабые сигналы от snr фильтра хубера, кароче мультипликативный эффект), там прямо чуть ли не 1e-1 скорость можно выставлять, шестичасовой тест на 1e-3 с двумя десятками эпох дал прекрасный тонкий результат без говна в выдаче, но точно скорость можно выше выставить, возможно требует дельту подкорректировать. С l2 работает бодрее и lr наоборот пониже. l1 не тестировал.

Debiased est loss переваривает отлично (многие оптимайзеры не переваривают задранные таймстепы), так что в целом любое вмешательство в них допускается, кому не лень может едм подрочить.
Аноним 16/07/25 Срд 21:23:41 1279630 13
>>1279002
> градиент-клиппинг погоняет градиент-клиппингом
Бесполезное говно, как и десяток подобных до него, ещё и медленное. Смысл чистить всратый mse/huber-лосс душением градиентов, если уже давно придумали делать wavelet-декомпозицию лосса, сужай сколько хочешь влияние мусора.
Аноним 16/07/25 Срд 23:47:37 1279759 14
>>1279002
Цифры бы увидеть, метрики или хоть какой-то живой результат, а то хуй поймешь шиза это или нет.
Вот мюон например уже показали что на 30% лучше работает, но только если с нуля обучать, но если не с нуля то хотя бы память экономит. Но может вызывать дополнительную нестабильность на долгой тренировке.
А на лорах это вообще другой мир где по нюансам оптимизации 0 работ.
Аноним 16/07/25 Срд 23:51:54 1279762 15
image.png 166Кб, 1463x1114
1463x1114
>>1279630
>делать wavelet-декомпозицию
Ты про эту хуйню с пика из дифужн4к чтоли? Не работает с bf16, только с флоат32 -> на хуй идет.

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

>как и десяток подобных до него
Перечисляй.

>ещё и медленное
Медленное это FMARSCropV2, а тут чуть медленнее продижей.
Аноним 17/07/25 Чтв 08:52:26 1279861 16
>>1279762
> Не работает с bf16
С чего бы ей не работать? Всё работает.
Аноним 17/07/25 Чтв 20:47:31 1280531 17
Аноним 17/07/25 Чтв 21:12:28 1280584 18
>>1280531
Пруфы чего? Я сейчас только так и треню, обычного лосса нет у меня, выше скрин кидал с кодом расчёта лосса с автоматическими весами от timestep.
Аноним 17/07/25 Чтв 22:58:19 1280677 19
>>1280584
ну дай код реализации и как впендюрить в скрипты, че из тебя щипцами вытягивать?
Аноним 18/07/25 Птн 06:46:56 1280881 20
image.png 146Кб, 2349x895
2349x895
image.png 32Кб, 1396x228
1396x228
image.png 11Кб, 1303x60
1303x60
>>1280677

кароче вроде впердолил эту поебистику

нигде нихуя не написано как куда сувать, как будтов се погромисты дохуя

1. в трейн нетворке

строка 465 loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c, timesteps)
строка 470 loss = loss

(вероятно будут ошибки если с классическими лоссами включать обратно, не проверял)

2. в трейн утиле

а) пик1, ввести новый тип лосса
б) после импортов запихать пик2
в) добавить в импорты
import torch.nn.functional as F
from pytorch_wavelets import DWTForward

вроде работает гавно, уже сдохло нахуй
Аноним 18/07/25 Птн 06:55:17 1280885 21
>>1280881
>уже сдохло нахуй
ха, прикол, не сдохло с такими конскими значениями оказывается, прям четенько результат уже на первой эпохе
Аноним 18/07/25 Птн 06:59:52 1280886 22
image.png 94Кб, 1363x706
1363x706
>>1280881
Там кстати погромист который дрочится с вейвлетом полевельно веса сделал, можно типа отключать каждый лвл отдельно и влиять только на чтото конкретное, в коде отсюда >>1275745 не реализовано

кароче можно пул реквест для кои открывать, пусть добавляет, ток проверю как с другими лоссами работает теперь
Аноним 18/07/25 Птн 21:38:47 1281884 23
>>1280881
ну это прям шикардос результы у меня с этим, я еще таких крутых тренингов не делал ни с л2, ни с хубером, почему это еще не зарелизено везде по дефолту-то, дифужн 4к вышел в марте такто
Аноним 18/07/25 Птн 21:57:13 1281928 24
>>1281884
А в пулах лежит оказывается внедрение вейвлетов https://github.com/kohya-ss/sd-scripts/pull/2037 ток там какая-то суперпедольная реализация с миллиардом выведенных отдельно настраиваемых параметров.
Аноним 18/07/25 Птн 22:10:37 1281964 25
>>1281884
Потому что веса для уровней не очень универсальные, надо под задачу подбирать. А тренировка без весов заметно хуже чем правильные веса. А с автовесами ещё больше подстроек надо, я довольно долго пердолился чтоб ширину пика подобрать.
Можно для XL проще делать - трансформации Фурье. Результат тоже лучше mse/huber.
>>1281928
Все волны кроме haar говно, я уже всё это говно перетестил давно. У него ещё в списке недискретные, они не работают с дискретным DWT. Тот кто делал pr явно отбалды все возможное параметры впердолил не тестируя.
Аноним 18/07/25 Птн 23:38:42 1282159 26
>>1281964
>Потому что веса для уровней не очень универсальные, надо под задачу подбирать. А тренировка без весов заметно хуже чем правильные веса. А с автовесами ещё больше подстроек надо, я довольно долго пердолился чтоб ширину пика подобрать.
>Можно для XL проще делать - трансформации Фурье. Результат тоже лучше mse/huber.
Эта часть поста ответ на >>1280886 ?

>А тренировка без весов заметно хуже чем правильные веса.
А почему ты взял именно 6 уровней?

>А с автовесами ещё больше подстроек надо, я довольно долго пердолился чтоб ширину пика подобрать.
А что если их адаптивными сделать от timesteps или num_levels?

>Можно для XL проще делать - трансформации Фурье. Результат тоже лучше mse/huber.
Есть код?

>Все волны кроме haar говно
В чем их проблема?
Аноним 18/07/25 Птн 23:44:44 1282179 27
>>1282159
>А что если их
Его, в смысле пик
Аноним 18/07/25 Птн 23:54:50 1282206 28
>>1281964
Кстати твоя реализация отлично работает с дебиаседом. Несколько более когерентные результаты получаются и чуть быстрее тренирует.
Аноним 19/07/25 Суб 04:21:35 1282334 29
Вкратце можно как работает эта частотка с латентами? Латент в сд же говно, не инвариантен к масштабу/поворотам/сдвигам, и канал для формы сильно отличается от цветности и яркости по структуре.
Аноним 19/07/25 Суб 12:23:45 1282509 30
>>1282334
>как работает
прицельно настроенные веса уровней
Аноним 20/07/25 Вск 00:55:25 1283160 31
>>1282159
> Есть код?
Брал отсюда либу - https://github.com/tunakasif/torch-frft
Просто пропускаешь латенты через трансформацию. Там на выходе будет тензор с комплексными числами - амплитуда и фаза. Фазу можно просто выкинуть скастовав к float, без неё немного другой результат. Обычный лосс с комплексными числами не работает, mse будет вот так: torch.mean((pred - target).real ⚹⚹ 2 + (pred - target).imag ⚹⚹ 2)
Если упороться, то можно ещё маску накинуть, центр спектра с шифтом по центру.
> В чем их проблема?
Они усредняют пиксели латента. Всякие номерные типа db4 берут большими блоками пиксели, 4 тут - это в 4 раза больше блок. Ещё и смазывают если волна плавная. У haar просто резкие 2х2 блоки, для мелких деталей лучше всего должно быть.
Аноним 20/07/25 Вск 03:54:03 1283309 32
>>1282509
Латент это не картинка. Особенно в канале "формы".
Аноним 26/07/25 Суб 11:21:56 1288832 33
image.png 51Кб, 1104x446
1104x446
Нужен ли warmup при продолжении тренировки?
После использования каких счедулеров лучше не продолжать тренировку?
Аноним 26/07/25 Суб 18:57:37 1289186 34
>>1288832
вармап в принципе излишный страховочный элемент, можно им вообще не пользоваться
Аноним 26/07/25 Суб 20:55:09 1289346 35
>>1289186
Аноны в предыдущих тредах говорили что на начальных этапах шума слишком много чтобы извлечь полезную информацию и это сбивает модель. Ну и после увеличения вармап, у меня вроде как семплы стали более вариативные, но это не точно.
Аноним 26/07/25 Суб 21:38:45 1289403 36
>>1288832
Позволяет оптимайзеру с накоплением (считай все) выйти в режим и не взорваться в начале при прохождении выбивающихся данных. При продолжении достаточно будет короткого, но его наличие крайне желательно.
Аноним 26/07/25 Суб 23:35:30 1289491 37
>>1289346
>Аноны в предыдущих тредах говорили что на начальных этапах шума слишком много чтобы извлечь полезную информацию и это сбивает модель.
Ну я контраргументирую следующим:
1. Адаптивным лосс функциям насрать на взрывы градиентов при инициализации. Huber + SNR неубиваем практически. Вейвлеты рассмотренные выше по треду тоже стабильные на этот случай. L1 просто похуй на взрывы. Единственное что может обосраться от них это L2, не пользуйся л2 да и все.
2. На каком лр гоняешь? Если это не выше 1e-4 то выгода от вармапа сомнительна, т.к. все что ниже 1e-4 считается низкой скоростью и сила обновлений недостаточная чтобы поломать все.
3. Если ты обучаешь на датасете, который доменом уже имеется в модели - вармап тоже не нужен. Условно у тебя модель с бабами, ты берешь фотки бабы - резкой смены домена данных не будет.
4. Ты тренируешь лору а не фуллфт, у тебя нет огромного батча и биг даты чтобы переживать о взрыве знаний при инициализации.
5. Если ты используешь шедулерфри оптимы, то тем более тебе не нужен вармап, т.к. они по сути адаптивны и сами себе сделают вармап где нужно.
6. Если ты используешь CosineAnnealingWarmRestarts или какойнибудь вансайкл тоже вармап нинужон.
Аноним 27/07/25 Вск 01:55:08 1289563 38
>>1288832
>Нужен ли warmup при продолжении тренировки?
Если не сохранил состояния оптимизатора, то нужен.
Прогрев нужен для того чтобы адаптивные оптимизаторы и моментумы накопили статистику. Иначе у тебя первая картинка может получить вес в 10 раз больше чем другие, как пример проблемы.
Этот бред >>1289491 не слушай, не имеет отношения к проблеме.
Разве что 6 имеет смысл, может быть 5.
Аноним 27/07/25 Вск 13:42:01 1289885 39
>>1289403
>>1289491
>>1289563
Спасибо, раз он не наносит вред тогда лучше перестраховаться.
Аноним 28/07/25 Пнд 11:20:26 1290650 40
>>1282206
Я по итогу дропнул wavelet лосс, говно какое-то. Надо дрочить веса, но как бы их не дрочил всё не то. Всегда что-то лучше становится, что-то хуже, а чтоб прям заебись было невозможно подобрать. Перешёл на Фурье, с ним стабильность просто ахуевшая и ничего не надо пердолить, что дало возможность сделать то что раньше ломало картинку - сделал фиксированный шум для каждого пика, а не как в ваниле рандом. С mse от такого пережаривало и почти неюзабельно было, а с FFT тренится заебись и при этом вариативность генераций огромная и стабильно всё. Ещё и на оптимизатор focus перешёл.
Аноним 28/07/25 Пнд 18:45:15 1291280 41
>>1290650
>>1290650
> Перешёл на Фурье, с ним стабильность просто ахуевшая и ничего не надо пердолить, что дало возможность сделать то что раньше ломало картинку - сделал фиксированный шум для каждого пика, а не как в ваниле рандом.
Дай код реализации то
Аноним 28/07/25 Пнд 18:48:41 1291283 42
1688821990249.png 17Кб, 1243x74
1243x74
>>1291280
Одна строчка. Либа вверху.
Аноним 28/07/25 Пнд 18:57:21 1291296 43
>>1291283
пиздос опять пердолить трейнутиль
Аноним 28/07/25 Пнд 19:01:22 1291301 44
>>1291283
Так, а насчет
>сделал фиксированный шум для каждого пика, а не как в ваниле рандом
Аноним 28/07/25 Пнд 19:14:22 1291323 45
>>1291283
а def mse_complex код какой?
Аноним 28/07/25 Пнд 19:15:45 1291324 46
1611184967974.png 39Кб, 1160x325
1160x325
1660682861281.png 18Кб, 889x158
889x158
>>1291301
Я при кешировании латентов шум генерю и потом только его использую, без генерации нового, у каждого латента свой фиксированный шум.
>>1291323
Выше писал же.
Аноним 28/07/25 Пнд 19:58:28 1291402 47
>>1291324
>Я при кешировании латентов шум генерю и потом только его использую, без генерации нового, у каждого латента свой фиксированный шум.
а ну то есть если у меня не кешируется ниче, то мне нинужно
Аноним 28/07/25 Пнд 20:11:00 1291422 48
Вопрос по B-LoRA

Как корректно в toml указать таргеты на conv слои?
Если в таргет модулях указывать conv2d, то оно начинает вообще все тренировать практически, независимо от регекса в таргет юнет
В фуловой лоре естественно conv_in и conv_out для таргет юнет нет, и при enable_conv = true и с/без конвин/конваут никакие конволюшены не тренируются.
Если брать базовые блоки в таргет модулях ResnetBlock2DDownsample2D Upsample2D то оно сразу перетренировывает моментально, супер анстейбл кароч
Аноним 28/07/25 Пнд 20:31:07 1291453 49
>>1291324
>Выше писал же.
запустил кароч, а че он такой реактивный, в три раза быстрее считается чем другие
Аноним 28/07/25 Пнд 21:03:03 1291516 50
>>1291453
ну прикольный результат, учитывая еще скорость бешеную
Аноним 28/07/25 Пнд 22:01:08 1291617 51
>>1291402
В ваниле каждую эпоху у тебя разные сиды для одинаковых пиков, но логичнее чтобы одинаковые пики были с одним и тем же шумом. Но проблема в том что оно с mse оверфитится адово, до того как успеваешь что-то натренить лора уже запорота, а FFT фиксит это. Оно станет ещё быстрее трениться и повысится вариативность генераций. Тут где-то был любитель обобщения, ему это в первую очередь надо делать. При претрейне так не делают по очевидной причине - мало эпох и они большие.
>>1291422
Там авторы перебором нашли наиболее важные для тренировки слои. Тренятся только attentions.0 и attentions.1 в up-блоках. Один из них концепт, другой стиль. Вообще не рекомендую, у тебя будет всегда недотрен. Есть смысл только если тебе надо прям жестко отделить стиль и сам стиль довольно простой. Из плюсов оверфита нет, можно и надо тренить до усрачки, смысл б-лоры - это хуяк-хуяк как попало и оно даже норм натренилось. Если ты врубил другие слои, то это уже не б-лора.
Аноним 28/07/25 Пнд 23:52:24 1291781 52
>>1291617
>Там авторы перебором нашли наиболее важные для тренировки слои. Тренятся только attentions.0 и attentions.1 в up-блоках. Один из них концепт, другой стиль.
Да я в курсе что там атеншены, мне нужно просто конвы указать правильно чтоб оно локальные данные изучило для точности т.к. с одними атеншенами прямо видно недостаточность ортоганальных изменений, я уже проверил такой вариант когда конвы врубаются - он рабочий, но конкретно указать конволюшены связанные с аутпут блоками 0.1 и 1.1 я не могу нормально.
>Вообще не рекомендую, у тебя будет всегда недотрен.
Я бы не скозал, зависит от настроек, плюс я офт надрачиваю, оно сохраняет данные основные слоев и юзаю в основном с плюснутым dmd, результат конфетный.
>Если ты врубил другие слои, то это уже не б-лора.
Ну называй как хочешь, разряженная тренировка, мне нужны конвы хоть тресни.
Аноним 29/07/25 Втр 00:11:12 1291797 53
>>1291617

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

пока писал спросил у гпт, оно также сказало, что жестко обучать на фикс нойзе нахуй надо
Аноним 29/07/25 Втр 02:27:47 1291947 54
>>1291797
У тебя генерации из шума. Если тренишь один пик на разных сидах, то модель и учится генерить один и тот же пик на разных сидах. Если так долго тренить, то модель начинает тупо с любых сидов генерить пики из датасета. И делает она не потому что оверфит или ещё что, а именно из-за того что ты научил её из любого шума их генерить. Собственно я это и на практике вижу, фиксированный сид даёт больше разнообразия генераций.
> гпт
Нашёл у кого спрашивать что-то, лол.
Аноним 29/07/25 Втр 11:49:16 1292123 55
>>1291947
> Если тренишь один пик на разных сидах, то модель и учится генерить один и тот же пик на разных сидах.
но модель не учит картинки, она учит признаки на основе текстового описания
>фиксированный сид даёт больше разнообразия генераций.
как оцениваешь разнообразие?
>Нашёл у кого спрашивать что-то, лол.
че за трансформерный шовинизм? он мне код правит и он работает, да и нет смысла не доверять нейросетке в вопросах нейросеток
Аноним 29/07/25 Втр 13:42:07 1292292 56
>>1291947
Кмк, смысл есть и там и там. Сделать шанс или заготовленного шума или случайного и получать профиты без подводных.
>>1292123
> нет смысла не доверять нейросетке в вопросах нейросеток
Они могут просто не понять твой вопрос и притащить случайную ассициацию, или просто взять предложенный тобою же вариант если в вопросе уже заложен ответ. Попросить ллм проанализировать вопрос с разных сторон и дать какую-то инфу о практике и как это может сыграть - хорошая идея, но желательно посвайпать оценивая выдачу. Требовать сделать вывод и дать ответ - плохая.
Аноним 29/07/25 Втр 14:39:07 1292349 57
image.png 375Кб, 610x557
610x557
>>1292292
>Они могут просто не понять твой вопрос и притащить случайную ассициацию, или просто взять предложенный тобою же вариант если в вопросе уже заложен ответ. Попросить ллм проанализировать вопрос с разных сторон и дать какую-то инфу о практике и как это может сыграть - хорошая идея, но желательно посвайпать оценивая выдачу. Требовать сделать вывод и дать ответ - плохая.
Аноним 29/07/25 Втр 17:15:51 1292563 58
>>1292123
> че за трансформерный шовинизм?
Скорее гопотный. Жпт очень тупая, если это не о-модели.
> нет смысла не доверять нейросетке в вопросах нейросеток
Нейросетки обычно гонят банальщину, выдают самый попсовый вариант ответа.
Аноним 30/07/25 Срд 01:52:15 1293353 59
Bump
Аноним 31/07/25 Чтв 10:03:13 1294449 60
1753945391652.jpg 6Кб, 247x204
247x204
Спустя полгода дрочки я понял структуру сдхл наканецта, что основные концепты датасета (форма, цвет, объекты, особенные особенности) пиздятся напрямую в ffnet и proj слои, причем в основном в конечные инпут блоки и мидл блок. При этом ффнет просто запоминает все подчистую (и по факту обладает наибольшей выразительностью), а не обобщает, являясь очень мощным фильтром, который способен любой вывод атеншенов перекроить, т.к. независим. А прожекшен слои это входы выходы для атеншенов, которые имеют более высокий приоритет над данными самих атеншенов, как бы рамки для атеншена, а атеншен это само наполнение рамок. Гдето в атеншенах еще нормы сидят, но я их не обучал для теста практически, не могу сказать фактическое влияние.

То есть логика сдхл такая: атеншен строит суть картиночки, прожекшен конструирует финальную структуру, которая пропускается через MLP ffnet, который независимо обмазывает уникальными независимыми параметрами, полученными из датасета внимание ПОЛНОСТЬЮ ВНЕ КОНТЕКСТА. То есть вся проблема переобучения строится на том что в ффнет подается слишком сильная дата, которая его ломает - отключи вест ффнет и модель/лору невозможно убить никаким конским лр. Алсо все лоры убыстрялки и модели дистилляты из которых их экстрагировали содержат переобученный, но нормализованный для конкретного семплера ффнет за счет которого и идёт выигрыш в скорости.

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

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

Надеюсь кому-то поможет данная инфа, основанная на рисерче из овер 300 моделек.
Аноним 31/07/25 Чтв 10:53:43 1294476 61
>>1294449
Какая-то каша у тебя в башке. Фид-форварды нужны для нелинейности трансформера, т.к. трансформер только трансформирует данные, в трансформере даже активаций нет.
> в ффнет подается слишком сильная дата, которая его ломает
Во всех тренерах, в том числе у кохи, по умолчанию фф не тренится. Только если ты специально выбираешь тренить вообще все линейные, по умолчанию тренятся линейные в трансформерах (to_q, to_v, to_k, proj). А поломка почти всегда происходит в первых слоях, именно первые слои очень чувствительны к тренировке и легко превращают всё в кашу. Естественно у тебя средние слои менее чувствительны к кривой тренировке, ведь там уже нет пиксельных данных латента.
> для корректного обучения требуется обучать самый большой блок инпута
Для корректного обучения надо просто правильно обучать, ничего там не ломается при обучении фф/конволюшенов, если сделал всё правильно. Все попытки задушить тренировку отрубанием слоёв/обрезкой градиентов/душением лосса по snr и прочим весам - это лечение симптомов и проблема где-то в другом месте.
Аноним 31/07/25 Чтв 11:08:21 1294488 62
>>1294476
> Какая-то каша у тебя в башке.
Я бы поотвечал на каждый пункт, но ты невоспитанный и категоричный, чувства такта нет, да и пост написан в ультимативной форме (я понимаю что тебе очень нужно чувствовать себя экспертом на анонимном форуме, но впредь держи себя в руках, мне лично твои "ря ты криворучка, просто дыши пук пук хрюк" неинтересны), я по таким правилам не буду играть. Добра, щастья, здоровья.
Аноним 01/08/25 Птн 01:13:51 1295330 63
Двачую >>1294476 а ты >>1294488 слишком болезненно реагируешь на замечание по сути.
> невоспитанный и категоричный, чувства такта нет, да и пост написан в ультимативной форме (я понимаю что тебе очень нужно чувствовать себя экспертом на анонимном форуме
Вот этот пост >>1294449 много постулатов, никакой конкретики и примеров.
Аноним 01/08/25 Птн 06:39:57 1295419 64
>>1294476
>Фид-форварды нужны для нелинейности трансформера, т.к. трансформер только трансформирует данные, в трансформере даже активаций нет.
Нелинейность и в софтмаксе атеншена есть. Ну и чет с "Фид-форварды нужны для нелинейности" орнул. Типа, по твоему они нужны ТОЛЬКО для нелинейности?
>Во всех тренерах, в том числе у кохи, по умолчанию фф не тренится.
Пиздабол. ff_net адаптеры присутствуют для всех млпшек, в дефолтной лоре.
>Для корректного обучения надо просто правильно обучать, ничего там не ломается при обучении фф/конволюшенов, если сделал всё правильно.
И по классике ты нам конечно не расскажешь как правильно. Просто пук в воздух.


Так что реакция вполне оправдана.
>>1294449
Впрочем, какие-то осмысленные выводы из изначального поста я не могу сделать. Настройку лр по слоям обычно просто так не делают, те же проекции атеншена частично впитывают в себя инфу вместе с ff, которая выбьется только другим устойчивым сигналом и переполнением емкости. Нахуя просто понижать лр для ff? То есть хочешь сказать, что нам надо усиленно тренить атеншн? Опять же, даже если мы треним только атеншн, проекции спокойно навпитают инфу как и ff. У меня одна из самых популярных лор одноранговая, на стиль, вполне хватает. Работает нормально.
Про переобучение спорно, какого-то конкретного пайплайна и сравнений нет. Кароч, очень интересно но нихуя не понятно.
Аноним 01/08/25 Птн 22:35:27 1295929 65
>>1295419
>Настройку лр по слоям обычно просто так не делают,
layer-wise LR decay делают в больших тренировках большие вумные дяди обычно, лораёбы не заморачиваются конечно такой хуйней

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

Ffnet это независимый фильтр и часть MLP, если ты полностью тренишь, то впитают, если не полностью то впитает только прожекшен.

Мой тезис был в том, что так как ффнет независимая часть сети и равномерно распределен во всех блоках, которые имеют разную емкость, то в каких-то его частях неизбежно так скажем бутылочное горлышко для фф из-за малого батча, малой даты, накопления градиентов от однотипных паттернов и гиперов оптимайзера (например стандартная бета для ффнет скорее деструктивна на микробатче и малой дате, т.к. ффнет запоминает паттерны даты без обобщения, а бета накапливает моментум - то есть на деле моментум приводит к накоплению старых градиентов, которые могут сохранять переобученные шаблоны ffnet, особенно при малом батче и нестабильной дате, что замедляет адаптацию к новым градиентам и форсирует запоминает мусорных паттернов в ффнет, которому поебать что запоминать;

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

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

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

Помимо этого надо учитывать, что ранние и поздние блоки сдхл не настолько важны для инъекции новой даты, они больше функциональные для полноценной модели, где первые инпут блоки занимаются понижением "разрешения" вычленяя признаки, а с середины аутпут блоков происходит незначительная относительно всего пайплайна инференса доводка картинки перед декодингом, соответственно внедрение узкой малой даты на протяжении всех блоков это скорее негативный эффект и призыв переобучения, т.к. ранние блоки это низкоуровневые признаки edge-level/shape (а мы работаем на основе модели, которая уже прекрасно умеет строить представления такого плана на основе массивной даты на которой ее обучали), а поздние для доработки структуры и цветовой координации (что также базовая модель и так умеет). Не вижу никакого фактического смысла перекраивать ранние и поздние блоки с помощью минимальных датасетов (менее 10к картиночек), поэтому внедрение узкой даты в эти блоки вредное действие и нужно действовать от принципа не навреди: да, блоки важны при генах, но не дают существенного прироста качества при их дообучении на малой дате из-за переобучения и затопления признаков. Проверяется элементарно - изолируй и тренируй только ранние или поздние блоки - выйдет какая-то хуита без задач (можешь не пробовать, я пробовал).

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

>То есть хочешь сказать, что нам надо усиленно тренить атеншн?
Нет, не хочу сказать.

>Опять же, даже если мы треним только атеншн, проекции спокойно навпитают инфу как и ff.
Только проекция и впитает, если только атеншен. Но носитель именно новых данных из датасета это ффнет, а не атеншен.

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

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

То есть направляя тренировку в нужные эффективные элементы (предположим стандартные output_blocks 0 1, output_blocks 1 1, и input_blocks 8 1) ты можешь на наиболее популярной карте типа 3060 12 гигов все эти три блока разом полноценно засунуть в 12 гигов в 1024 разрешении на 1 батче и на выходе получить максимально нативную тренировку высокого качества, там модель получается в районе 2 гигов и просчет одной итерации в 5 секунд при этом на нормальном современном оптимайзере с FFT лоссом который выше обсуждали, это ниже чем даже дефолтная лора с ее 8 секундами, т.к. нет дополнительных преобразований. А на 16 гигах уже и мидл блок вприкуску влезет и чтонибудь еще (допустим можно в шахматном порядке по всем блокам выбрать эффективные слои оставшиеся), а это считай одномоментный полноценный файнтюн практически целой модели (2 гига от трех инпут/аутпут и 800 метров от мидла), но не нужно пердеть на зануленом fp8 или ухищряться с баквардпассами на адафакторе или восьмибитном кале. Если тренировать любой тип лор с конкретными блоками, то там еще плюсом меньший размер будет, помимо увеличенной скорости просчета, но минус в том что влияние лоры на модель не полноценное и все равно надо будет туда-сюда крутить силу как обычно, но лора это в любом случае компромисс. Сплошные плюсы в общем.

Уточню, что я не выступаю против полноблоковой тренировки, если она делает то что требуется, но меня всегда дико бесила все эти танцы с бубном чтобы выдрочить гиперы, выдрочить датасет, выдрочить соотношения чтобы не бох лора не сделала рухнум. Я кароч за принцип "если позволяет - упрощай".
Аноним 05/08/25 Втр 07:39:38 1299804 66
Случайно придумал самый шизовый вариант инициализации лоры. Вкидываю чисто чтобы не забыть и уйти спать, может кому не лень будет протестить.
Кароч надо взять какую-нибудь другую модель и слить с нее экстракт.
Далее примерно логика как в >>1196940 →
Добавляем экстракт к исходной (той, которую хотим обучить) модели. Из наэкстракченой модели вычитаем исходную. Из исходной вычитаем наэкстракченую и это новая "исходная" модель.
В лору подсасываем чистый слитый экстракт. Объединение этих двух вещей должно давать исходную модель, но только в качестве инициализации лоры у нас экстракт другой, вот такой прикол.
Только надо не забыть сделать исправление из гайда, иначе все сломается. Для надо после получения экстракта закинуть его обучаться как лору на 1 шаг на минимальном лр и сохранить.
Ну и наверное есть смысл за инициализацию брать не полный экстракт, а разностный, может как-нибудь еще намешать их.

Если я нигде не обосрался с математикой, может получиться интересный эффект в виде мягкого пересаживания biasов с одной модели на другую в процессе просто обучения лоры на вообще другой задаче. По моей логике это может дать толчок лоре пойти по тому же пути по какому шла другая модель.
Важно, повторюсь, здесь именно обучается полноценная исходная модель которая как бы никак не модифицирована, но она разрезана на лору не по SVD как в том методе, а как бы плоскостью другой модели.
Аноним 07/08/25 Чтв 09:31:36 1302830 67
Аноны, как персонажа вырезать на прозрачность? Перепробовал все доступные через интерфейс A1111 расширения для уберания бэкграунда - говно какое-то. У персонажа либо остаются арефакты во всех местах, либо края силуэта прозрачные.

Специально делаю генерацию на белом однородном фоне, размер под 2к. Даже с этим не справляются "вырезалки" эти.

Посоветуйте как быть. Нужно обработать огромное количество изображений.
Аноним 07/08/25 Чтв 14:17:38 1303296 68
Аноним 07/08/25 Чтв 21:35:57 1304571 69
>>1303296
Что чел? Под него штук 7 плагинов только для этой задачи написано. И они что на авто работают, что на форджах.
Лапша же ничего принципиально нового тут не предложит, больше чем уверен.

>>1302830
Если нужно идеально - только руками вырезать.
Ни одна модель не даст 100% точности в 100% случаев, косяки будут даже с белым фоном. Косяки будут всегда.
Можешь найти что-то более-менее точное, если повезет. Цивит покопать попробуй.
Аноним 07/08/25 Чтв 21:53:24 1304660 70
>>1304571
Ничего не нашел толкового чел. Потому и спрашиваю. А ещё, потому что есть СЕРВИСЫ, которые вырезают идеально, но они конечно платные, там на поток процесс не поставить. Просто существование этих сервисов как бы говорит что где-то существует хороший варианты. Я больше чем уверен что все эти "сервисы" это просто аферисты, которые с гитхаба репы понабрали и продают воздух, ни каких своих закрытых разработок у них нет. Вот потому и спрашиваю в треде. Где-то есть хорошая вырезалка, просто её надо найти.
Аноним 07/08/25 Чтв 22:17:52 1304753 71
1711028877247.png 2351Кб, 2522x1900
2522x1900
1638154254358.png 2921Кб, 2700x1750
2700x1750
1748846213763.png 7329Кб, 4290x3085
4290x3085
1668223910040.png 5039Кб, 5680x3740
5680x3740
>>1304571
> Лапша же ничего принципиально нового тут не предложит, больше чем уверен.
Тем не менее в лапше я могу вырезать фон нормально. На реалистике ещё проще.
Аноним 07/08/25 Чтв 22:41:18 1304852 72
17545942734840.png 14Кб, 138x92
138x92
17545942735312.png 16Кб, 115x91
115x91
>>1304753
Аниме пики с обводкой никогда не были проблемой.
Плохо получается именно реалистичных персонажей вырезать.

У тебя на третьем пике 3д генерация, выглядит неплохо. Но при ближайшем рассмотрении есть много мест с белой короной и в спорных местах, например где волосы, появляется такой кисель из прозрачности. В этом плане А1111 даже лучше делает. Но это всё равно не подходит, таким вырезаниям нужна пост обработка всё равно. Сервисы же, например китайский 佐糖 таких косяков не делают.
Аноним 07/08/25 Чтв 23:18:46 1305002 73
1688541309397.png 6820Кб, 4007x1333
4007x1333
1692154675380.png 4275Кб, 2391x1600
2391x1600
>>1304852
Ну хуй знает. Ебись тогда сам.
Аноним 08/08/25 Птн 00:11:52 1305129 74
>>1305002
Не плохо, но я как набивший шишки сразу чую подвох. Такой результат надо на "шахматном фоне" смотреть, по моему горькому опыту многие модели просто делают края вырезаемого объекта немного прозрачными, это может выглядеть как идеальное вырезание, но по факту ты такой вырезанный объект на другой фон не поставишь, у него вся окантовка будет как у привидения.
Чем ты это вырезал, дай посмотрю, напиши плз адрес репы или модели или другую инфу чтобы я нашел.
Аноним 08/08/25 Птн 05:32:55 1305493 75
>>1304753
>нормально
Нет.
Как я и говорил, куча косяков на всех картинках.
Аноним 08/08/25 Птн 07:04:56 1305516 76
>>1302830
>>1304660
https://huggingface.co/spaces/jixin0101/ObjectClear
https://huggingface.co/spaces/briaai/BRIA-RMBG-2.0

А вообще знаешь что такое проблема XY? Самое главное забыл - сказать нахуя тебе это вообще надо и какую проблему ты собрался решать генерацией огромного количества изображений которые тебе надо вырезать? Ну и вопрос качества которое тебя устроит.
Аноним 08/08/25 Птн 08:29:17 1305569 77
image 1550Кб, 1152x1536
1152x1536
image 1788Кб, 1152x1536
1152x1536
>>1305516
Чёт второе как-то слишком говно, а первое не завелось. Его как комфи ноду можно юзать?

>>1305002
А вот у тебя выглядит любопытно, чем чистил?
Аноним 08/08/25 Птн 18:57:36 1306739 78
1605042375402.png 93Кб, 2978x703
2978x703
1719310315646.png 147Кб, 3269x1040
3269x1040
Wan тут кто-нибудь тюнит? Как с говном пикрил бороться? На первом пике XL, приемлемо выглядит. А на втором Wan, обратный проход в 6 раз дольше форварда. Хуйня с copy - это переключение на вторую карту, но хули в форварде обе карты одинаково отрабатывают, а на обратном одну с одинарными блоками растягивает как шлюху? Что за забор блядский? Заебался уже, не хочу тренить по 3 часа 1000 шагов.
Аноним 08/08/25 Птн 19:05:49 1306775 79
1650248706156.png 2713Кб, 2304x1536
2304x1536
>>1305569
BiRefNet хотя бы возьми, а то у тебя совсем плохо.
Аноним 08/08/25 Птн 21:05:17 1307042 80
В репо козистра https://github.com/kozistr/pytorch_optimizer/tree/main загружено семейство Emo оптимайзеров. Фишка в том что компутит доп скаляр исходя из лооса, т.е. получает усреднённое значение лосса (ema) (затем превращает это в скаляр), по которому вычисляется коэффициент влияния. Кароче бля параметры плавно тянутся к прошлым значениям, если loss подсказывает, что надо откатиться.

Для лор еще терпимо, а если фул матрицы тренить то там EmoNavi оригинальный с селективными блоками x2 врама жрет, EmaFact (емо + адафактор) +50%. Так что имейте в виду.
Аноним 08/08/25 Птн 21:34:12 1307165 81
1690417243717.png 65Кб, 1000x600
1000x600
>>1307042
Опять душат удава.
> если loss подсказывает, что надо откатиться
Это вообще неблагодарное дело ориентироваться на лосс в генерации картиночек в разрезе соседних значений. Какой-то референс лучше, какой-то хуже - лосс скачет как ебанутый и это норма. Пикрил литералли всегда на Хроме, просто рандомный шум, при этом тренится заебись.
> x2 врама жрет
Лучше бы делали чтоб меньше жрало без диких просеров как у 8-битных bnb. И так DiT приходится частично в q8 квантовать чтоб не сосать даже с 48 гигами врам.
Аноним 09/08/25 Суб 00:39:32 1307474 82
Стикер 0Кб, 512x411
512x411
Аноны, обнаружил тут ВНЕЗАПНО, что у репозитория A1111 уже как год не было обновлений. Он что ВСЁ? Заброшен? Сдох?

Дело в том, что в А1111 меня всё устраивает, всё работает, плюс привычка, не один год в нем ковыряюсь, плагины настройки всё под себя идеально подстроил и привык.

Поверхностный гуглинг показал что сейчас модно КомфиУИ использовать, на втором месте Фордж, который говорят как раз для тех кто к А1111 привык.

В сявзи с этим вопросики.
1) Расширения для А1111 не встанут на этот ваш Фордж? Пологаю что разумеется не встанут, просто хочу уточнить.

2) В Форже другой синтаксис промптов, отличный от А1111? Т.е. все эти BREAK и [(shit:1.3)::0.7] там не работают?
Аноним 09/08/25 Суб 00:57:38 1307504 83
65464.png 60Кб, 470x561
470x561
>>1305569
>>1306775
>>1305516
Второе, как написано, основано как раз на BiRefNet. Оригинальный BiRefNet - это пожалуй самый лучший вариант из всех что я перепробовал. Наверное лучше ничего не придумали.

Кстати этот BRIA-RMBG-2.0 делает вот такую шляпу, про которую я писал ранее. Он Может в некоторых случаях половину обьекта прозрачным сделать. Оригинальный BiRefNet в этом плане даже лучше.
Аноним 09/08/25 Суб 01:26:59 1307549 84
>>1307474
>Он что ВСЁ? Заброшен? Сдох?
Ну автоматик перестал кодить в принципе. Или работка или выгорел, это ж все на энтузиазме для портфолио сделано.

>Дело в том, что в А1111 меня всё устраивает, всё работает, плюс привычка, не один год в нем ковыряюсь, плагины настройки всё под себя идеально подстроил и привык.
Ну плохая привычка на самом деле, время выходить из зоны комфорта.

>Поверхностный гуглинг показал что сейчас модно КомфиУИ использовать, на втором месте Фордж, который говорят как раз для тех кто к А1111 привык.
Не модно, а уже года джва является самой мощной и обновляемой средой для любых видов нейрокалов + парк расширялок монструзный. Буквально если что-то новое выходит (ну вон ван 2.2 например), то через пару часов оно уже поддерживается.
Фордж это говнина от ильясвила, который факас, контролнеты и прочее пилил, фордж тоже заброшен. Не заброшены форки форджа, типа рефорджа https://github.com/Panchovix/stable-diffusion-webui-reForge

>1) Расширения для А1111 не встанут на этот ваш Фордж? Пологаю что разумеется не встанут, просто хочу уточнить.
Рандом. У форджа в принципе свои нерешаемые баги были насколько я помню, ну и они в форки перекатились. Какие-то расширения встанут, какие-то нет.

>2) В Форже другой синтаксис промптов, отличный от А1111? Т.е. все эти BREAK и [(shit:1.3)::0.7] там не работают?
Фордж это форк каломатика, так что скорее всего работает это говно плацебное.
Аноним 09/08/25 Суб 01:44:56 1307567 85
>>1307549
Спасибо за пояснение, анон.

>плацебное
Чому плацебное ? Можно в реальном времени менять весь промпта (shit:1.2) и прямо наблюдать как результат меняется на такую же фракцию процента. По-моему очень удобно, не может быть чтобы в современной КомфиУИ чего-то подобного не было.

>время выходить из зоны комфорта.
Для меня очень важно чтобы старые промпты можно было как-то повторить, я часто возвращаюсь к тому что делал год назад, например. Если синтаксис другой то понятное дело что повторить результат будет сложно. Может есть какой-нибудь плагин для КомфиУИ который позволяет использовать синтаксис промптов из Авто1111?
Аноним 09/08/25 Суб 06:11:38 1307690 86
без лоры.jpg 510Кб, 1080x405
1080x405
2025-08-0113-28[...].jpg 578Кб, 1440x540
1440x540
2025-07-2317-01[...].jpg 584Кб, 1440x540
1440x540
>>1272560 (OP)
Как делать разбор полетов после тренировки? Про то что андерфит это когда результат слабо виден, а оверфит это когда лора воспроизводит датасет и не слушается промпта, я знаю. Но есть и другие ситуации когда лора берет знания из модели вместо датасета, когда низкий лр делает оверфит и пр. Хочу про это прочитать, чтобы хоть немного сориентироваться че за хуйня у меня происходит. Как извлекать информацию из результатов?
Месяцами тренирую разные стили в сд1.5, у меня шизу генерирует на при любом ЛР/количестве шагов. 2 и 3 пик разные попытки, но результат тот же.
Аноним 09/08/25 Суб 06:53:08 1307709 87
>>1307567
>Можно в реальном времени менять весь промпта (shit:1.2)
обычный вейтинг токенов в комфе есть, я про брейки которые типа разъединяют кондишены и вот это [(shit:1.3)::0.7] которе я даже не помню че делает, а еще есть типа морфинг когда на лету в таймстеп инъекция другого токена происходит. Это кароче все полумеры и иллюзия управления. Вот допустим тебе два кондишена по 75 токенов надо - берешь две ноды для разных кондишенов в комфе в нужной конфигурации их смешивания и делаешь как задумано в сдхл изначально, а не костылем который придумали из-за UI вида "все в одном окне".
Но если тебе прям нужно дрочить синтаксис каломатика, то есть ноды для текста, которые поддерживают этот синтаксис.
>Для меня очень важно чтобы старые промпты можно было как-то повторить, я часто возвращаюсь к тому что делал год назад, например.
>Если синтаксис другой то понятное дело что повторить результат будет сложно.
Так у тя еще проблема в том откуда инишл нойз берется для генерации. То есть чтобы повторить ЗАЧЕМ, это же нейрослоп, всегда можно сделать лучше то что ты делал на каломатике тебе надо соблюсти неочевидные команды в поле промта (скачать ноды которые поддерживают такое) + ноды умеющие управлять инишл нойзом чтобы брался нойз с гпу, потому что в каломатике берется с гпу, а не с цпу, а это нестандартное решение, по классике должно быть с цпу т.к. это более унифицированнее (даже в том контексте что не у всех нвидия, некоторые дрочатся на линухе с амдкалом, а так свой инишл с гпу идет).
> Может есть какой-нибудь плагин для КомфиУИ который позволяет использовать синтаксис промптов из Авто1111?
Конечно, есть ноды под такое. Но лучше не пытайся создавать костыли заново.
Аноним 09/08/25 Суб 07:03:40 1307711 88
image.png 66Кб, 1099x771
1099x771
>>1307690
Еще вопрос, могут ли эти косяки быть из-за того что я в этой менюшке я выбрал fp16 но в остальных всех fp32 хотя моя видеокарта не поддерживает half-preccision (gtx1660)?
Аноним 09/08/25 Суб 08:18:58 1307739 89
>>1307709
Бле, я думал за шум отвечает только сэмплер, что это такой типовой алгоритм, который имея идентичную модель и все прочие настройки сможет воспроизвести тот же результат по промпту.
Но это как-то странно. На сивиай же например в инфе по генерации не пишут на каком она софте сделана, а повторить всегда получается, не 1 к 1, но очень близко обычно.
Аноним 09/08/25 Суб 08:57:14 1307749 90
Desktop 2025.08[...].mp4 7350Кб, 936x898, 00:00:12
936x898
32bit нихуя не изменилось.
Нормально ли подобное (видео рил) ухудшение в начале разогрева?
Lion Cosine
U-net LR 0.0001
Text encoder LR 0.00005
Warmup steps 731.0
Repetition per epoc 1
Batch 1
Epoc 50
Датасет 70 пикч
Lora rank 64
Lora Alpha 1
Все остальное дефолтное.
Аноним 09/08/25 Суб 09:18:48 1307757 91
>>1307690
> Как делать разбор полетов после тренировки?
Э ну чтобы мучительно не надеяться на удачу и заниматьс разборами выходного продукта надо разобраться как работает модель (сам процесс генеративный) и гиперпараметров тренировки.

>Про то что андерфит это когда результат слабо виден, а оверфит это когда лора воспроизводит датасет и не слушается промпта, я знаю. Но есть и другие ситуации когда лора берет знания из модели вместо датасета, когда низкий лр делает оверфит и пр.
Ну вот ты видишь симптоматику, а что вызывает ее ты не знаешь. Не знаю насколько тебе поможет, но если кратко рассматривать проблему то не в лр дело а в том что ты тренируешь.
Предполагаю что ты тренируешь просто целую лору, которая охватывает все слои и все блоки. Так вот материнская модель состоит из трех частей - инпут блоки распиздячивающие картиночку, ботлнек мидл блок с общей инфой для приведения к единому знаменателю, и аутпут блок для сбора картиночки обратно, это происходит строго последовательно, блок за блоком и слой за слоем.
В каждом блоке содержатся компоненты:
1. Конволюшн блоки, которые содержат инфу о локальных данных. Они очень чувствительные к шуму и начальным данным и собственно изза них рекомендуется делать вармап в качестве страховки. При этом конволюшны не однородны в своих возможностях: конвы в мидл блоки устойчивые к любым данным, конвы в поздних аутпут слоях тоже, т.к. содержат стабильные конечные сборочные детали. Но конволюшны в позднем инпут блоке (кондесация в низкое разрешение), в первых четырех группах слоев инпута (низкоуровневые контуры) и первые два блока аутпута (крупные пространственные признаки, глобал текстуры и цвет) очень нежные и если в них подается кривой сигнал говна, то пизда твоей модельке прямо с первого шага, конволюшн будет накапливать неверные признаки.
2. Линейные слои - практически полностю то из чего состоит модель, представляет из себя атеншн слои и частично MLP. Все линейные слои стабильные и практически не переобучаемые.
3. Feed forward слои, идут после атеншенов и являются носителями новых данных, которые не обобщены. Представь, что это фильтр для собираемой картинки, который обмазывает выходной сигнал во что-то независимо от контекста. Если конволюшны носители локальных данных, то фф носитель уникальных признаков.

Помимо этого есть слои текстового енкодера, которые занимается связкой текстового описания и признаков из слоев. Текстэенкодер в принципе независим, и достаточно простой в тюнинге и требует небольшой лр относительно основных весов сети, но не всегда. Тренировка текстэенкодера буквально бустит понимание твоего датасета и гибкость модели. В текстовом енкодере опять же последовательно обрабатывающиеся слои от общих признаков до локальных узкий концептов (условно от woman до small green dog in forest smiling like a whore). Трен текст енкодера напрямую управляет управляемостью модели конечной, так что тут ситуация как с конволюшнами - если ты лезешь обучать поздние блоки с жестким нефильтруемым потоком данных, то пизда твоему текстэенкодеру.

Поэтому что? Поэтому тебе нужно изучить регекспы для toml конфигов тренировки чтобы делать изолированную тренировку эффективных слоев, если ты хочешь стабильный результат, а не сейфовую выдрочку полномодульной лоры на низком лр, которая может десятки тыщ шагов тренироваться до приемлемого результата. В любом другом случае когда ты просто выбрал "а тренируй мне вот этот алгоритм на этом датасете спасибо пока" в лучшем случае сделает тебе генератор картиночек по типу тех что в датасете, никакой глубокой донастройки сети получить скорее всего не выйдет. Плюс учитывай что у тебя консумерский тренинг на нищем батче 1 и с маленьким датасетом (все что ниже 10к картинок считается как маленький датасет), то есть к вышелписанным ограничениям сети и нежности ее некоторых частей прибавляется бутылочное горло в виде не разряженного батча и малой даты в датасете, что бустит оверфит само по себе, если ты тренируешь полноблоковую модель.

Второй важный подводный камень это оптимайзер, они разделены по семействам и имеют разные так скажем возможности и скорость до нахождения решения. Основной параметр оптимайзера это моментум, он управляет памятью о предыдущих градиентах (бета1) и реакцией на новые градиенты (бета2). Есть разные оптимы, где есть один моментум, пять моментов, вообще без моментов, но в основном оптим имеет два моментума. Соответственно если у тебя хуевый сигнал говна, то чем больше память моментумов тем хуевее твоей сети будет что конкретно отражается на управляемости финальной моделью. Чтобы понять принцип работы моментума можешь взять сгд с нестеров моментумом или amos с одной бетой и покрутить туда сюда. Алсо чем ниже моментум, тем быстрее сходимость до цели но при этом побольше нестабильность т.к. моментумы в целом предназначены для сглаживания неоднородной даты на больших батчах.
Вообще оптимов самых разных великое множество, протестировать все у тебя жизни не хватит, поэтому можно выбирать с помощью синтетических тестов например отсюда https://github.com/kozistr/pytorch_optimizer/blob/main/docs/visualization.md , растригин функция особо не нужна, она показывает залипание на гипотетических локал минимумах, для задач тренировки визуальных паттернов лучше смотреть на росенброк функцию, т.к. она напрямую показывает насколько оптимизатор силен в достижении особо уникальных паттернов в кривом косом прострастве признаков и насколько он делает это быстро и стабильно. Еще сюда можно совет впихнуть что если ты новичок и не хочешь ебаться с подбором лр под оптим, то бери адаптивные оптимайзеры, или шедулер фри. Но адаптивки обычно имеют более долгое достижение результата, т.к. ради сейфовоц адаптивности жертвуют скоростью.

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

Четвертвый момент это сама функция лосса. По дефолту у тебя доступны l1, l2 и huber. L1 очень медленный но стабильный, отсекает все критические ошибки. L2 быстрый но неустойчивый к ошибкам вообше, особенно на высоких скоростях и низких моментумах. Huber гибрид из двух предыдущих с удобной фильтрацией по SNR (что важно при малом батче и малом датасете), на практике является наиболее френдли лоссом к малым датасетам и быстрым скоростям из доступных изкаропки. Лоссов тоже очень много разных, все они впердоливаютя вручную, вон в этом треде вейвлет лосс и ффт лосс дрочили, я на ффт сижу теперь, батя грит малаца.


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

>Как извлекать информацию из результатов?
Имеешь в виду как понять что модель не говно? Ну есть небольшой лайфхак это использовать вместе с лорой дистиллят лору dmd2 под LCM 1CFG, она очень хорошо правит все огрехи тренировки, даже если лора полностью убита к хуям будет пытаться дать нормальный когерентный результат и показывает визуально куда упор при тренировке был сделан и надо ли пониже лр, есть ли оверфит на локальные признаки, насколько следует промту и тд и тп.
Сюда же хайпер лора, лайтнинг, турбо, пцм, тцд, но мощнее всех дмд конечно, эталонная дистилляция.

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

Но минус есть конечно - при 1 цфг у тебя не работают негативы и обобщение при генерации максимальное, поэтому сильно промт не имеет смысл расписывать вообще, буквально gay sex best quality пишешь и готовый результат оцениваешь.
Аноним 09/08/25 Суб 09:18:49 1307758 92
>>1307749
> 32bit нихуя не изменилось.
И не должно. На 32 бита стоит уходить только если NaN лезут, но bf16 для этого предпочтительнее.
> Нормально ли подобное (видео рил) ухудшение в начале разогрева?
Не очень. Первые 200-300 шагов можно простить, но дальше должно нормально идти.
> Lora Alpha 1
Хуй знает как у тебя там альфа работает, попробуй сделать её как rank. При инференсе альфа берётся из лоры или если в лоре её нет - ставится как rank. Может у тебя она некорректно отрабатывает. Она у всех по разному работает - у кохи одно поведение, у ликориса другое, в peft третье. И на пики валидации сильно не ориентируйся, для начала протести финальную лору, может в валидации насрано.
Аноним 09/08/25 Суб 09:31:49 1307763 93
>>1307711
> Еще вопрос, могут ли эти косяки быть из-за того что я в этой менюшке я выбрал fp16 но в остальных всех fp32 хотя моя видеокарта не поддерживает half-preccision (gtx1660)?
Нет, точность это про другое. Можно эффективно тренировать ирю на фп8 и на q4, да даже на q1. Фп32 нинужно, это для карт и больших дядь с бизнес грейд датацентрами для тренировки, там есть фп32 и соответственно точность выше нужна тем кому нужна. Если у тебя 1660 то у тебя выбора особо нет, только фп16. А так в идеале если 3000 серия и выше то бф16 надо, оно стабильнее и в целом лучше фп16.
Аноним 09/08/25 Суб 09:43:42 1307771 94
>>1307749
> Нормально ли подобное (видео рил) ухудшение в начале разогрева?
Ту мач агрессив. У тебя верхнепороговая скорость 1е-4 стоит, оптим хз какой, лосс хз какой, от нуля до 1е-4 при 1 к 64 соотношение добавляемой даты исходя из альфы и дименшена (0,015625 per step) на стадии вармапа это очень жесткие изменения. Снижай лр и показывай полный конфиг тренировки.

Еще стоит козин в качестве шедулера, а у него кстати прикол есть что дефолтный без аргументов практически не снижается во времени (тензор борд открой посмотри на график), типа за 1к эпох он от условных 1е-4 упадет до 3.9е-5, что фактически не снижает ебку скоростью. Так что если тебе надо нормальный козин под конкретное количество шагов эпох то бери из библиотеки торча с аргументами настраиваемыми козины ихние.
Аноним 09/08/25 Суб 09:46:20 1307773 95
>>1307771
> условных 1е-4 упадет до 3.9е-5
"3." лишнее
Аноним 09/08/25 Суб 09:49:58 1307775 96
>>1307771
>оптим хз
А все увидел лион. Промежуток между 1е-5 - 5е-5 на нем вроде достаточно сейфово и без тупняка, но от лосса ещё зависит
Аноним 09/08/25 Суб 09:51:14 1307778 97
>>1307474
>1) Расширения для А1111 не встанут на этот ваш Фордж?
В большинстве - встанут.

>2) В Форже другой синтаксис промптов, отличный от А1111?
Тот же самый.
Аноним 09/08/25 Суб 09:54:36 1307780 98
>>1307504
>вот такую шляпу
Пишешь экшн для фотошопа, который дублирует базовый слой и сливает их между собой, и так несколько раз, потом сохраняет и закрывает файл.
Прогоняешь им всю папку с картинками.

Но, очевидно, что косяки на краях после такого вылезут во всей красе.
Аноним 09/08/25 Суб 12:16:22 1307881 99
image.png 46Кб, 1266x280
1266x280
pythongFnrsGwyZL.jpg 182Кб, 1103x777
1103x777
pythonIxuXkNjrT3.jpg 387Кб, 1103x1107
1103x1107
pythonHJ4ihNeed2.jpg 164Кб, 1103x777
1103x777
>>1307757
Проблема проверок всех этих параметров это сколько ждать нужно. 3600 шагов занимает 6 часов.
Хорошо сейчас понял что простой промпт (1girl, solo) за ~20 мин (3 эпока) разоблачает косяки.

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

Мне кажется тут много того что ты написал что понадобится уже на более тонких вещах. Если у меня неправильно выставлена температура мне кажется трогать бета1 или 2 будет только сильнее запутывать. Т.е. если если вместо сломанных правых рук станут сломанные левые, то я вряд-ли это замечу. Если я не смогу хотя бы немного исправить текущий пиздец с экспериментируя 1-3 параметрами, то блять, вообще хуй с тренеровкой лор. Столько уже времени вложил, что еще столько же я уже не выдержу. Я готов сильно пожертвовать качеством если смогу убрать шизофринию.

Все эти аналогия на счет машинного обучения про то как обучения это слепой идет и изучает

>В каждом блоке содержатся компоненты:...
Мне кажется тут нужен набор знаний которого у меня нет.

У меня SD1.5 если что.
>>1307758
>Хуй знает как у тебя там альфа работает
Альфа 1.0 полное обучение без помех, 0.5 половина силы.
>>1307763
Понятно.
>>1307771
>верхнепороговая скорость
>соотношение добавляемой даты исходя из альфы и дименшена
>пики валидации
>peft третье
Моя твоя не понемай.
>Еще стоит козин в качестве шедулера, а у него кстати прикол есть что дефолтный без аргументов практически не снижается во времени (тензор борд открой посмотри на график), типа за 1к эпох он от условных 1е-4 упадет до 3.9е-5, что фактически не снижает ебку скоростью.
Пик1
>Снижай лр
У адаптивных оптимайзеров, если в начале изменения слишком маленькие у них крышу срывает, по этому нельзя вармап. А обычные нормально относятся если в начале слишком низкий ЛР.
Аноним 09/08/25 Суб 13:30:01 1307941 100
>>1307881
>Проблема проверок всех этих параметров это сколько ждать нужно. 3600 шагов занимает 6 часов.
Так чтобы понять принцип работы того или иного параметра тебе буквально нужна 1 картинка, 1 тхт файл описания и 5 репитов на этот датасет из 1 картинки и условно 10 эпох тренировки длиной в 5-10 минут. Не надо выдрачивать по 6 часов, это так не работает вообще: если сеть изначально сломалась, то она из жопы магическим образом не вылезет дальше есть пара вариантов когда может, но это особая магия с косинанилингвармрестарт шедулером и не всегда работает. Забей хуй на тренировку, пробуй следующий вариант, если у тебя в первые 5-10 эпох нет когерентного результата.
>Хорошо сейчас понял что простой промпт (1girl, solo) за ~20 мин (3 эпока) разоблачает косяки.
Ну да. Но есть чуть более точный тест: сначала генишь примерно то на что тренил, затем генишь диаметрально противоположный концепт - скажем кот сидит на скамейке в городе, если оба теста проходит и ничего не поломалось, то модель сумела в обобщение. Естественно надо учитывать что от сида тоже зависит и если на одном сиде не работает, то на другом может работать, это норма для луковичных юнетов.
>Анон, мне нужна хоть какая-то победа. Сколько я бьюсь об стену и вижу этот шизофренический результат с искривленными руками. Либо странный андерфит где лора дает минус к анатомии. Мне нужно хоть какая-то надежда, хоть какой-то позитивный результат.
Если тебе нужен стопроцентный простой удобный результат, то берешь технику тренировки b-lora, это как раз про изоляцию и таргетированную тренировку. Там по дефолту отключены фф и прожекшен слои и конволюшены в конфиге, так что будут тренироваться только линейные слои в конкретных блоках, вследствие чего у тебя будет вопервых долго тренироваться до результата, а во вторых вообще насрать на гиперпараметры - оно сожрет практически любые.
Сам концепт описан тут https://b-lora.github.io/B-LoRA/
Конфиги тут https://github.com/ThereforeGames/blora_for_kohya/tree/main/lycoris_presets
Если захочешь включить все кроме конволюшенов в тренировку обратно, то в регулярных выражениях для юнета пропиши заместо старого
"output_blocks\\.0\\..$",
"output_blocks\\.1\\..
$",
"input_blocks\\.8\\..$"
Текстовый енкодер там два слоя тренируется
"text_model.encoder.layers.0",
"^text_model\\.encoder\\.layers\\.1(?!\\d)(\\..
)?$"
>Мне кажется тут много того что ты написал что понадобится уже на более тонких вещах.
Мой псто скорее про то что сначала изучи как работает мотор прежде чем заниматься его починкой изолентами.
>Столько уже времени вложил, что еще столько же я уже не выдержу.
Ооо ты бы знал сколько я времени убил впустю вообще наверно в окно выпрыгнул.

>Мне кажется тут нужен набор знаний которого у меня нет.
Ну я вроде описал принцип работы, теперь есть.
>У меня SD1.5 если что.
А, ты еще и на полторахе. Ну в принципе с изоляцией слоев в небольшом дименшене без текст енкодера и в фп8 юнете и фп8 оптимайзере сдхл должна влезть в 6 кеков даже на 1024 разрешении, а уж 768 и подавно. Могу проверить если хочешь и потом конфиг дать, сдхл во всем будет лучше полторахи даже в фп8 тренинге за счет того что там модели попизже будут базовые.

>Моя твоя не понемай.
У тебя стоит 0.0001, это в сайнтфиик нотейшен 1e-4, достаточно агрессивная скорость для лиона и лор в целом.
Дименшен и альфа работают так: ты указываешь дименшен ранк 64 и альфу 1, следовательно коэффициент влияния модуля лоры каждый шаг будет 1 поделенный на 64, то есть 0.015625силы влияния, что осторожно и не должно так въебывать уже на вармапе. Альфа это регуляризационная залупка кстати тоже.
>Пик1
А у тебя в вантрейнере выставлен num_cycles зависящий от тоталстепс, по дефолту его нет, я предположил что ты может выставляешь вечную тренировку на козине.
>У адаптивных оптимайзеров, если в начале изменения слишком маленькие у них крышу срывает, по этому нельзя вармап. А обычные нормально относятся если в начале слишком низкий ЛР.
Ну адаптивным и не ставят вармапы. А у тебя лион, он не адаптивный, у тебя 700 шагов на вармап при датасете в 70 картинок, это в целом дохуя и смысола не имеет, 5% от всего рана или эквивалент 1-2 эпохам достаточно, ато он 10 эпох дрочился у тебя до мощной скорости зачем-то (я только только видос посмотрел твой), только время проебал.
Аноним 09/08/25 Суб 14:50:18 1308066 101
image.png 93Кб, 1300x867
1300x867
>>1307941
>Мне кажется тут нужен набор знаний которого у меня нет.
>Ну я вроде описал принцип работы, теперь есть.
Конволюшн блоков в этих u-net пикчах я не вижу.
Я попробую несколько раз перечитать твои посты но башка от сложности взрывается. Просто в большинстве туториалов говорят "хуяк-хуяк, поэкспериментируйте температурой и эпохами и все!". А тут непросто знать что каждая хуйня делает, нужно еще знать на какие еще 10 вещей она влияет, от каких 5 вещей зависит и какие 3 вещи делают её ненужной, а как все эти вещи работают вместе.

>сдхл во всем будет лучше полторахи даже в фп8 тренинге за счет того что там модели попизже будут базовые.
У меня gtx1660, full precision only. Генерация SDXL даже 768p 20 шагов занимает 2 минуты. Там вообще никак не поэкспериментируешь, я уже не говорю про тренировки.

>У тебя стоит 0.0001, это в сайнтфиик нотейшен 1e-4, достаточно агрессивная скорость для лиона и лор в целом.
>Дименшен и альфа работают так: ты указываешь дименшен ранк 64 и альфу 1, следовательно коэффициент влияния модуля лоры каждый шаг будет 1 поделенный на 64, то есть 0.015625силы влияния, что осторожно и не должно так въебывать уже на вармапе. Альфа это регуляризационная залупка кстати тоже.
Т.е. другими словами непонятна причина пиздеца?

Бонус: мнение. Аналогия с слепцом который ходит по горам, учится рельефу, и пытается найти дно, не отображает реальность машинного обучения. И это не просто грубое упрощение а активно мешающая пониманию процессов. Т.к. если вам задут хоть немного технический вопрос эту аналогию невозможно будет применить, потому что она изначально не имеет смысла. Лучшая аналогия необходима и поможет всем. Имхо.
Аноним 09/08/25 Суб 15:47:35 1308205 102
>>1307757
>>1307941
Ты пиздец его изнасиловал сейчас инфой скорее всего, он хоть усрётся не получит нихуя от полторахи как не трень, ни анатомии, ни рук, ни стиля, может скорость только получит приемлемую
>>1307690
Что ты хоть тренить то собрался? Тебе легче будет в тредах попросить тебе потренить с твоей 1660, но про 1.5 можешь вообще забыть, сколько её не еби, оно мёртвое даже по сравнению с XLями. Но вообще с XL фп8 оптимайзер, фп8 веса, градиент чекпоинтинг, 1 батч, без энкодеров, может сниженное разрешение даже влезет в 6, в 8 точно влезает без энкодеров второй батч в 1024
>>1307881
> 3 эпока
Я очень надеюсь что ты не по методикам вин10твикера это всё пытаешься делать
Аноним 09/08/25 Суб 16:37:32 1308353 103
>>1307749
Я насколько я знаю для фп8 нужны RTX 30ХХ+ серии (bitsandbytes), если конечно есть то чего я не знаю о 16xx серии И да те 2 минуты за 768px 20 шагов это на квантованных чекпойнтах. Обычные не влезают в ВРАМ.
> 3 эпока
>Я очень надеюсь что ты не по методикам вин10твикера это всё пытаешься делать
3 эпока это я преувеличил но так я ссылался на этот видеорил >>1307749
Аноним 09/08/25 Суб 20:57:18 1308791 104
image.png 120Кб, 1257x418
1257x418
800455537328022.png 800Кб, 1808x777
1808x777
>>1308066
>Конволюшн блоков в этих u-net пикчах я не вижу.
Конволюшн слои внутри блоков, отдельных блоков с конволюшнами в сетях нет.
У тебя пикча схематичная, там справа снизу легенда расписана где стрелочки отдельные это и есть конволюшны частично.
Кароче, чтобы понять из чего состоит модель тебе надо взять любою лору натренированную даже на одном шаге, но с таргетами по всем блокам со включенными конв слоями, а дальше эту лору засунуть в верификатор лор, без разницы вручную через питон скрипт или через уи типа https://github.com/bmaltais/kohya_ss , на выходе ты получишь список всех слоев в твоей лоре, пикрелейтед, он для сдхл но тоже самое делается и для 1.5.

У тебя в пикчах твоих кстати выше стоит пресет attn+mlp, то есть ты изначально не тренируешь конволюшны, то есть они отпадают как причина агрессии или кривости лорки. Остается просто высокая скорость и недостаточная регуляризация.

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

>Я попробую несколько раз перечитать твои посты но башка от сложности взрывается.
Задавай вопросы что непонятно.

>Просто в большинстве туториалов говорят "хуяк-хуяк, поэкспериментируйте температурой и эпохами и все!". А тут непросто знать что каждая хуйня делает, нужно еще знать на какие еще 10 вещей она влияет, от каких 5 вещей зависит и какие 3 вещи делают её ненужной, а как все эти вещи работают вместе.
У тебя два стула буквально в контексте лоры - тренить вечность на низкой сейфовой скорости на уровне до 1e-5, но не думать о том, как оптимизировать процесс чтобы не обосраться, либо тренить эффективно но избегать страданий от переобучения через таргетинг (вот у тебя аттн+млп пресет, это по факту таргетная тренировка, ток ты изначально не так с ней работаешь) и тонну гиперпараметров.

>У меня gtx1660, full precision only. Генерация SDXL даже 768p 20 шагов занимает 2 минуты. Там вообще никак не поэкспериментируешь, я уже не говорю про тренировки.
Я имею в виду чтобы ты подготовленные сконверченный чекпоинт можешь использовать для генерации, через пик2 например, это мой скрин годичной давности почти, там потребление врама в пике 5.5 гигов, теоретически оно влезет тебе в 6 гигов твоей 1660, потому что были репорты что в 1050ти с 4 гигами влезало и терпимо было.

А тренинг тренируется через специальный параметр --fp8_base_unet, переводящий fp16 чекпоинт в fp8 точность, плюс использование оптимайзера с 8бит точностостью. То что у тебя карта не держит фп8 нативно это не проблема вообще, оно не влияет особо.

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

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

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

>
Аноним 09/08/25 Суб 21:33:14 1308864 105
>>1308205
> Ты пиздец его изнасиловал сейчас инфой скорее всего,
Бля ну я не хотел, мне кажется лучше сразу показать что тренинг это не тяп ляп и результат как будто гпт 5 натренировал а ты сем альтман, в реальности ебешься будь здоров как и в любой деятельности которая с виду преподносится как жмаканье кнопки сделать пиздато.

>он хоть усрётся не получит нихуя от полторахи как не трень, ни анатомии, ни рук, ни стиля, может скорость только получит приемлемую
Ну кстати да, полторашка сама в целом сосет. Лучше пусть продает свой 1660 мусор и покупает срук 3060 12 кеков или из 4000/5000 серии ченить с 16 гигами если интересен процесс тренировок, не такие уж большие траты, 8 раз в пятерочку сходить.
Аноним 10/08/25 Вск 05:04:27 1309428 106
>>1307757
>Вообще оптимов самых разных великое множество, протестировать все у тебя жизни не хватит, поэтому можно выбирать с помощью синтетических тестов например отсюда https://github.com/kozistr/pytorch_optimizer/blob/main/docs/visualization.md
Нельзя.
Осмысленных выводов по этим картинкам сделать невозможно.
>Еще сюда можно совет впихнуть что если ты новичок
Найс кормишь новичков дерьмом.
>бери адаптивные оптимайзеры, или шедулер фри.
Это хотя бы верно.
>dmd2
)))

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

>>1307749
>>1307881
>Lion
Выкинь, он не умеет обороты сбавлять и фулл лр хуячит, емнип.
1е-4 тем более с ним будет дохуя.

>Альфа 1.0 полное обучение без помех, 0.5 половина силы.
Не так. Ставь альфу как корень из ранга. В твоем случае 8. Альфа прост косвенный множитель инициализации весов. Он еще на ранг делится, так что полное это 64.
>У адаптивных оптимайзеров, если в начале изменения слишком маленькие у них крышу срывает, по этому нельзя вармап. А обычные нормально относятся если в начале слишком низкий ЛР.
Наоборот. Моментумы без прогрева могут дать очень большое обновление. Или просто временно "отключаются", и будет идти обучение как по обычному сгд.
И можно не плавно поднимать лр, а проехать сколько-нибудь на нулевом лр, а потом поднять. Это изначальная логика как задумывалось. Просто с маленьким лр можно не тратить шаги впустую а чутка успеть обучиться и никуда не улететь пока момент плавно стабилизируется.

Поставь аккумуляцию побольше, даст то же самое что и батч. Отключи ТЭ. Потести лоссфункции, включи дору.
Пресет слоев у тебя какой, где написано только атеншены? В этом гуе я хз, но если только атеншены тренирует то это не то.
Добавь wd, дропауты.
Ну и выкинь лион, ставь адамW обычный.

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


>>1307941
>Ну адаптивным и не ставят вармапы.
Пиздеж.

>>1308066
>Я попробую несколько раз перечитать твои посты но башка от сложности взрывается.
Ой бля лучше его не слушай, там надо шарить чтобы понять что мусор а что нет.
Лучше возьми да залей датасет и сюда вкинь, тут получше твоей некторы карточки будут. Да и я могу натренить если мне не лень будет. Только дай модель и тестовые промты. Прост интересно ради чего ты так ебешься.
И вообще нахуя 1.5? Она же кал. Если xl хотя бы запускать можешь, зареквесть других натренить. Сборка датасета это все равно самое ебаное из всего процесса, а на трене уже работает видимокарта а не ты, лол.


>>1308791
>Лучшая аналогия обучения нейросети это раб, которого бьют плеткой (лосс функцией и регуляризацией) за каждый неверный мув (ошибку) чтобы он больше таких мувов не делал и был хорошим рабом. Если бить раба слишком сильно, то он помрет не сделав ничего полезного, если недостаточно, то он будет филонить. Осуждаю, но выглядит это именно так. Обучение с тичером и подкреплением вообще концлагерь аналогией будет.
Хуйня аналогия. Вот лучшая:
Параметры нейросети это многомерные координаты, для многомерного ландшафта по которому она идет. Градиент дает направление и условно-относительную силу шага для каждого параметра-координаты. С каждым шагом ландшафт немного меняется, потому что параметры воздействуют друг на друга. Поэтому сильно шагать по вычисленному направлению мы не можем, только по чуть-чуть. Разные параметры влияют на ландшафт по-разному. И для того чтобы вычислять такие параметры придуман второй момент в адаме, который старается не дрочить сильно параметр если градиент по нему часто меняет направление.
И никаких аналогий не надо.

>>1308864
>Лучше пусть продает свой 1660 мусор и покупает срук 3060 12 кеков
3060/12 можно за 15к достать с мобильным чипом. Якобы новую из китая. Б/у за 12.
Мобильные 3080/16 в районе 20. v100/16 еще есть за 20 с небольшим, но там пердольная плата с охладом.
Аноним 10/08/25 Вск 18:40:22 1310233 107
Без названия.png 681Кб, 722x624
722x624
Без названия (1).png 666Кб, 1920x947
1920x947
>>1307749
Блять. Как минимум половина проблем была в Aspect Ratio Bucketing.
Новый тест с другим чекпойтом:
Пик1 Слева оригинальный датасет с разным соотношение сторон, справа датасет с квадратами Aspect Ratio Backeting ВЫКЛ (чужой датасет и абсолютная шиза в нем, у всех пикч один промпт, а теги со всякими мастерписями, 32к и пр)

Сорян, сегодня не отпишусь тем кто ответил.
Аноним 11/08/25 Пнд 23:26:51 1312164 108
Какой же комфипидор всё же пидор. У него некоторый код инференса в режиме обучения. Видимо когда впердоливали ноды обучения никто даже не чекнул остальной код и не сделал torch.no_grad() как положено. Из-за этой хуйни "протекает" память, хотя на самом деле это так торч устроен - веса модели нельзя удалить из памяти пока на них ссылается тензор с requires_grad. Чекается легко, есть ли в воркфлоу говняк - генерим и жмём "выгрузить все модели", если память не очистилась под ноль, а после нажатия "инвалидация кэша" всё же освободилась, то говорим спасибо комфипидору. Пока тензоры в кэше нод не будут удалёны, не очистится и память моделей, зависящая от них. Хорошо хоть глобальное отключение автограда помогает и не надо разбираться в этом говнокоде. А ведь я помню как это чмо ещё пиздело на автора Форджа что он не знает что делает, по итогу это комфипидор не знает как менеджмент памяти в торче работает.
Аноним 12/08/25 Втр 00:13:27 1312224 109
>>1312164
>обучать в комфе
двач_помогач_как_есть_с_ножа.тхт
Аноним 12/08/25 Втр 00:26:54 1312242 110
>>1312224
Так я и не треню, это инференс сломан там этим говно для обучения.
Аноним 13/08/25 Срд 16:56:37 1315853 111
image.png 74Кб, 1583x550
1583x550
Экспериментировал с CAWR шедулером, и случайно получилась такая кривая скорости из-за достижения лимита в min_lr.
Примерно с того момента как график отзеркалился (70 шаг) внезапно пошел ебический буст четкости и сходимости. Это я так понимаю обратная пилообразная синусоида, но я их ни разу в кастомных шедулерах не встречал потому что согласно всем обоснованиями базовая логика обучения подразумевает что из общих форм со временем высекается более точные формы на низких скоростях (нисходящий шедулинг). То есть получился эффект не варм рестарта, а ээээ вармап рестарта.

Сталкивался кто с подобным шедулингом?

Если что код тут https://pastebin.com/EHaTb1WY под классом
CosineAnnealingWarmupRestartsPD
Аноним 13/08/25 Срд 17:06:19 1315861 112
image.png 153Кб, 1593x1134
1593x1134
>>1315853
а да настройки цикла

--unet_lr=1e-3 ^
--text_encoder_lr=5e-4 ^
--lr_scheduler_args "max_lr=1e-3" "min_lr=5e-4" "gamma=0.95" "first_cycle_steps=кол-во картинок в датасете" ^

Разворот произошел и на te и на unet планировщике потому что в коде шедулера пропорционально сделано исходя из стартовых значений скорости.
Аноним 14/08/25 Чтв 01:47:53 1316918 113
Че узнал щас почему те пиздошится: оказывается скорость текстового энкодера любая которую назначаешь при тренинге является фейковой, т.к. лосс считается на выходе юнета, но градиенты для TE проходят через юнет в любом случае. Таким образом допустим большой шаг у юнета = большие изменения в распределении активаций на входе в TE при обратном проходе => TE начинает получать непредсказуемые градиенты => эффективно увеличивается лр TE по созависимости, хотя на бумаге он каким был таким и остался.
Аноним 14/08/25 Чтв 02:11:20 1316937 114
>>1316918
Тут каждый тред про это пишут, а дурачки всё продолжают его тренить с lr почти как у unet.
Аноним 14/08/25 Чтв 02:14:33 1316938 115
>>1316937
>Тут каждый тред про это пишут
Не видел
Аноним 14/08/25 Чтв 03:37:03 1316991 116
АнонИИ, вижу тут разбирающиеся люди есть, тама Chroma v50 (это какой то гибрид 1dev и schnell) вышла, подскажите как на неё лоры тренировать кто в курсе? Я залетный и много не прошу мне бы только на лицо натренировать. Можно как то сделать это через one trainer или flux gym или аналоги не сложные?
Аноним 14/08/25 Чтв 05:25:12 1317023 117
>>1316918
Скорость не фейковая, тут вопрос в том хули в текст энкодер большой градиент приходит?
Норму градиента можно мониторить, и можно делать константной, при желании.
Лучше замерять это инструментально, прежде чем делать какие-то выводы.
Аноним 14/08/25 Чтв 09:53:43 1317156 118
>>1316991
> это какой то гибрид 1dev и schnell
Нет, это просто крайние слои от Флюкса отрезали и заново натренили с cfg.
> как на неё лоры тренировать кто в курсе?
В официальной репе есть код тренировки лор со скриптами запуска, должен работать. Я его адаптировал под свой тренер, всё чётко было. Но ты учти что надо либо две карты, либо квантовать, желательно через HQQ. В int8 чтоб в 24 гига залезло надо разрешение ниже 1024 опускать, что-то типа 768, хотя я думаю это не проблема, некоторые Ван в 256х256 тренят, лол. Для комфортной тренировки желательно конечно 5090. По скорости 2000 шагов в час на 5090.
Аноним 14/08/25 Чтв 10:10:34 1317169 119
Решил посмотреть, какая математика лежит в корне VAE. Охуел пиздец. И это мне нейронка с упрощения расписала. А ведь когда то я играюче разобрался бы в это, техвышка это вам не шутка. А щас пук среньк, не могу даже интеграл взять
Посоветуйте книжку по городу генеративным сетям. Чтобы все основные компоненты, и вае, и клип, и u net разбирались. Я знаю, как они работают, но не настолько глубоко, как бы хотелось.
Аноним 14/08/25 Чтв 10:50:51 1317189 120
1755157751779.png 5205Кб, 2185x2835
2185x2835
1755157751781.png 3566Кб, 2185x2835
2185x2835
>>1317169
> Посоветуйте книжку по городу генеративным сетям. Чтобы все основные компоненты, и вае, и клип, и u net разбирались.
Ну посоветую, это скорее историческая энциклопедия охватывающая всю историю нейросетей, чем что-то специальное узконаправленное
Книги бесплатны на сайте автора
Аноним 14/08/25 Чтв 11:02:44 1317198 121
image.png 711Кб, 1359x844
1359x844
>>1317156
Тут пишут что это шинель

>что надо либо две карты, либо квантовать
Flux же не квантованный нормально тренируется на 24гб 3090 в 1024, а тут я так понял урезанный flux чего бы он не влез?

Если ты про эту репу https://huggingface.co/lodestones/Chroma/tree/main?not-for-all-audiences=true , то чтото я тут не нашел скриптов ничего такого чтобы можно было запустить не сложно.

Буду пробовать ее под флюкс жим подкладывать, под видом обычного flux 1dev.
Аноним 14/08/25 Чтв 11:05:37 1317200 122
>>1317198
Sd scripts ветка sd3, хрому добавили ещё две недели назад
Аноним 14/08/25 Чтв 11:07:33 1317202 123
>>1317198
> Тут пишут что это шинель
Да это шинель
Аноним 14/08/25 Чтв 11:08:24 1317203 124
>>1317198
> Тут пишут что это шинель
Потому что у него лицензия нормальная, от шнеля там ничего не осталось, кроме архитектуры DiT.
> Flux же не квантованный нормально тренируется на 24гб 3090 в 1024, а тут я так понял урезанный flux чего бы он не влез?
Только если свапать блоки, но это дно по скорости. Как раз коха такими извращениями занимался.
> Если ты про эту репу
https://github.com/lodestone-rock/flow
Аноним 14/08/25 Чтв 11:10:53 1317204 125
Эх вот бы лайтовую версию хрен-имейдж на примерно 5 миллиардов параметров, изи килл сдхл...
Аноним 14/08/25 Чтв 11:19:08 1317209 126
>>1317198
> не квантованный
В fp8, что ещё хуже квантов. На Флюксе от этого лоры шакалили генерации, выдавая блочные артефакты. Если хочешь что-то вменяемое натренить, то модель должна быть либо в bf16, либо в нормальных квантах. Сама лора естественно должна быть bf16 всегда.
Аноним 14/08/25 Чтв 12:44:18 1317295 127
>>1317203
>https://github.com/lodestone-rock/flow
Ага спасибо, качнул от туда flow, буду разбираться, но похоже консоль дрочить придется и руками писать а не параметры в окошечках выбирать.
>>1317209
Спасибо за подсказку, но вроде на FLUX неплохая лора получалась, модель была flux1-dev.sft на 23 гига
Аноним 14/08/25 Чтв 21:48:40 1317971 128
vae.jpg 20Кб, 860x326
860x326
Screen-Shot-201[...].png 333Кб, 1132x458
1132x458
>>1317169
>Решил посмотреть, какая математика лежит в корне VAE. Охуел пиздец. И это мне нейронка с упрощения расписала.
Нейронки плохо умеют правильно упрощать.
Вообще вае это несложно, там просто математики насрали как обычно своей хуйней, которой не существует.
На самом деле есть просто обычный автоэнкодер, понять как он работает - тривиально. Если ты его просемплируешь на большом наборе данных, увидишь что латенты распределены всрато и неравномерно, они кучкуются в определенных областях пространства, в остальных есть дыры. Попытка взять случайный латент выдает сломанный результат, ибо ты почти всегда попадаешь в дыру или недопустимую комбинацию значений.
Задача вае сделать распределение равномерным. Достигается это двумя путями. Первый это просто дополнительный лосс на сами латенты, чем дальше значение от "центра", тем больше ошибка.
Это сила которая стягивает латенты к центру.
Второе - вводится дополнительный канал, который будет предсказывать насколько важно каждое значение латента. Если значение важное, значит оно сильно влияет на выход в данный момент и его нельзя сильно отклонять.
В момент прямого прохода будет взято случайное число из диапазона, который предсказан этим каналом, и прибавлено к латентам, затем отправлено в декодер.
Кароч суть в том что из-за этого канала в латенты постоянно подсирается шум, но если градиент ошибки большой, то канал учится ослаблять шум.
В итоге это становится силой, которая расталкивает латенты и все это вместе делает распределение гладким, а само обучение - осмысленным и структурированным.
На дополнительный канал тоже накладывается лосс, только наоборот, тянущий его от нуля. Иначе бы энкодер сразу схлопнулся и предсказывал бы одни нули на этих каналах, потому что они только мешают работать декодеру. Каждый канал начинает учиться выдавать большое значение только когда сильный разброс допустим и низкое когда нет. За счет разброса как раз закрываются дыры, декодер учится работать с полным диапазоном значений.

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

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

https://xnought.github.io/vae-explainer/
https://education.yandex.ru/handbook/ml/article/variational-autoencoder-(vae)
Аноним 14/08/25 Чтв 22:03:02 1318000 129
Дополнение:
На второй картинке как раз видно, что итоговый латент получается таким, что если сделать небольшое отклонение, то попадешь по крайней мере во что-то похожее. Соответственно, получишь меньший лосс, и так автоэнкодер естественно учится делать хорошую и нужную нам структуру.
Аноним 15/08/25 Птн 11:42:10 1318592 130
изображение.png 193Кб, 2350x942
2350x942
>>1317203
В общем мы с flow не подружились то одно ему надо то другое то вересия питона слишьком высокая то слишьком низкая то вообще на линуксе делать надо.

В флюксжим пропихнуть тоже не удалось не под видом дев не под видом шенель...

>>1317156
Поставил Ai toolkit красивый приятный удобный, все нормально влезло в 24 гига. Пришлось правда VS2022 переустановить ибо по дефолту он уставнолен был в програм файлс с пробелом и питоне не мог им пользоваться нормально. И тренить можно много чего, даже ван видео.
Аноним 15/08/25 Птн 12:05:02 1318603 131
>>1318592
> даже ван видео
Там поддержка только старого 2.1. Ван 2.2, к сожалению, можно тренить только в говне кохи, которое ещё более говняное чем его говно для тренировки sd. Столько лет чел кодит и всё как в первый день, когда он писал код для тренировки лор полторахи.
Аноним 15/08/25 Птн 12:07:01 1318606 132
>>1317971
Вроде и понятно, но если начнут задавать уточняющие вопросы - развалюсь.
Аноним 15/08/25 Птн 12:45:36 1318643 133
изображение.png 23Кб, 424x393
424x393
>>1318603
2.2 есть только для 5B модели, ну можно сказать что и нет...
Аноним 17/08/25 Вск 11:47:48 1322699 134
1755420464124.jpg 572Кб, 1080x1997
1080x1997
>>1315853
Сделал шедулер обратного косинуса с рестартом с независимыми скоростями для весов и те, работает заметно лучше чем классика. Основная проблема нисходящего шедулинга в том, что стартовые значения переоценены и потом эти переоцененные значения подкручиваются еще сильнее на стадии дикея, особенно если шумные входные данные, поэтому на одном и том же датасете получились совершенно разные эффекты (картинки заебусь прикладывать поэтому текстом) - в первом случае где старт с 1е-2 до 1е-3 (при эффективной скорости обучения примерно от 5е3 до 1е2) сильно жжет веса и конволюшены впитывают слишком мощный шумный сигнал (конкретно фьючерсы стилистики со всеми характерными засветами и квалити демеджом в датасете), во втором случае при бесконечном восхождении от 1е3 до 1е2 жарево полностью исчезает и теперь сеть не агрессивно подстраивается под датасет, а датасетные данные подстраиваются под сеть за счет бесконечного эффекта вармапа.
Эффект получился схожий с трапезоидальным шедулером, где весь график это вармап-плато на высокой скорости-косинусный дикей до нуля обратно, только там он длиной во всю тренировку, что усложняет контроль лучшей эпохи и может не докручивать себя чтобы найти более лучшее решение. Попробую сделать и попробовать циклический трапезоидал, где вармап длиной в датасет-плато длиной в датасет-дикей длиной в датасет и затем повторы, вероятно это наиболее удобный и сейфовый вариант тренировки будет вообще, но даже обратного косинуса как будто бы достаточно, особенно с большим батчем на уровне 10-50 картиночек за раз.

Кстати кохака чето высрал
Аноним 17/08/25 Вск 14:48:56 1322978 135
>>1322699
>Кстати кохака чето высрал
Наверное, то самое, что он для рекламы своей вае тренировал.
Аноним 18/08/25 Пнд 18:07:41 1324796 136
>>1290650
>Ещё и на оптимизатор focus перешёл.
А с какими параметрами?
Аноним 18/08/25 Пнд 20:52:50 1325003 137
>>1291324
>Я при кешировании латентов шум генерю и потом только его использую, без генерации нового, у каждого латента свой фиксированный шум.
как эту хуйню въебать в сдскрипты пиздец че за квест
Аноним 19/08/25 Втр 03:07:56 1325376 138
>>1325003
кароче нужна ревизия

вариант 1 - определять принадлежность фиксед нойза по хеш сумме (добавить аргумент --fixed_noise)

def get_noise_noisy_latents_and_timesteps(
args, noise_scheduler, latents: torch.FloatTensor
):
"""
Генерация фиксированного шума на основе содержимого latents.
"""

if args.fixed_noise:
# Переводим в float32 перед numpy()
latents_bytes = latents.detach().to(torch.float32).cpu().numpy().tobytes()
hash_int = int(hashlib.sha256(latents_bytes).hexdigest(), 16) % (232)

g = torch.Generator(device=latents.device).manual_seed(hash_int)
noise = torch.randn(latents.shape, generator=g, device=latents.device)
else:
noise = torch.randn_like(latents)

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

def get_noise_noisy_latents_and_timesteps(
args, noise_scheduler, latents: torch.FloatTensor, image_index: int = 0
):
"""

"""

if args.fixed_noise:
g = torch.Generator(device=latents.device).manual_seed(image_index)
noise = torch.randn_like(latents, generator=g, device=latents.device)
else:
noise = torch.randn_like(latents, device=latents.device)


юзал вместе с ффт лоссом, не сказал бы что качество прям скакнуло но управление промтами стало определенно лутше и четкость наверно получше собирается

>>1291324
нужен твой комент за всю хуйню
Аноним 19/08/25 Втр 03:22:37 1325386 139
>>1325376
алсо второй вариант почему-то более пиздатые результаты дал
Аноним 19/08/25 Втр 03:32:03 1325392 140
>>1325386
Хотя если быть точнее то первый вариант определенно на одном шуме обучался и у него бешеная сходимость

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

такто технически должен был быть один или похожий результат если шумы фисятся и там и там, а на далее ну соврешенно противоположное говно
Аноним 19/08/25 Втр 08:29:47 1325453 141
>>1325392
>а на далее ну соврешенно противоположное говно
Так вроде логично же? У тебя разные сиды для шума, в пером считаются из хеша латента, во втором из его индекса.
Аноним 19/08/25 Втр 09:00:34 1325466 142
>>1325453
Так там прикол в том, что если результат с хешей, то он в разы более консистентный, а в случае индекса (который я предлагаю кривой, т к ну по факту там надо еще пару блоков кода для передачи индексов корректно) он почти такой же как результат с тренировкой на рандом нойзе.
Аноним 19/08/25 Втр 10:43:18 1325514 143
1721110321176.png 39Кб, 1164x208
1164x208
1698134622794.png 55Кб, 1754x240
1754x240
>>1325376
Я в датасете на моменте кеширования латентов просто вот так делаю. А потом достаю вместо генерации шума.
Аноним 19/08/25 Втр 11:34:56 1325549 144
>>1325466
Внгую индексы там бесполезны из-за перемешивания семплов, т.е. в разных эпохах один и тот же индекс будет указывать на разные семплы.
Аноним 19/08/25 Втр 16:45:43 1325877 145
>>1325514
можешь глянуть как правильно в трейн утиль твой код внедрить?
Аноним 19/08/25 Втр 18:37:56 1326014 146
Народ, подскажите, кто шарит. Сейчас докупил к своей rtx 3060 12gb cmp 90hx на 10 гигов, но есть вариант добавить ещё 7к и купить tesla p40 на 24 гига. У меня обычная мать ASRock B550 PG Riptide
c 3 портами под видюхи. Я бы докупил теслу, но я не ебу как её нормально подключить и как она будет у меня охлаждаться будет. У cmp 90hx есть 3 вертушки + cuda есть и их больше чем даже у моей 3060, а значит в теории я могу даже картинки на ней быстро генерировать в 1024x1024 без доп фич. Что выбрать? cmp 90hx на 10 гигов которую впросто вставил и всё или доплачивать и брать p40 и потом ещё ебаться с охлаждением + она не умеет в генерации картинок?
Аноним 19/08/25 Втр 18:58:37 1326032 147
>>1326014
p40 это старое поколение паскаль вопервых, вовторых там нет тензорных ядер, втретьих на фп16 чекпоинтах будет критическое падение производительности, это будет в разы хуже чем твоя 3060
плюс есть неприятный эффект апкастинга изза того что карта фп32 онли по факту - ты не сможешь юзать нормально фп16 чекпоинты выше чем половина врама, т.к. на карте фп16 будет апкаститься до фп32 что означает x2 врама

единственное что на тесле норм это ллмки
Аноним 19/08/25 Втр 19:10:16 1326039 148
>>1326032
Так, я понял, P40 говно для генерации картинок. Но это я и до этого знал. А что по nvidia cmp 90hx?
Аноним 19/08/25 Втр 19:16:04 1326042 149
>>1326039
>А что по nvidia cmp 90hx?
>10 гигов
Даже если она быстрее (хз вообще, так ли это) - будешь постоянно в низкий потолок VRAM упираться. Что совсем не круто. Более-менее нормальная жизнь начинается с 12 гигов, и твоя 3060 - до сих пор топ за свои деньги. Но лучше, конечно, 16 или вообще 24.
Аноним 19/08/25 Втр 19:25:07 1326048 150
>>1326039
вопервых на майнинговом говне ебля с дровами

вовторых насколько мне известно там тоже порезаны операции с плавающей точкой, только целочисленные операции, то есть держи в уме что это LHR наоборот - все убито нахуй кроме операций вычисления хеш сумм для фарминга крипты, то есть хоть и карта базируется на 3080 но ты получишь производительность не сильно лучше опять же свой 3060

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

просто для примера тебе из той же серии
NVIDIA CMP 40HX (чип TU106 как у 2060-2070, прямой аналог 2060 супер вроде по остальным хар-кам) 3.48 итераций дает
при этом обычная GeForce RTX 2060 5.18 итераций на тех же настройках

делай выводы
Аноним 19/08/25 Втр 19:38:03 1326057 151
>>1326048
Окей, я могу немного пойти ваканк, докинуть ещё 25к и купить 5060 ti 16gb. Насколько она лучше в генерации картинок чем 3060 12gb?
Аноним 19/08/25 Втр 19:39:03 1326060 152
Какие ранги для XL для стидей норма. Читал, что 16-хватит-всем.
Аноним 19/08/25 Втр 19:49:48 1326068 153
>>1326060
Можно до 64 подниматься, чтоб быстрее тренить.
Аноним 19/08/25 Втр 19:55:26 1326077 154
Аноним 19/08/25 Втр 20:17:08 1326116 155
>>1326057
>Насколько она лучше в генерации картинок чем 3060 12gb?
3060
3600 куда ядер
112 тензорных ядер
192 бита шина

5060ти
4608 куда ядер
144 тензорных
128бит шина

Это примерно 1.5-2 раза быстрее 5060ти будет кароче, в зависимости от архитектуры нейросети.

Если что лучший топ нищевариант это 3090 с лохито на 24 гига.
Аноним 19/08/25 Втр 20:25:55 1326134 156
>>1326060
Ранг это просто размер и толщина добавочной матрицы с новой инфой. Чем больше размерность матрицы, тем больше параметров может хранить, чем больше параметров тем больше уникальных паттернов и их взаимодействия может изучить сеть. Хочешь более пиздатую модель - тренируй с большим рангом.
А такто и lokr с фактором декомпозиции -1 с выключенной декомпозицией второго блока (ранг >10240, альфы не работают) с тренировкой input_blocks.8, output_blocks.0, output_blocks.1 хватит на простую задачу за глаза, а это размер выходной лоры в 4 мегабайта между прочим.
Аноним 19/08/25 Втр 20:30:48 1326145 157
>>1326116
>Если что лучший топ нищевариант это 3090 с лохито на 24 гига.
В "дополнительные 25к" он тут вряд ли уложится.
Даже БУшные 3090 довольно дорогие.
Но 5060 и так нормально смотрится. Можно выжимать все из XL-моделей, и щуть-щуть потрогать всякие флюксы, ваны, квены и видео-генерацию.
Аноним 19/08/25 Втр 20:33:22 1326155 158
>>1326145
> ваны, квены и видео-генерацию.
трогаю на 3060
Аноним 19/08/25 Втр 20:35:51 1326158 159
>>1326155
>на 3060
Ну это уже экстрим какой-то.
Медленно же.
Аноним 19/08/25 Втр 20:37:44 1326162 160
>>1326158
убыстрялочки наше всё
Аноним 19/08/25 Втр 21:22:54 1326211 161
>>1326134
>4 мегабайта
кому интересно это технически 2 миллиона параметрических значений в bf16, или 0.06% параметров всей сдхл
Аноним 19/08/25 Втр 22:39:15 1326301 162
image.png 202Кб, 1220x458
1220x458
Я отказываюсь принимать и терпеть то, что стадия стабилизации на сдхл это фундаментальное ограничение обучения. Должен быть какой-то лайфхак уровня тичер-ученик, который убыстряет стадию стабилизации. Мнение?

Циферки эпох умножайте на 5 чтобы количество шагов получить.
Аноним 19/08/25 Втр 22:45:46 1326310 163
>>1326301
Скорее у тебя оптимизатор говно. За 1000 шагов любой датасет из 5 пиков уже натренится.
Аноним 19/08/25 Втр 22:51:09 1326324 164
>>1326310
>Скорее у тебя оптимизатор говно.

Нет, я тебе больше скажу - результат есть на первых 50 шагах, особенно если плюсить к убыстряющим лорам. Но снижение ошибки раз за разом рисуется именно в таком паттерне - хаос, стабилизация, снижение ошибки, и это вообще независимо ни от сверхнизких или сверхвысоких бет, скорости обучения или всяких дополнительных ёб типа едм - сдхл раз за разом требует на отрисовку паттерна поведения ошибки около 2к шагов для лоры. Это как будто заложено в самой сдхл.
Аноним 19/08/25 Втр 22:54:18 1326328 165
>>1326324
Лосс не метрика, нет смысла смотреть что там на графике, особенно на лорах.
Аноним 19/08/25 Втр 22:57:00 1326331 166
>>1326328
>Лосс не метрика
Повторяемость паттерна говорит о том, что это таки метрика. А если смотреть что делают челики используя конфигурацию из учитель-ученика, то там паттерн лосса сжимается во времени.
>нет смысла смотреть что там на графике, особенно на лорах.
То же самое поведение если тренировать полные матрицы, но в виде модуля дополнительного.
Аноним 20/08/25 Срд 11:43:29 1326656 167
>>1326134
Это я понимаю, вопрос скорее был про какое-то минимальное/начальное значение для нюкеков.
Алсо аналогичный вопрос по локону - какие ранги конвов ставить? Есть ли какие-то соотношения конвов к линейкам или можно фигачить какой-нибудь 16/4 в оба?
Аноним 20/08/25 Срд 14:00:05 1326761 168
>>1326656
>вопрос скорее был про какое-то минимальное/начальное значение для нюкеков
Ящитаю, что какое в карту залезет. Если хочешь тренировать быстрее, то подбери размер под увеличенный батч (помимо добавленных gradient_accumulation_steps фейкобатчей), если у тебя например 3060 то в 12 кеков вполне влезет батчсайз 2 на сниженной размерности.

>Алсо аналогичный вопрос по локону - какие ранги конвов ставить? Есть ли какие-то соотношения конвов к линейкам или можно фигачить какой-нибудь 16/4 в оба?
Зависит от того как и что тренируешь - полностью все блоки или селективно.

У каждого блока и почти у каждого слоя в сдхл есть пачка слоев которые считаются конволюционными при тренировке:
emb_layers - управляют вставками эмбедингов с фьючерсами от текстового енкодера, по факту не конволюшены даже, а просто своеобразные линейные слои, но в премейд пресете кои который тренирует конв онли они берутся и не фильтруются, очевидно чтобы при тренировке только конв с текстовым енкодером был смысл тренировать текстовый енкодер вообще
in_layers - конвы на входное преобразование
out_layers - конвы выходного преобразования
skip_connection - конвы соединяющие разные блоки, в основном находятся в аутпут блоке сдхл и соединены с инпут блоками

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

соответственно чисто логически чтобы не вызывать переобучение на шумные данные при обучении полных блоков обычно их размерность снижают относительно линейных слоев, процент подбирается индивидуально от 10 до 75%, прямой зависимости "количество блоков относительно линейных - размерности" нет, там в основном зависимость от скорости - если у тебя сейфовая низкая скорость на миллион шагов то можно такую же размерность брать что и у линейных, если агрессивная высокая с мощными шагами обновлений - ставь ниже

плюс зависит от алгоритма, у локона емкость сети в целом низкая поэтому вызвать переобучение на говняк в конвах проще, а например если тренировать diag-oft или boft то там матрица не коверкает основные данные сети и встраивается максимально нативно в модель, поэтому можно одинаковое значение брать
Аноним 20/08/25 Срд 14:24:41 1326786 169
>>1326761
>Зависит от того как и что тренируешь - полностью все блоки или селективно.
Я так понимаю ты про locon preset? Пока не ковырялся с ним и сижу на дефолте (full).

У меня на 4080 в принципе лезло 20/18 с батчем 2 или 3, но результаты были ужаренные и я пока на 16/16 тестирую.

Собственно сейчас пытаюсь получить не ужаренную лору на 16/4 (ранг/альфа) на линейки/конвы, локон+дора, без дропов. Оптим AdamWScheduleFree, LR=2e-4, wd=0.1, шедулер константный без прогрева. Эта хрень медленная, но вроде пока не так сильно жарит глаза/руки на арте.
Аноним 20/08/25 Срд 14:46:08 1326795 170
image.png 112Кб, 1271x926
1271x926
>>1326786
>Я так понимаю ты про locon preset? Пока не ковырялся с ним и сижу на дефолте (full).
Премейд пресеты кои пикрел. Ты можешь свой томл конфиг создать под нужное, ток регексы надо изучить и состав сети чтобы понять что исключать.
Если надо будет подсказать как оформлять регексы обращайся.
>не ужаренную лору на 16/4 (ранг/альфа) на линейки/конвы
Альфа это регуляризационная штука, не крути ее если не знаешь как точно будет лучше - либо единичку ставь, чтобы обновления разных прогонов лор с разными настройками были так сказать сравниваемы между собой по влиянию на сеть, либо одинаковый размер с рангом чтобы масштабируемости вообще не было и крути вес лоры во время инференса просто.
>wd=0.1
От вд никакого практического толка для маленьких датасетов, можешь смело не использовать никаких вейтдикеев вообще, это для миллионных датасетов регуляризация.
>шедулер константный без прогрева
У тебя шедулерфри, ему шедулер не нужен вообще, он сорт оф адаптивный.
>Эта хрень медленная, но вроде пока не так сильно жарит глаза/руки на арте.
Пережарка это проблема переобучения на агрессивной скорости на агрессивные шумные данные ранних слоев блоков сети которые отвечают за мелкие и тонкие фичи. От этого частично помогает вармап. Я предполагаю что у тебя проблема зажара от конв и идет, потому что линейные зажарить это надо еще суметь.
Аноним 20/08/25 Срд 14:51:02 1326798 171
image.png 36Кб, 1075x251
1075x251
>>1326786
>>Зависит от того как и что тренируешь - полностью все блоки или селективно.
>Я так понимаю ты про locon preset?
Уточню, что под селективным методом я имел в виду пикрел например, потому что пресеты кои сконструированы так что либо тренятся только конвы, либо фул, либо только линейные, это как бы тоже селективное, но ты тренишь с конвами и у тебя выбор ток из фулла и конвонли без линеек.
Аноним 20/08/25 Срд 14:58:29 1326802 172
>>1326795
> Ты можешь свой томл конфиг создать под нужное, ток регексы надо изучить и состав сети чтобы понять что исключать.
Знать бы еще что туда включать...

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

Алсо можешь что-то посоветовать по подбору LR? 2e-4 как-то слишком медленный получается, но я подозреваю что выше начнет жарить сильнее.
Аноним 20/08/25 Срд 15:02:04 1326804 173
>>1326786
Пережарка абсолютно никак не зависит от ранга. Для начала попробуй обычную лору натренить, может опять обсер с альфой при инференсе у ликориса.
>>1326802
> слишком медленный получается
Это из-за AdamWScheduleFree, он и должен быть медленный.
Аноним 20/08/25 Срд 15:17:02 1326812 174
>>1326802
>Знать бы еще что туда включать...
Стабильные блоки и слои. У сдхл вообще интересно архитектура работает, она явно разделяет контент, стиль и план сборки картиночки по блокам (и слоям), на этом принципе основан селективный тренинг b-lora https://b-lora.github.io/B-LoRA/ (причем обязательно тренировать сразу все вместе, а потом разделять по блокам если надо, т.к. отдельная тренировка указанных блоков не является стабильной и консистентной).
>Ну я в треде увидел совет ставить как корень из ранга, так и поставил. Вроде как тоже должно выдавать сопоставимые результаты при масштабировании ранга.
У меня гдето ссылка была где челик мощно тестил аргументы и прочие регуляризационные штуки, в том числе альфу, так вот там никакого профита использовать что-то кроме 1 или числа равного рангу найдено не было в контексте альфы.
>Алсо можешь что-то посоветовать по подбору LR?
Как такового метода подбора лр нет. У оптимов в инит прописаны скорости обычно, но они тебя не касаются т.к. или взяты от балды если это прям кастом кастом от васяна, или указаны из расчета тренировки на гигантских корпусах данных как у лицокниги с ее шедулерфри штуками. Хочешь не ебаться с подбором лр и шедулера к нему - бери полностью адаптивные оптимайзеры, например https://github.com/LoganBooker/prodigy-plus-schedule-free
Аноним 20/08/25 Срд 15:50:25 1326843 175
>>1326804
>Для начала попробуй обычную лору натренить, может опять обсер с альфой при инференсе у ликориса.
Попробовал, и походу жарит сильнее локона с дорой.
Настройки остались те же что и для доры.
Аноним 20/08/25 Срд 16:03:29 1326856 176
>>1326145
короче докинул 30к и заказал себе 3080ti на 12 гигов с озона
Аноним 20/08/25 Срд 16:12:02 1326865 177
>>1326795
>>1326798
А можешь поподробнее про эти пресеты рассказать, Как свой добавить, на основе чего делать и т.п.
Я так понимаю на втором пике примерно то, что тут >>1326761
и описано? Т.е. выкинуты входные/выхожные конвы и фокус на глубоких слоях энкодера и больше на декодере. Но зачем тогда скипы тоже выкинуты, если они стабильны?
Аноним 20/08/25 Срд 17:38:30 1326942 178
image.png 315Кб, 1912x1022
1912x1022
>>1326865
>Как свой добавить, на основе чего делать и т.п.
Добавить просто: создаешь файл с расширением toml, в нем прописываешь рыбу

enable_conv = true если нужны конвы
dora_wd = true если нужна дора

unet_target_module = [
"модуль1",
"модуль2"
] если нужно модули, по дефолту просто пустые квадратные скобки

unet_target_name = [
"фильтрслоя1",
"фильтрслоя2"
] тут основные таргеты слоев

text_encoder_target_module = [
] здесь можно указать модули енкодера, по дефолту пустое, т.к. в целом целый енкодер тренировать не нужно тоже на малом датасете, достаточно общие концепции простые с первых слоев подрочить; либо можно указать CLIPAttention например

text_encoder_target_name = [
"фильтрслоя1",
"фильтрслоя2"
] таргеты слоев енкодера

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

Делать на основе любой лоры, вот у тебя есть лора натрененная с пресетом full, кидаешь ее в валидатор слоев чтобы прочекать состав, получишь выходной список всего говна внутри типа пикрел на много строк. В основном тебе нужны просто названия слоев, но если прям глубоко фильтровать то рядом с каждым слоем есть в скобочках форма, т.е. например (1280-20) это значит что лора 1280 канальный вектор ужимает до представления в 20, а обратный порядок наоборот восстанавливает. Там где 4 цифры - последние две это размер ядра, по сути размер окна фильтра через который лора смотрит на локальный участок фьючермапс. То есть
1x1 не смотрит на соседние пиксели, а только смешивает каналы
3x3 учитывает соседние пиксели (локальный контекст) и дает пространственное преобразование. Можно глубоко фильтровать короче, например выкинуть канальные миксеры вообще, т.к. это неполные данные (а тренировать неполные данные на шумно датасете это может быть вредно), или обучать только максимально вариативные вектора, где из низкого ранга условно вылезает 10240 каналов.

Валидатором я пользуюсь из https://github.com/bmaltais/kohya_ss , там он называется верифай лора, но можно отдельно скриптом с командной строки смотреть.

>Я так понимаю на втором пике примерно то, что тут и описано? Т.е. выкинуты входные/выхожные конвы и фокус на глубоких слоях энкодера и больше на декодере.
Да.

>Но зачем тогда скипы тоже выкинуты, если они стабильны?
Просто открыл первый попавшийся конфиг, ничего не значит. Это когда тестил влияние отдельных слоев делал.
Аноним 20/08/25 Срд 18:05:27 1326976 179
>>1326942
>Как свой добавить
А забыл написать как кастомным томлом пользоваться.
Просто указываешь абсолютный путь к томлу в аргументе пресета "preset=K:/папка с томлом/master.toml"
Аноним 20/08/25 Срд 18:58:10 1327031 180
Аноним 20/08/25 Срд 20:11:12 1327079 181
>>1326856
>12 гигов
Нафига?
У тебя уже есть карточка на 12 гигов.
Нафига тратить столько бабла, чтобы выиграть только во времени генерации, но не в объеме доступных задач?
Аноним 20/08/25 Срд 20:59:03 1327131 182
>>1327079
для генерации он распараллелить может, допустим квенимаге в q4 веса на 1 карту, все остальное на вторую, еще места останется под кал всякий
а тренинг тоже можно распараллелить, считай у него одна карта 24 гига со скоростью чето среднее между этими двумя картами
Аноним 20/08/25 Срд 21:58:07 1327203 183
>>1326802
>2e-4 как-то слишком медленный получается, но я подозреваю что выше начнет жарить сильнее.
лр это не скорость изменений а объем изменений
хочешь чтобы быстрее реагировало на датасет - снижай беты
я настолько преисполнился что почти всегда гоняю тренинги на 0.1765 по бете? почему именно так - это первое нижнее значение первой константа Фейгенбаума от значения 1 когда ничего не происходит, идея такая что нейросеть хаотическая система переходящая в стабильную, значит к ней применимы те же константы, моментум можно представить как геометрическую последовательность и тд и тп
Аноним 20/08/25 Срд 22:24:03 1327231 184
>>1327131
Звучит как пердолинг ради пердолинга, если честно.
Аноним 20/08/25 Срд 22:24:47 1327233 185
>>1327231
ну а как ты думоешь ллм гоняют на 70 гигов? так и гоняют
Аноним 20/08/25 Срд 22:46:58 1327248 186
>>1327233
С такими размерами как раз понятно. Когда в одну карту оно физически не лезет.
Но брать две на 12 - очень странно.
Аноним 21/08/25 Чтв 00:20:43 1327323 187
>>1327131
> а тренинг тоже можно распараллелить, считай у него одна карта 24 гига со скоростью чето среднее между этими двумя картами
Не совсем, есть определённый невыгружаемый буфер, ну допустим 7гб хл модели, которые будут висеть мёртвым грузом в памяти второй карты, тогда как если бы это были нативные 24, 7 лишних гигов не отъедались бы, ну если мы говорим конечно про распараллеливание акселерейтом
Аноним 21/08/25 Чтв 14:25:20 1327721 188
image.png 114Кб, 1379x490
1379x490
>>1326301
Кароче апдейт, нашел как убыстрить, регуляризационные имеджы помогли.
Для чистоты обучал на класс.
Красное до, синее после, результаты у синего в стопицот раз быстрее достигаются и лутше.
В регулярки кинул 1/10 голых генов с основной модели без какого-либо промптинга.
Аноним 21/08/25 Чтв 14:27:18 1327723 189
Аноним 21/08/25 Чтв 14:37:20 1327740 190
>>1327721
Олсо периодическое жарево, "дымка" и неконсистентность генераций (когда нога коня в ноге человека например) тоже ушли. Прекрасно.
Аноним 21/08/25 Чтв 15:38:22 1327820 191
>>1327721
Тупо рандомный ген без промта в папке регулярок?
Аноним 21/08/25 Чтв 18:50:31 1328151 192
>>1327820
Да, пустой промт в негативе и позитиве, размер одинаковый, в папке 1_класс, у основного датасета тоже 1_класс.
Настройки тренинга одинаковые, gradient_accumulation_steps обоих проектов 20.
Аноним 21/08/25 Чтв 19:51:58 1328244 193
>>1283160
>Если упороться, то можно ещё маску накинуть, центр спектра с шифтом по центру.
Попробовал накостылять это, и что-то простая круглая маска с сигмой=0.5 адски бустит стабильность и перенос стиля.
Как-то слишком хорошо выглядит, надо еще на паре датасетов погонят.
Аноним 21/08/25 Чтв 20:44:09 1328313 194
>>1328244
>Попробовал накостылять это
код скинь
Аноним 21/08/25 Чтв 20:46:21 1328318 195
Screenshot 2025[...].png 67Кб, 763x632
763x632
Аноним 21/08/25 Чтв 21:14:10 1328363 196
>>1328318
Нейронка тебе такое сваяла? Инпут тоже должен шифтится и диапазон маски у тебя какой-то странный. Для недискретного преобразования есть уже с правильным шифтом функция в либе - frft_shifted, но она требует размер инпута чётный. Или от угла без шифта можно маску делать, но она несимметричная будет.
Аноним 21/08/25 Чтв 21:56:04 1328413 197
Screenshot 2025[...].png 67Кб, 789x635
789x635
Аноним 22/08/25 Птн 05:33:15 1328721 198
>>1327721
А регуляризационные латенты не пробовал? Оно там вроде включается, хз как именно работает, должно быть можно заранее их нагенерировать.
Аноним 22/08/25 Птн 07:18:19 1328737 199
image.png 872Кб, 1193x501
1193x501
>>1328721
>А регуляризационные латенты не пробовал? Оно там вроде включается
Нет, не вижу где в сдскриптах такое есть.

Зато я в качестве эксперимента запихал в регулярки плазма и пинк нойзы, скормил зашумленный большой датасет и получил лору, которая выучила фичи датасета и стала давать эффект сорт оф денойзера. А плазма вообще оказывается работает как жесткий фильтр объектов, то есть частичные эпохи выдают генерации где класс датасета как будто вырезан из датасета, а маскированная область представляет собой плазма нойз. Интересный эффект, возможно стоит попробовать накинуть 50% плазму или 50% пинк на весь датасет и кинуть как регулярку.
Аноним 22/08/25 Птн 21:38:24 1329435 200
>>1328737
> возможно стоит попробовать накинуть 50% плазму или 50% пинк на весь датасет и кинуть как регулярку.
Попробовал на плазме. Взял датасет, наложил на каждую картинку одинаковый плазма шум с опасити 50%, выставил константную агрессивную скорость в 1e-2 (на порядок больше чем нужно, обычно на 1e-2 по пизде все идет инстантно), прогнал с дефолтным --prior_loss_weight=1 - практически сразу сеть начала обучаться на плазму из рег датасета, но изображения консистентные в целом, ток шумные. Из фич замеченных - как только начало переобучаться, то начинала превалировать плазма в генерациях.
Снизил --prior_loss_weight до 0.1, прогнал с низкой бетой и высокой - очень стабильные выводы получились в обоих вариантах, ток лорку чуть-чуть снижать надо по силе влияния, т.к. геометрия немного плывет.

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

Олсо обучал все блоки, что не мог себе позволить на 1e-2 вообще практически никогда. Так что метод в целом рабочий, если кому интересно то плазма (и прочие виды шумов) генерятся вот этим https://github.com/Jordach/comfy-plasma

Отается проверить чисто плазма нойз в качестве регуляризации без подмешивания его к датасету.
Аноним 22/08/25 Птн 21:46:07 1329441 201
image.png 124Кб, 1362x259
1362x259
>>1329435
>prior_loss_weight=1 - практически сразу сеть начала обучаться на плазму из рег датасета, но изображения консистентные в целом
Интересный график лосса на этом варианте кстати (красный), где поднятие произошло там лора начала убиваться и убилась начав генерить просто шум похожий на плазму, до поднятия консистентные генерации и все. Вот тако вот сорт оф наглядный майлстоун переобучения получется.
Аноним 22/08/25 Птн 22:00:56 1329449 202
image.png 439Кб, 328x950
328x950
image.png 112Кб, 1460x444
1460x444
>>1329441
Ровно на 108 эпохе плазма стала базой модели, до этого генерилось отлично. Снизу вверх 107, 108, 109 эпохи. Есть эпоха вплоть до 195, ни на одном шаге не стабилизировалось обратно.
Аноним 23/08/25 Суб 08:58:50 1329751 203
Screenshot 2025[...].png 79Кб, 812x752
812x752
>>1328413
Короче пока остановился на этом. На тестовых латентах спектр выглядит отцентрованным. Без двойного dfrft он был сжат либо по вертикали либо по горизонтали.
Сделал пару тестовых прогонов и выглядит неплохо, пропало жорево мелких деталей, но по ощущениям стало что медленнее сходиться.
Аноним 23/08/25 Суб 19:23:05 1330090 204
>>1329435
В общем если полностью чистый плазма нойз (который является фракталом, то есть структурированной в понимании модели штукой, собсно как и пинк или браун нойз, а не обычным рандом нойзом, с которым сдхл обучена бороться и игнорить) кидать в качестве регуляризации то выходные данные таки получаются сглаженными и отденойзенными на ранних эпохах, в отличие от варианта, где в рег дате датасет с накинутым шумом. К результату в обоих случаях оба тренинга приходят одинаково (да и результаты схожи максимально), но с разной скоростью - на чистом нойзе результат получается позже на пару эпох. Так что смысол есть в варианте, где подкидывается не чистый шум, а именно шум + дата хотя бы минимальная.

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

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

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

Сейчас тестирую параллельно пинк нойз, и он как будто больше направлен на выхватывание особых уникальных паттернов, но в целом эффект что плазмы, что пинка плюс минус тот же, возможно пинк более предсказуемый с датой поэтому на нем проще регуляризацию сдхлке считать. Возможно есть смысл соединить плазму, пинк и дату в равной пропорции чтобы получить бонусы от каждого варианта.
Аноним 24/08/25 Вск 01:35:27 1330300 205
https://huggingface.co/Anzhc/MS-LC-EQ-D-VR_VAE
Вышла новая версия EQ VAE 5 дней назад, которая нормально работает со скриптами в отличие от кохаковской залупы которую я не ебу как заставить работать.
Аноним 24/08/25 Вск 10:52:44 1330426 206
image.png 73Кб, 1207x251
1207x251
>>1330300
Кто будет тренировать на этом имейте в виду что это новое латентное пространство для сдхл и нужно дополнительное время для создания всех связей в сети чтобы корректно натренировалось, плюс вполне вероятно нужно подкрутить старые настройки, которые хорошо работали с оригинальным вае в сторону большей агрессивности.
Синее - оригинальный вае, остальное EQ.
Аноним 24/08/25 Вск 13:45:48 1330497 207
>>1330300
Смысл вообще от этого, если оно перетренировки всей (?) инфраструктуры требует?
Вот бы чего-нибудь такого, чтоб воткнул на стандартные модели, и оно лучше стало, без всех этих расплывающихся мелких деталей которые я на своих картинках уже заебался фиксить.
Аноним 24/08/25 Вск 13:48:28 1330501 208
>>1330497
Такого не будет, все со стандартным sdxl-vae уже перепробовали, что бы не требовало перетренировки всей модели.
Аноним 24/08/25 Вск 14:21:25 1330538 209
>>1330497
>Смысл вообще от этого, если оно перетренировки всей (?) инфраструктуры требует?
Ну вообще не требует, я уже успел тройку тестовых лор прогнать, представление латентов для обучения в разы лучше, сеть моментально схватывает всё на пикчах, сразу видно что сигнал латента чище. Единственная проблемы это то что или стабилизация дольше (первые эпохи уже дают результ качественный в смысле содержания, но качество изображения далеко дольше подтянется), поломать конволюшны проще забив их сатурированным сигналом, и судя по всему вывод оче сенсетивный к шедулеру при инференсе, а так гораздо удобнее дефолтного вае.
Аноним 24/08/25 Вск 14:55:48 1330578 210
>>1330426
> Синее - оригинальный вае, остальное EQ.
Так на твоём графике понижение лосса - это адаптация к поломанным латентам. Оно никакого отношения не имеет к повышения качества тренировки.
>>1330538
Ну и нахуй это говно нужно. На XL никогда не было проблем с тренировкой концептов, а вот детализация всегда сосала из-за всратого 4-канального вае. Теперь ещё хуже будет. Да и вообще все эти дрочи трупа XL не вызывают оптимизма, уже пора дропать XL, она только в аниме жива, для реалистика XL уже слишком устаревшая. Лучше бы что-то с Квеном придумали, как размылить его, чтоб с Хромы на него начинать перетренивать лоры.
Аноним 24/08/25 Вск 15:08:37 1330590 211
>>1330501
Видел какие-то эксперименты, но чем закончилось - не в курсе.

>>1330578
>уже пора дропать XL
Пока качественной (и, самое важное, доступной на базовом железе) замены не появится - XL будет жива.
И что-то пока на горизонте такой замены не вижу.
Так что продолжать улучшать XL - вполне себе вариант.
Аноним 24/08/25 Вск 15:11:36 1330594 212
>>1330538
>Так на твоём графике понижение лосса - это адаптация к поломанным латентам.
Чище сигнал => сеть меньше ошибается => меньше потерь, такая логика.

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

>Ну и нахуй это говно нужно.
Прост чище сигнал дает.

>На XL никогда не было проблем с тренировкой концептов
Но есть проблема с точностью.

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

>Лучше бы что-то с Квеном придумали, как размылить его
Лучше бы квену запилили модель на 5 раз меньше параметров.

>чтоб с Хромы на него начинать перетренивать лоры.
Ну хрома это кал, имхо.
Аноним 24/08/25 Вск 15:21:01 1330602 213
>>1330594
>Если тебя просто качество самой картинки интересует чтобы генерить по референсу, то это второстепенное на самом деле.
референс ген вообще ипадаптером и флюх калтекстом решается, смысл дрочки тут >>1330578 на качество тренировок как таковых вообще не вижу, лоры и фуллфт для другого тренируются
Аноним 24/08/25 Вск 20:27:11 1330804 214
>>1330590
> качественной
Как на Хрому/Ван пересядешь, так уже к XL не захочется притрагиваться. С промптингом на DiT всё отлично, как и с переносом концептов за пределы датасета.
>>1330594
> ни одна модель не работает также быстро как сдхл
С учётом того что 4/8-шаговые XL очень шакальные, ещё и в два прохода надо генерить чтоб нормальное разрешение иметь, то 8-шаговые DiT не так уж медленнее. И с тренировкой всё отлично, внезапно 14В/20В DiT тренится всего раза в два медленнее XL. На Квене вообще как на XL можно за 15 минут лоры на 1000 шагов хуяк-хуяк делать.
> пак мокрописек
Wan/Qwen уже обогнали по функционалу XL, где кроме пары контролнетов и всратого ип-адаптера ничего нет.
Аноним 24/08/25 Вск 20:44:24 1330818 215
>>1330804
>Как на Хрому/Ван пересядешь, так уже к XL не захочется притрагиваться.
а я какраз попробовал хромог и ван, а потом вернулся на хл, аналоговнет
Аноним 24/08/25 Вск 21:41:35 1330853 216
ComfyUI25232.png 3360Кб, 1768x1280
1768x1280
>>1330804
>С учётом того что 4/8-шаговые XL очень шакальные, ещё и в два прохода надо генерить чтоб нормальное разрешение иметь, то 8-шаговые DiT не так уж медленнее.
Што? Я конечно не далбаеб чтобы гигантизм генерить на сдхл постоянно не больше мегаписеля делаю, но вот 1768x1280, 15 шагов, 14 секунд, 1 проход на 3060, с какой-то рандомной говнолорой на стиль, и это я еще ничего не постобрабатывал или не включал в пайп шринки хуинки и адаптеры.
Аноним 25/08/25 Пнд 11:10:51 1331171 217
>>1330804
>Как на Хрому/Ван пересядешь
Художников знают? Персонажей, может быть, конкретные стили? А сисик-писик сгенерить могут?

Пока модель с незацензуренным датасетом не появится - разговаривать не о чем, тюны XL вне конкуренции.
На "Извините, я не могу выполнить этот запрос" я и в облаке посмотреть могу, на гораздо более умных и продвинутых нет моделях.
Аноним 25/08/25 Пнд 11:35:31 1331186 218
>>1331171
> А сисик-писик сгенерить могут?
Хрома в ваниле может.
Аноним 25/08/25 Пнд 16:15:41 1331413 219
>>1330538
>>1330300
Если тренировать вместе с нормами через train_norm=True, то шумы моментально уходят и ваешка дает почти то же качество что оригинал, не в смысле содержания - по точности ебет как ебало, а в смысле что шумов от другого латент спейса практически перестает быть. Но проверил только на пресете full. До этого тренил на кастом модулях без трейннорм, и там конечно хорошо по содержанию, но два латента в одной генерации прям конфликтуют между собой, надо попробовать селективно с нормами прогнать.

Алсо в репе есть фикс паддинг артефакта:
for module in self.model.modules():
if isinstance(module, nn.Conv2d):
pad_h, pad_w = module.padding if isinstance(module.padding, tuple) else (module.padding, module.padding)
if pad_h > 0 or pad_w > 0:
module.padding_mode = "reflect"
Но я его чет не могу в пайплайн скриптов всунуть. Если кто знает как напишите.
А так с тренировкой норм бага этого нет почему-то.
Аноним 25/08/25 Пнд 19:22:01 1331569 220
>>1331413
>надо попробовать селективно с нормами прогнать
Да, все работает. Если тренирова на EQ отдельные блоки и включить тренировку norm, то получается модель, которая работает с оригинальным вае с качеством основной модели, но все фишки полученные от EQ. Пользуйтесь, нормы имба с EQ.
Аноним 25/08/25 Пнд 19:45:39 1331586 221
>>1331413
Текстуры сосут у этого VAE, ненужно.
Аноним 25/08/25 Пнд 22:03:40 1331776 222
Аноним 26/08/25 Втр 07:50:54 1332111 223
>>1331776
Покажешь примеры где текстуры не сосут? Я пока не видел.
Аноним 26/08/25 Втр 10:02:23 1332191 224
>>1332111
Какой-то беспредметный разговор уровня "пук хрюк мыло кококо" из сд треда.

1. Сначала определи что значит "текстуры сосут"
2. Далее покажи лоры или модели натренированные с этим вае где текстуры по твоему заявлению сосут
3. Покажи лору или модель которые были натренированы без данного вае и с данным вае для прямого сравнения эффекта
4. Определи как текстуры в латентном представилении могут сосать (с ссылкой на папер, подтверждающий это с метриками)
Аноним 26/08/25 Втр 10:09:29 1332199 225
К вопросу о ваехах.
Рекойлми высрал ваешку https://huggingface.co/AiArtLab/sdxl_vae без нового латентного пространства но по бенчам чище EQ кохака. Прогнал тест с нохалф, вроде прикольно, однозначно будет лучше чем всратый дефолт.
Аноним 26/08/25 Втр 10:18:45 1332206 226
>>1330590
> Пока качественной (и, самое важное, доступной на базовом железе) замены не появится - XL будет жива.
Насчет доступных замен https://huggingface.co/AiArtLab/sdxs
Аноним 26/08/25 Втр 10:59:18 1332234 227
>>1332191
Чел, тот VAE в принципе мыльнее оригинального. Они боролись с шумами и сделали ровно то что хотели - мыло. Ещё и тренили только на аниме с бур, заруинив окончательно всю детализацию. Собственно если ты датасеты чистишь всегда, а не просто жипеги гонишь в модель, то у тебя никогда и не будет проблем с какими-то шумами.
> покажи
Литералли примеры авторов посмотри, у них шумодав адский.
Аноним 26/08/25 Втр 12:29:02 1332312 228
Аноним 26/08/25 Втр 13:35:03 1332374 229
175615920136551[...].png 805Кб, 592x1152
592x1152
>>1330497
>без всех этих расплывающихся мелких деталей которые я на своих картинках уже заебался фиксить.
Можешь взглянуть на хрому радианс, которая безвайная - так вот, этих расплывающихся деталей пруд пруди. Так что я б не стал надеяться именно на фикс деталей.
Аноним 26/08/25 Втр 13:36:06 1332375 230
>>1332234
Ты ещё забыл добавить что все натрененные до этого лоры надо выкинуть. 4-шаговые лоры и контролнеты - тоже выкинуть. Литералли всё перетренивать, а иначе падение качества. А ещё оно потом чувствительно к весу лоры, ведь у нас в лоре адаптация к новому латенту и изменение веса ломает её. Бесполезное говно, откатывающее на 2 года назад. С таким подходом проще сразу на DiT тренить.
Аноним 26/08/25 Втр 13:37:45 1332376 231
Аноним 26/08/25 Втр 14:18:03 1332410 232
>>1332206
>Limited concept coverage due to the small dataset.
>The Image2Image functionality requires further training.
И на картинке по ссылке лютая хтоническая жуть.
Нет, спасибо.
Аноним 26/08/25 Втр 14:36:39 1332420 233
Все эти поделки хороши только для буратин с десятком-другим H100 чтобы потом их дотюнить до чего-то юзаебльного, либо для потешных картиночек с большими носами для твитора.
Пока не будет чего-то, уровня нуба или хотя бы люстры (и их аналогов для 3д) - оно нахуй не нужно.
Аноним 26/08/25 Втр 15:42:47 1332504 234
>>1332199
Что-то непонятно, как этим пользоваться.
Скачал вместе с конфигом, переименовал, закинул в папку с VAE, так рефордж ругается при попытке генерации с этой штукой.

>RuntimeError: Error(s) in loading state_dict for AutoencoderKL:
>Missing key(s) in state_dict:

Где там чего менять надо чтоб завелось, объясните хлебушку.
Аноним 26/08/25 Втр 17:54:58 1332638 235
>>1332504
> AutoencoderKL
Оно в формате автоматика, а не диффузерс. Мне тоже пришлось поебаться чтоб конвертнуть в диффузерс, чтоб тренить с ним. И с ним пайплайн диффузерса не работает нормально, хуй знает почему, при том что ручной энкодинг/декодинг работает нормально. Это к тому что если Фордж использует ванильный пайплайн как-то, то не будет работать.
Вот этим скриптом можешь конвертнуть, пути только пропиши в load/save - https://textbin.net/ptpvcqkpph
Аноним 26/08/25 Втр 18:31:31 1332673 236
>>1332638
Поднял венв с папки вебуя, загнал в него скрипт с прописанными путями до оригинального вае, и куда перезаписывать (заместо "in" в скрипте в двух местах).
Вроде конвертнулся, файл обновился, но все равно не заводится.
Ошибка с виду та же, вот целиком.

Loading VAE weights specified in settings: D:\StableDiffusion\stable-diffusion-webui\models\VAE\AiArtLabs_Conv_VAE.safetensors
Traceback (most recent call last):
File "D:\StableDiffusion\stable-diffusion-webui-reForge\modules_forge\main_thread.py", line 37, in loop
task.work()
File "D:\StableDiffusion\stable-diffusion-webui-reForge\modules_forge\main_thread.py", line 26, in work
self.result = self.func(self.args, *self.kwargs)
File "D:\StableDiffusion\stable-diffusion-webui-reForge\modules\sd_vae.py", line 267, in reload_vae_weights
load_vae(sd_model, vae_file, vae_source)
File "D:\StableDiffusion\stable-diffusion-webui-reForge\modules\sd_vae.py", line 212, in load_vae
_load_vae_dict(model, vae_dict_1)
File "D:\StableDiffusion\stable-diffusion-webui-reForge\modules\sd_vae.py", line 239, in _load_vae_dict
model.first_stage_model.load_state_dict(vae_dict_1)
File "D:\StableDiffusion\stable-diffusion-webui-reForge\venv\lib\site-packages\torch\nn\modules\module.py", line 2584, in load_state_dict
raise RuntimeError(
RuntimeError: Error(s) in loading state_dict for AutoencoderKL:
Missing key(s) in state_dict:

ГПТ-5 мне еще конверсию на safetensors.numpy посоветовал сделать.
https://textbin.net/wik0emkkok
Точно такая же ошибка.
Аноним 26/08/25 Втр 23:11:01 1332969 237
>>1332234
Хуй знает о чем ты, латент это просто компактные признаки изображения формы, текстуры, цвета в закодированном виде, говорить о мыле каком-то мифическом это некорректно, отличия у ваех в точности циферок, что собсно видно на примере из EQ. Нету такого что вае каким-то чудесным образом не видит текстурки, у него задача вообще любое говно кодировать в скрытоспейс, кто-то точно делает, ктото нет, вот и вся разница. То что ты видишь как тестовые крашеные латент в примерах это не реальное представление латента к тому, оно ток границы форм в основном показывает, представить полноценно латент в ргб пространстве невозможно.
>то у тебя никогда и не будет проблем с какими-то шумами
Так епта вопрос не про шумы вообще, а про точность картинка-признак-картинка, чем неточнее представление тем хуже конвергенция.

Я с екюшкой лорку натренил щас - спиздило все текстурки подчистую.

>>1332375

>что все натрененные до этого лоры надо выкинуть
Ну да, нахуй они нужны, куски кала
> 4-шаговые лоры и контролнеты - тоже выкинуть.
Ну тут нет, архитектура осталась на месте, EQ работает с убыстрялками и калтролнетами.
Аноним 26/08/25 Втр 23:16:38 1332976 238
>>1332410
Там тренинг все еще идет, в вандб можешь чекать эпохи и примеры, там ток к 1 миллиону шагов подбирается. А вообще че ты хотел? Это пруф оф концепт по сути, берешь и тренишь целую модель на своем датасете с 16 канальным вае с мульти те и кайфуешь с результата.
Аноним 26/08/25 Втр 23:18:09 1332978 239
>>1332969
> Хуй знает о чем ты
Вае всегда как деноизер работает, он не умеет в латентном пространстве нормальный шум сохранять. И мылит он легко, если так натренили.
> EQ работает с убыстрялками и калтролнетами
Ты ведь не пробовал даже. С DMD и 4-шаговой лорой под Нуб он плохо работает, на выходе артефачит. Контролнеты вообще очевидно сломаются, т.к. они кодируют пиксели в определённый формат латента и если у тебя там другой, то получаешь распидорас.
Аноним 26/08/25 Втр 23:19:14 1332979 240
>>1332504
>Что-то непонятно, как этим пользоваться.
>Скачал вместе с конфигом, переименовал, закинул в папку с VAE, так рефордж ругается при попытке генерации с этой штукой.
в комфе работает искаропки при генерации

>>1332638
>Оно в формате автоматика, а не диффузерс. Мне тоже пришлось поебаться чтоб конвертнуть в диффузерс, чтоб тренить с ним. И с ним пайплайн диффузерса не работает нормально, хуй знает почему, при том что ручной энкодинг/декодинг работает нормально.
на сдскриптах вообще без ебли запускается (и eq тоже), просто папку указываешь с конфигом и вае через --vae
Аноним 26/08/25 Втр 23:23:04 1332980 241
>>1332978
>Ты ведь не пробовал даже. С DMD и 4-шаговой лорой
Как раз это и пробовал, у меня постоянно в тестовом вф стоит включенным. Все с EQ нормально работает.
>под Нуб он плохо работает, на выходе артефачит
Так нубай в принципе с дефолтным дмд обсирается делая 24/7 вектор-лайк графин, можно через спо нуб поправить и будет получше но все равно ебашит слишком агрессивно, в этих репо https://huggingface.co/YOB-AI/DMD2MOD https://huggingface.co/YOB-AI/HUSTLE есть попердоленные дмд которые в целом хорошо работают с нубаем, в сд треде пользуются.
>Контролнеты вообще очевидно сломаются, т.к. они кодируют пиксели в определённый формат латента и если у тебя там другой, то получаешь распидорас.
Я все не тестил, но депфы и кани которые у меня есть вроде ок.
Аноним 27/08/25 Срд 01:03:12 1333030 242
>>1332979
>в комфе работает
Ну кто бы сомневался.
А потом оказывается что нет, не работает, и лапша из-за ошибок при чтении этой фигни без вае генерила.
Аноним 27/08/25 Срд 01:32:51 1333034 243
>>1333030
Ну что за фантазии...
Аноним 30/08/25 Суб 21:22:14 1336810 244
я пригорел, как же меня заебали лора алгоритмы пиздец просто

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

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

лоха с большой емкостью, с отличной генерализацией, но переобучается с полпинка - так так че тут у тебя лернинг неверно выставлен, извини теперь у тебя геометрия ебанулась, ты давай это снижай альфу значит или лернинг рейт, о вот теперь нормально, но я запомню ВЕСЬ ДАТАСЕТ В МЕЛЬЧАЙШИХ ПОДРОБНОСТЯХ чтобы тебе снова приходилось снижать вес лоры, а может даже стану лидером митол группы и вообще задавлю основную сеть)))) а если ты выставишь еще более сейфово я покормлю тебя дымкой и пластиком потому что мне нужно время на стабилизацию))))
ну хоть лоха наиболее простой алго для тренировки на EQ, лучше всех работает с ним

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

диагофт вообще юзлес поебень годящаяся только грейдинг с фоток пиздить

бофт - я его рот ебал, он мало того что медленный так еще и или недотягивает до нормы весов модели или наоборот сразу убивается генерируя боди хорроры, констрейнт не помогает нихуя, потому что он на рандомном значении каком-то постоянно находится исходя из датасета - ставишь 1, 0.5, 0.25 ноль эффекта, ставишь 0.0242 - о нормально, ток не обучается теперь нихуя

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

почему блять нельзя придумать алгоритм который всегда нормируется под веса основной модели самостоятельно чтобы не надо было заниматься этой дрочкой ебучей с недолетами и перелетами пиздец блять нахуй, реально хоть 3090 покупай чтобы на full алгоритме просто без задней мысли тренировать в норму
защо
Аноним 30/08/25 Суб 21:42:40 1336815 245
image.png 2Кб, 344x36
344x36
>>1336810
я специально еще для нонстоп тренировки лорок купил ссд отдельный и вот эти ебаные 21 терабайт потраченных по сути в никуда почти полностью проебались на выведение идеальных конфигов под алгоритмы, которые на самом деле не идеальные и обсираются на других датасетах и их все равно надо подкручивать, это проклятие какоето
самая удобная и удобоваримая по времени/качество тренировка была селективная обычно, но там свои нюансы уровня частичной невыразительности, или тренировка в селективной full и бесконечно долгой full/дримбудке
Аноним 31/08/25 Вск 00:04:59 1336950 246
1706821681321.png 45Кб, 1000x600
1000x600
>>1336810
Бля, чел, просто трень обычные лоры. Алсо, попробуй хоть раз слезть с ликорис-параши на peft. Хоть увидишь как люди живут за пределами sd-васянства.
> алгоритм который всегда нормируется под веса основной модели самостоятельно чтобы не надо было заниматься этой дрочкой ебучей с недолетами и перелетами
Вообще-то обычная лора в такое без проблем умеет. Даже что-то типа пикрила с улетанием лосса в ноль стабилизируется на 500 шаге и даёт нормальную лору улетело потому что 500 эпох на двух пикчах.
> на full алгоритме просто без задней мысли тренировать
Если у тебя на лорах какие-то проблемы с оверфитами и артефактами, то на полной тренировке вообще будет распидорас. Лоры всегда выступают как демпинг тренировки.
Аноним 31/08/25 Вск 05:13:59 1337056 247
>>1336810
А разбивку обычной лоры по svd не тестил, как оно? Фулл файнтюн проводил? Таки важно для сравнения, если ты хочешь какие-то выводы делать.
Вообще звучит так, как будто у тебя в чем-то другом критичный проеб, который по разному вылезает.
Фулл точность еще на весах норм и биасов включена?
Аноним 31/08/25 Вск 06:47:03 1337068 248
>>1336950
>Бля, чел, просто трень обычные лоры.
Я недоволен результатами с обычной лорой вообще.
>Алсо, попробуй хоть раз слезть с ликорис-параши на peft. Хоть увидишь как люди живут за пределами sd-васянства.
Что ты имеешь в виду под слезть? На голые диффузерсы прыгнуть и дрочить командную строчку с кастом кодом? Я не настолько погромист чтобы делать это корректно, а во вторых ну то мне даст еще десяток видов говнолор, которые не тестили вообще никто кроме авторов на корпусах даты для ллм?
>Вообще-то обычная лора в такое без проблем умеет.
Не умеет, умела бы не требовалось бы подгонять значение мультиплаера лоры посттренировочно.
>Даже что-то типа пикрила с улетанием лосса в ноль стабилизируется на 500 шаге и даёт нормальную лору улетело потому что 500 эпох на двух пикчах.
>Если у тебя на лорах какие-то проблемы с оверфитами и артефактами
ты не пони мой тейк похоже, я не говорю что я не умею тренить там или результат никогда не достигается, я говорю что чтобы достичь результата с лорами надо конкретно заебаться брутфорсом параметров, а у меня еще и планочка слишком большая для лор - если ее хоть чуть чуть косоебит и она не работает нормально при 100% применении то она отправляется в мусорку; если она натренировалась и генерирует хорошо только датасет по референсу, то она отправляется в мусорку; если она слишком долго сходилась - она отправляется в мусорку вместе с конфигом потому что у меня нет столько времени чтобы каждый датасет гонять миллион часов с 100x репитами и тд

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

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

>>1337056
>А разбивку обычной лоры по svd не тестил, как оно?
Нет, этих свдшных методов слишком дохуя и они не кончаются, вон новый недавний https://arxiv.org/pdf/2502.16894

>Фулл файнтюн проводил?
Фулл в смысле фул фул или просто полные матрицы? Первое особо смысола на микроскопических датасетах нет, а второе дает хорошие результаты относительно лор.

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

>Фулл точность еще на весах норм и биасов включена?
Сдскрипты не позволяют в фп32 ничего гонять кроме вае, да и не на моей карте полную точность дрочить.
Аноним 31/08/25 Вск 06:54:27 1337071 249
>>1336950
>стабилизируется на 500 шаге и даёт нормальную лору
500 шаг с какими вводным настройками-то? Для моих датасетов и настроек 500 шаг это будет реальный 5000 шаг именно прохода по датасету и целый день задрачивания карты.
Аноним 31/08/25 Вск 08:09:29 1337089 250
>>1336810

> дилора алгоритм, но он прям очень много времени требует

Не работает корректно с шедулерфри продижи (вероятно некорректно работает вообще со всеми адаптивами из-за фрагментации рангов) кстати, поэтому ощущение что вечность сходится, на обычных оптимах гораздо бодрее, и с оптимами из питорчоптимайзер либы тоже не особо работает (может не со всеми но с теми которыми пробовал там не передает нужный параметр и оптим падает). С встроенными в сдскрипты оптимами работает.
Аноним 31/08/25 Вск 11:23:16 1337128 251
>>1337068
> На голые диффузерсы
На peft, чел. Модель можешь какую угодно использовать.
> не требовалось бы подгонять значение мультиплаера лоры посттренировочно
А когда требуется? Обычно всегда в 1.0 всё работает. Понижаешь только когда начинаешь пять лор мешать и хочешь какой-то интересный микс получить.
> если она
По факту у тебя всратый датасет/код тренировки и ты пытаешься демпингами поймать какой-то свитспот когда говно не вытекает, потому что у тебя конец тренировки - это говно. Но вообще-то так не должно быть. Тренировка лор ничем не отличается от обычной тренировки в контексте оптимизации, она должна всегда приходить в стабильное плато, а не в говно. Если на плато не то что тебе надо, то надо тергет сдвигать, а не пытаться демпинговать тренировку и ловить какую-то точку недотрена.
Тебя вообще не смущает что буквально все пытаются сделать как можно быстрее схождение и плато ниже, а не ищут свитспоты? Т.е. мутанты/артефакты/низкая генерализация - это вопрос таргета, а вопрос оптимизации/архитектуры лор только в том чтобы как можно быстрее к этому таргету упасть.
> если я настраиваю сорт оф фул
И тут тебе стоило бы задуматься что тебе срёт в тренировку и пытаться идти к упрощению, а не накручиванию новых свистоперделок. В любом случае фултрейн только на XL и возможен, на той же Хроме в fp8 тебе 40+ гигов врама надо чтоб без лор тюнить все параметры или использовать 8-битные говнооптимизаторы, или свапать блоки как шакал. А ведь она одна из самых мелких DiT. На WAN вообще лоры на микродатасетах по 8 часов приходится тренить на 5090.
Аноним 31/08/25 Вск 17:25:40 1337312 252
image.png 31Кб, 1320x416
1320x416
>>1337128
>На peft, чел. Модель можешь какую угодно использовать.
Так чтобы пефтнапрямую юзать это мне пиплайн на диффузерзах высирать надо будет как для тренировки так и для инферирования если метод из пефта не реализован в UI, разве нет?
>А когда требуется? Обычно всегда в 1.0 всё работает.
Всегда требуется балансировку делать для методов с альфой для перерасчета весов чтобы не крутить при генерации вверх-вниз. Либо крутить в самом UI, чтобы и на хуй сесть и рыбку съесть. Я понятия не имею как тебя все устраивает на 1.0, потому что это практически всегда забивает сигнал основной модели и получается генератор хуйни заученной, а не адопшен. А некоторые лоры наоборот требуют увеличивать влияние, как например прямо щас у меня требует dylora увеличивать x10 ее значения, потому на 1.0 там слишком слабый сигнал на достаточно большой скорости получается, а если еще скорость повышать то обучение уезжает в ад.
>По факту у тебя всратый датасет
Предположи что у меня есть бесконечное количество субъектобъектов для которых нет не всратого датасета, а обучить нужно. Твои действия? Я могу зарегулировать сигнал и сделать его чистым.
>код тренировки
Ну что предоставляют сдскрипты то и юзаем.
>ты пытаешься демпингами поймать какой-то свитспот когда говно не вытекает, потому что у тебя конец тренировки - это говно.
Да нет не так вообще. Я на сф продигах сижу вообще, а там конец тренинга определенного этапа в смысле запекания фич и стабилизации определяется через пикрел в точке до последующего роста. Вопрос не в говне и вытекании а только в заучивании и адаптации, что неконтролируемо и меня это бесит.
>Тренировка лор ничем не отличается от обычной тренировки в контексте оптимизации, она должна всегда приходить в стабильное плато, а не в говно. Если на плато не то что тебе надо, то надо тергет сдвигать, а не пытаться демпинговать тренировку и ловить какую-то точку недотрена.
Ну это теоретизирование, ты бы еще написал "ну вода мокрая, если у тебя вода недостаточно утоляет жажду, то так не должно быть". У меня жесткие требования к обучению, я не делаю референс генераторы и мне нужен гибкий стабильный вывод на основе знаний основной сети.
>Тебя вообще не смущает что буквально все пытаются сделать как можно быстрее схождение и плато ниже
А сколько раз мне еще написать что нахождение решения для лоры это не моя проблема? Можно найти решение и в 100 шагов, только это не дип адопшен который нужен.
> а не ищут свитспоты?
Я не ищу свитспоты.
>Т.е. мутанты/артефакты/низкая генерализация - это вопрос таргета, а вопрос оптимизации/архитектуры лор только в том чтобы как можно быстрее к этому таргету упасть.
Чел, хватит пространные рассуждения пихать очевидные.
>И тут тебе стоило бы задуматься что тебе срёт в тренировку
Ну очевидно что срет - в основном это конволюшены лоры с фиксированным рангом, а если обучать без них, то это непозволительное расточительство времени, линейные соло обучаются слишком долго.
>В любом случае фултрейн только на XL и возможен, на той же Хроме в fp8 тебе 40+ гигов врама надо чтоб без лор тюнить все параметры или использовать 8-битные говнооптимизаторы, или свапать блоки как шакал. А ведь она одна из самых мелких DiT. На WAN вообще лоры на микродатасетах по 8 часов приходится тренить на 5090.
Да я про сдхл только и пизжу, остальное меня мало волнует.
Аноним 31/08/25 Вск 19:10:08 1337357 253
>>1337312
> разве нет?
Нет, peft работает с чем угодно. У меня peft на оригинальную реализацию Хромы непердолен с диффузерсами не подружился, бомбанул от ублюдской реализации упаковки латентов Флюкса. Он просто проходится по всем модулям модели и подменяет своими по заданным паттернам.
> для методов с альфой
Так делай альфа = ранг. И забудь навсегда про существование альф и кручение весов.
> есть бесконечное количество субъектобъектов для которых нет не всратого датасета, а обучить нужно
Решается капшенами. На DiT просто, на XL посложнее из-за клипа. Всратый датасет в моём понимании - рандомная лоурез дрисня из яндекс-картинок, найденная по поисковому запросу. Если тебя интересует только небольшая часть пикчи, а всё остальное мусор, то это тоже капшенами решается. Например можно сливать ненужное в стохастику/один токен, который превратится в триггер стиля и который можно успешно игнорить. Достаточно наконец в 2025 году подружиться с крупной VLM, а не пользоваться дженерик простынями из wd-таггеров, от которых естественно протекают все концепты потому что капшены шаблонные.
> сф продигах
Пиздец. Вот и ответ твоих проблем.
> У меня жесткие требования к обучению, я не делаю референс генераторы и мне нужен гибкий стабильный вывод на основе знаний основной сети.
Это ты говоришь какие-то общие слова, о том что и так работает не напрягаясь. Даже XL без проблем умеет в перенос элементов концепта за пределы датасета. Ты бы хоть показал с чём у тебя проблемы. По твоим рассказам больше похоже на шизу.
> в основном это конволюшены
Не верю.
Аноним 31/08/25 Вск 19:46:35 1337371 254
>peft
Как это говно потом в webui запихивать-то?
Аноним 31/08/25 Вск 19:58:45 1337379 255
>>1337357
>Нет, peft работает с чем угодно.
Я не знаю как впердолить в сд скрипты.
>Так делай альфа = ранг. И забудь навсегда про существование альф и кручение весов.
Так я альфа=ранг и треню в основном.
>Решается капшенами. На DiT просто, на XL посложнее из-за клипа. Если тебя интересует только небольшая часть пикчи, а всё остальное мусор, то это тоже капшенами решается. Например можно сливать ненужное в стохастику/один токен, который превратится в триггер стиля и который можно успешно игнорить.
Да не решается. Хоть какой капшен - хоть токенами, хоть человеческое описание, хоть класс, хоть небо и аллах. А если ты про тренировку с TE, то я и так и так тренировал, но в основном энкодер не тренирую, с енкодером только на жестком выборе контректных слоев енкодера для тренировки нет большого влияния на сдхл.
>Всратый датасет в моём понимании - рандомная лоурез дрисня из яндекс-картинок, найденная по поисковому запросу.
У меня не спарсенные картинки, не рандом, бывает что шумные датасеты, но не критично, но такие картинки фактурные очень и сеть это улавливает сильно.
>Достаточно наконец в 2025 году подружиться с крупной VLM, а не пользоваться дженерик простынями из wd-таггеров, от которых естественно протекают все концепты потому что капшены шаблонные.
Не пользуюсь вд. Я так понимаю ты в целом со своей колокольни вещаешь и не понимаешь специфику мою, а мои "дип адопшен кококо хватит перезаписывать основную модель тварь" тебе ни о чем не говорит потому что ты примитивное онеме тренишь.
>Пиздец. Вот и ответ твоих проблем.
От оптимайзера не зависит вообще, не надо тут это.
>Это ты говоришь какие-то общие слова, о том что и так работает не напрягаясь. Даже XL без проблем умеет в перенос элементов концепта за пределы датасета.
Да блять не работает оно не напрягаясь. Если бы оно работало не напрягаясь этой ветки диалога не было бы.
>Ты бы хоть показал с чём у тебя проблемы. По твоим рассказам больше похоже на шизу.
Ок смотри, задача 1: сделать генерализованную модель под конкретную живую бабу модель для генерации с ней различных картинок для маркетплейса (отдельные модели под вещи уже готовы). Есть обширный датасет. У меня есть исходный файнтюн который без особого напряга генерирует и управляется с адаптерами и контролнетами, моя задача просто заставить сеть генерировать только тян модель - то есть ее точную фигуру, лицо, прически, чтобы по итогу влияние на модель было только в этих доменах. При обучении всех слоев с конволюшеными я неизбежно получаю перекос в датасет и теряю основные знания сети, поэтому конкретно под эту задачу с реальными людьми подходит либо дримбудка либо селективная тренировка, которая теряет дату, но не настолько критично как полнослоевая тренировка.
Задача 2: у меня есть классовый концепт, о котором знает сеть, большой датасет из которого нельзя убрать дату до минимального, т.к. в дате содержатся разные нужные данные. Никакая лора не справляется с генерализацией и в любом случае падает в копирование датасета.
Задача 3: у меня концепт о котором не знает, очень шумный датасет, шум давится, но лора по итогу выучивает датасет вместе со всеми характерными шумами. Маскирование даты невозможно.
>Не верю.
Я отключаю конволюшены и проблема уходит вместе с глубокими знаниями локальными, можешь верить.
Аноним 31/08/25 Вск 19:59:16 1337380 256
>>1337371
Вот в этом еще проблема, но чел проигнорил ответ на этот вопрос.
Аноним 31/08/25 Вск 20:03:51 1337389 257
>>1337380
Не, я другой анон вообще, увидел вашу дискуссию и решил потыкать этот peft.
Он вроде даже в кохаковский формат автоматом сохранился, в webui его видно.
Но он, сука, не работает. Совсем.
В логах видно загрузку, но результат вообще никак не меняется, что с лорой что без нее - вот прям пиксель-в-пиксель одинаковое.
Аноним 31/08/25 Вск 20:12:46 1337403 258
>>1337389
Такое было с бофт, пока не починили чтение весов в комфи конкретно под бофт.
Аноним 31/08/25 Вск 20:14:29 1337404 259
>>1337403
Обычная лора, даже без доры. Не работает ни в комфи, ни в форжах-рефоржах.
Аноним 31/08/25 Вск 20:51:38 1337448 260
1738810933498.png 51Кб, 1873x277
1873x277
>>1337371
Сконвертить? В диффузерсах есть функция convert_state_dict_to_kohya для peft, были скрипты где-то в репе диффузерса для тех кто с лапками. Либо глазами посмотри как ключи поменять. Пикрил я для Хромы делал конверсию в формат комфи.
>>1337379
> Задача
Во-первых, не понятно твоё стойкое желание использовать только XL, когда на любом DiT описанное тобой не является задачей и просто работает. Даже возьми SD 3.5, если хочется базу похожую на XL.
Во-вторых, так и не увидел чего-то невыполнимого для XL. В третьем вообще очевидный проёб тренировки, XL наоборот очень сильно игнорит шумы/артефакты сжатия, а в DiT это решилось бы указанием тега на шум.
Аноним 31/08/25 Вск 21:11:10 1337464 261
>>1337448
>Во-первых, не понятно твоё стойкое желание использовать только XL
Потому что быстро, удобно, пачка всего нужно существует и файнтюны на любой вкус втч мощная предметка.
>когда на любом DiT описанное тобой не является задачей и просто работает.
- я пользуюсь вилкой чтобы кушать корнишоны
- возьмите BFG 3000, оно лучше справляется, попробуйте

>Даже возьми SD 3.5, если хочется базу похожую на XL.
Нет файнтюнов которые можно юзать как базу.
>Во-вторых, так и не увидел чего-то невыполнимого для XL.
Ну теоретически нет невыполнимого, невыполнимы с наскока они без дип пердолинга на лорах.
>В третьем вообще очевидный проёб тренировки,
В третьем проеб конволюшенов лоры, именно там я их отключаю и магическим образом все приходит в юзабельную норму, но концепт недостаточно точен (сильно недостаточно).
>XL наоборот очень сильно игнорит шумы/артефакты сжатия
Жаль сдхл об этом не в курсе.
>а в DiT это решилось бы указанием тега на шум
Насрать на диты.

Кароче ты мне помочь не сможешь так и так с твоими тремя паттернами ответов - "ты делаю что-то не так" (а я делаю так), "хл нинужна" и "юзай пефт" (но как юзать с сдскриптами конечно же не напишешь). Но оффенс если че, бессмысленный диалог получился просто.
Аноним 31/08/25 Вск 21:13:21 1337466 262
Screenshot 2025[...].png 84Кб, 1366x224
1366x224
>>1337448
>Сконвертить?
Дефолтный скрипт дифузерсов это и так делает. Только вот >>1337389
Аноним 31/08/25 Вск 21:21:40 1337471 263
>>1337068
>Нет, этих свдшных методов слишком дохуя и они не кончаются, вон новый недавний
Я про тот конкретный, для которого в коде делать ничего не надо, а только правильно нарезать модель через экстракт.

>Фулл в смысле фул фул или просто полные матрицы?
Фулл в смысле фулл. А полные матрицы это что? Отдельные слои или просто большой ранг?

Потести svd нарезку, это слишком интересный метод, чтобы его скипать. Там же еще можно основу модели после нарезки заквантовать даже просто в фп8. Примерно как делается в SVDQuant, там у них это в 4бит хорошо работает при том что активации тоже в 4 бит. Главное настроить так чтобы конвертилось в фп8 только то на чем разложенная лора висит, а остальное не трогать. И некоторые атеншены наверное тоже.

Кста большие модели вы только так и будете тренить в будущем. Других адекватных способов нет. Ну если не завезут нативную тренировку в фулл 4 битах с градиентами.
По сути идеальная q-lora уже доступна вообще без пердолинга.

>Сдскрипты не позволяют в фп32 ничего гонять кроме вае, да и не на моей карте полную точность дрочить.
С полной точностью любые карты работают. Количество весов для которых ее стоит включить очень мало относительно всей модели, на память не должно влиять.
Это по идее должно легко включаться в коде, но надо разбираться в торчах, да...


Надо новый понятный гайд на разбивку делать? А то прошлый раз походу никто не понял че это такое.
Аноним 31/08/25 Вск 21:24:25 1337474 264
>>1337471
>Надо новый понятный гайд на разбивку делать? А то прошлый раз походу никто не понял че это такое.
Пили, интересно попробовать.
Аноним 31/08/25 Вск 21:37:33 1337491 265
>>1337464
> ты мне помочь не сможешь
Естественно, ведь ты отказываешься показать в чём у тебя проблемы. Только невнятное "ну вот я придумал задачу на ходу и обосрался что-то сделав не так".
>>1337466
Может ты просто не натренил ничего, вот и нет изменений, лол. Автоматик должен писать если ключи не совпадают.
Аноним 31/08/25 Вск 21:42:21 1337500 266
>>1337491
Хуй знает короче, закинул рабочую кохак-лору и конверт peft - и там какая-то ебанина с ключами, они вообще нихуя не совпадают...
При этом ошибок не было.
Аноним 31/08/25 Вск 22:43:13 1337574 267
>>1337491
> Естественно, ведь ты отказываешься показать в чём у тебя проблемы.
Я тебе описал проблемы. Анимешнику трудно уловить суть реальных задач, понимаю, это не standing loli girl nude pussy masterpiece.

>Только невнятное "ну вот я придумал задачу на ходу и обосрался что-то сделав не так".
Ок, бери лустифай, генерируй тяночьку с гейпом жопы и тренируй полнослойную лору чтобы все сохранилось изначальное в модели кроме лица и фигуры. Без результата можешь даже отвечать.
Аноним 31/08/25 Вск 23:08:02 1337620 268
>>1337471
>Я про тот конкретный, для которого в коде делать ничего не надо, а только правильно нарезать модель через экстракт.
>Потести svd нарезку, это слишком интересный метод, чтобы его скипать. Там же еще можно основу модели после нарезки заквантовать даже просто в фп8. >Примерно как делается в SVDQuant, там у них это в 4бит хорошо работает при том что активации тоже в 4 бит. Главное настроить так чтобы конвертилось в фп8 только то на чем разложенная лора висит, а остальное не трогать. И некоторые атеншены наверное тоже.
>Кста большие модели вы только так и будете тренить в будущем. Других адекватных способов нет. Ну если не завезут нативную тренировку в фулл 4 битах с градиентами.
>По сути идеальная q-lora уже доступна вообще без пердолинга.
Я если честно нихуя не понял, где что находится и как куда чем что резать. Че читать?

>Это по идее должно легко включаться в коде, но надо разбираться в торчах, да...
Ну вот по дефолту в сдскриптах нет такого.

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

>Фулл в смысле фулл.
Нет, прям фулл от начала до конца с те я не делал, у меня на карту не поместится такое.
Аноним 31/08/25 Вск 23:36:54 1337668 269
>>1337574
> Я тебе описал проблемы.
Тебе уже сказали что это не проблемы, а скилл ишью. Но тебе трудно уловить что ты тупой.
> лустифай
> реальных задач
Я так и понял что ты клован.
Аноним 31/08/25 Вск 23:41:03 1337677 270
Короче ебал я этот peft. Для XL нет ровным счетом нихуя, есть какие-то недопиленные ошметки для древнего SD, которые проще выкинуть нахуй, чем пытаться адаптировать под XL.
Аноним 31/08/25 Вск 23:51:29 1337691 271
1613221466032.gif 3631Кб, 900x600
900x600
>>1337677
Там всё универсальное, естественно специально под XL нет ничего. А вообще по функционалу альтернатив ему нет. Даже нормальная реализация пикрила есть.
Аноним 31/08/25 Вск 23:57:02 1337695 272
>>1337691
Кохаковские конверты там сделаный хуй знает как. Я хз откуда они такие ключи вообще взяли - их у кохака никогда и не было.
Накидал лапшу на диффузорных пайпах с загрузкой ихней лоры - вроде работает, говно. Польза пока правда от всего этого сомнительная.
Аноним 01/09/25 Пнд 00:07:18 1337697 273
>>1337677
>>1337695
Пефт универсален, его можно хоть в кохю хоть куда применить. В лапшу если вдруг нет стандартной ноды потребуется свою наколхозить, но там буквально несколько строк, ллм справится.
Аноним 01/09/25 Пнд 00:13:40 1337701 274
Screenshot 2025[...].png 1057Кб, 2322x654
2322x654
>>1337697
Да вижу я какой он универсальный.
Аноним 01/09/25 Пнд 00:17:34 1337709 275
>>1337701
да че ты с ним базаришь, он чисто позлить вспуки постит итт, не заметил чтоли что конкретики никакой?
Аноним 01/09/25 Пнд 00:17:52 1337710 276
1659633906845.png 27Кб, 552x85
552x85
>>1337701
Тебя не смущает что ты не лору подрубаешь, а дору? Она вообще поддерживается у тебя? peft-то тут причем вообще.
Аноним 01/09/25 Пнд 00:22:20 1337714 277
>>1337668
>Тебе уже сказали что это не проблемы, а скилл ишью. Но тебе трудно уловить что ты тупой.
Даа, скилишью, такое скилишью что ты не можешь со своим скиллом решить простенький тренинг по реквесту.
>Я так и понял что ты клован.
Ой, а что не так? Специально же придумал тебе задачу под твой ежедневный дрочь на голых самок, аниме, ток без аниме, чтоб тебе веселее было. Давай-давай, тренируй консистентную тяночьку с сохранением всего, кроме лица и фигуры, я жду ;)
Аноним 01/09/25 Пнд 00:27:57 1337716 278
>>1337714
> по реквесту
Не вижу реквеста. Давай датасет, показывай что у тебя самого получается. Будем обоссывать тебя.
> а что не так?
То что ты пишешь про одни задачи, а потом рассказываешь что не можешь решить их на подходящей модели потому что там нет порнушных лор. Я из этого делаю вывод что ты просто траллишь тред и даже не тренишь ничего.
Аноним 01/09/25 Пнд 00:31:31 1337722 279
>>1337716
>Не вижу реквеста
Еще раз: бери лустифай, генерируй тяночьку с гейпом жопы и тренируй полнослойную лору чтобы все сохранилось изначальное в модели кроме лица и фигуры
>Давай датасет
Любую бабу с характерной внешкой бери, любой размер датасета.
>показывай что у тебя самого получается
Это ты покажи мне мастеркласс, у меня полностью датасетовая копирка получается вместо адаптации с тренировкой всех слоев.
>То что ты пишешь про одни задачи, а потом рассказываешь что не можешь решить их на подходящей модели потому что там нет порнушных лор. Я из этого делаю вывод что ты просто траллишь тред и даже не тренишь ничего.
Ты че далбаеб 20 iq? Каких порнушных лор? Я тебе дал ту же задачу, что в задаче 1 была, только упростил ее до "сохрани все с основной модели, но чтобы была тяночька и ее фигура с датасета". Давай, хуярь.
Аноним 01/09/25 Пнд 02:16:22 1337759 280
>>1337701
Погугли где используется магнитуда. Пефт наворачивается на стандартный класс модели, если ты пытаешься потом грузить его через какой-то хардкод, да еще и дору - разумеется будут ошибки. В остальном принцип весь тот же, могут отличаться только префиксы.
>>1337709
Ты что несешь вообще?
>>1337714
Тренираторы лоры на еот на своих 3060 - самый низший мусор, когда успели это позабыть и накопить такое чсв? Это тред для технических обсуждений а не аутотренинга.
Аноним 01/09/25 Пнд 03:06:57 1337766 281
получаем пустую[...].png 142Кб, 1232x497
1232x497
экстракт модели.png 165Кб, 1276x758
1276x758
фикс экстракта [...].png 155Кб, 1204x742
1204x742
получение diff [...].png 126Кб, 1243x463
1243x463
>>1337474
Нужно комфи с нодами ModelMergeSubtract, либо на русском Вычитание моделей / Вычитание CLIP
По схеме 1 получаем пустую модель. Можно проверить, должна сжиматься до сотки метров архиватором.
Делаем экстракт из модели. Пик 2 слева целевая, справа пустая. Можно не делать пустую модель, а взять вместо нее базовую sdxl, но я хз что именно это даст. Изначально смысл в том чтобы поделить всю модель, а не вырезать из нее нафайнтюненый кусок. Но работать тоже должно. В этом случае для дальнейших процедур берется "новейшая" модель, та что была слева.
Ранг экстракта - чем больше тем лучше.
Закидываем экстракт обучаться на 1 шаг на одной картинке самом на самом низком лр (типа 0.000000000000000000000001, но не просто 0). В поле Network weights веса экстракта. Он сохранится нормальным, дальше используется только сохраненный.
Пик3, делается мерж экстракта с пустой моделью.
Пик4, получаем разницу между исходной моделью и "развернутым" экстрактом. Эту модель используем дальше.

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

Закидываем все это обучаться, как обычное продолжение тренировки лоры. В Network weights наш экстракт. В модель собственно разницу, также как и на проверке.
Альфа = ранг. Ранг тот же что и у экстракта. Есть вроде кнопочка чтобы само подставилось.
Аноним 01/09/25 Пнд 03:14:29 1337768 282
>>1337766
Дополнение:
Экстракция делается через SVD, берется n самых "мощных" 1-ранговых лор. SVD как бы раскладывает модель на одноранговые лоры. 1 проход - собирается самая жирная лора которая помещается в 1 ранг, остается остаток. Из этого остатка высасывается еще один ранг. Это как бы и не лоры, просто конфигурация матриц и математика такая же. Если матрица 100 на 100, то за 100 проходов ты получишь лору ранга 100, и эта лора будет работать точно также как исходная матрица. Только будет в итоге 2 матрицы 100х100, в два раза больше весов чем в исходной. Суть в итоге в том что все "одноранговые лоры" нормируются, отдельно записывается множитель, и в итоге получается что основную информацию в матрице несет меньшая часть рангов, а в остальных в основном мелкие шумные значения.
Как SVD выбирает 1 самый жирный ранг - сканируется исходная матрица на похожие строки и столбцы, отдельно. Типа одной строкой будет строка которая больше всего похожа на все, также и столбец. Из этого собирается одноранговая лора, ее можно развернуть, вычесть из матрицы, и с остатком проделывать это столько раз, сколько размер матрицы. Гарантированно в конце в матрице останутся только нули.
Это объяснение скорее всего неверно, так как я не знаю как работает SVD, лол.
Идея метода - в том что в лору переносятся те самые жирные ранги, а в модели остается все остальное. Лора не инициализируется с нуля.
Так как встроенного метода это сделать нет, и нужен этот небольшой пердолинг с экстракцией. Как раз экстрактор юзает SVD, и через разницу получаем эквивалент этой самой нарезки.
Еще лора же не захватывает все слои, поэтому в весах модели останутся нетронутыми слои на которых не висит лора. Потому что мы вычли только то что в правильном экстракте было. А в нем не было слоев которые не включены в обучение.

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

Релевантные ссылки:
youtube.com/watch?v=DG7YTlGnCEo
Идея взята отсюда - https://www.alphaxiv.org/abs/2404.02948
Здесь похожая идея применяется для квантования https://www.alphaxiv.org/abs/2411.05007
Тренировать таким методом пока нельзя. Я пытался разобраться, если его как есть использовать, ускорение будет не в 5 раз, а в 1/4, ибо бэкпроп в фулл точности идет. А заквантовать градиент это не простая задача, тут я разбирался с ллмкой, говорит что градиент гораздо больше выбросов имеет. Можно придумать, но это уже уровень статейного ресерча. Может в фп8 нормально будет. Там еще и часто надо будет пересчитывать разложение матрицы.
Кароч все сложно, но в теории можно ускорить. А вот просто сэкономить память должно быть легко. Все веса которые не попали в лору должны хорошо квантоваться. То есть можно сочетать с qlora. Как это делается я хз, в гуе есть только кнопка на fp8, что она делает я тоже хз, но надо чтобы она переводила не всю модель в фп8, а только нарезанные слои.
Должно делаться минимальными усилиями, но я этого не дошел.
Аноним 01/09/25 Пнд 03:31:05 1337772 283
>>1337620
>Полные матрицы это в смысле full алго из ликорисовской либы, это дримбудка в виде лора модуля, там нет никаких слоев, просто полновесные матрицы нативного размера сдхл.
Бля, я нихуя понять не могу.
Пока не смотрел че делает код, но фулл матрицы это полные исходные матрицы. И обучение их это обычный файнтюн.

Ща быстро посмотрев код тоже нихуя не понял что оно делает, файнтюн исходной матрицы иди вешает лору. Надо в ллмку под пихать.

Про нарезку я вроде попытался понятно объяснить.
Вот это оно >>1337691
Аноним 01/09/25 Пнд 05:36:15 1337815 284
>>1337766
Бля ну и пердолинг. А с конволюшнами че делать? Тоже размер как у основного дименшена?
Аноним 01/09/25 Пнд 06:25:05 1337822 285
Аноним 01/09/25 Пнд 06:57:22 1337827 286
>>1337815
>Бля ну и пердолинг.
Это еще даже близко не пердолинг. К сожалению...
>А с конволюшнами че делать? Тоже размер как у основного дименшена?
На самом деле хз. Конвов в обычной лоре не будет все равно. А я тестил только с обычной. Но должно работать все. Главное чтобы ты вычитал по итогу ровно те слои, которые тренируются, чтобы мержер полностью рассасывал все слои в фуллмодель. Я не знаю где там что проебаться может на других алгоритмах. Вот я щас сам запустил чтобы почекать не спорол ли где хуйню. И у меня пришлось два раза пересоздавать фикс экстракта через маленький лр.
То есть я закидываю в автоматик ту "разничную" модель, на которой сейчас обучается лора-экстракт, закидываю то что нагенерили первые эпохи и нихуя не работает. Со второго раза работает. Видимо где-то проебался энкодер, ибо когда я начал тренить, я поставил ему 0 лр и включил кеш энкодера. А когда фиксил экстракт этого не стояло.
Можно понять еще по размеру файла. Если у тебя лора на входе больше чем лора на выходе, значит что-то проебалось. Должно быть одинаково.

Тут надо понять именно смысл того что ты делаешь, а не пытаться следовать алгоритму. Тогда пердолинг будет только в том чтобы чтобы за всем уследить что скрыто от тебя за убогим гуем.

Если ты можешь любой алгоритм загрузить как продолжение тренировки, если ты можешь его слить с моделью, то все будет работать. В первом случае косяки исправляются пересохранением через малый лр, во втором хз как отследить, не проебал ли мержер слои.
А ну и сам экстрактор то у нас что что дает, от того и работаем. Хз какие алгоритмы смогут продолжить без ошибок то что он выдал. Вот это таки будет проблемой, наверное.
Аноним 01/09/25 Пнд 07:18:02 1337830 287
>>1337827
кинь то что экстрактит коягуй в верифаер оттуда же, че там по составу?
Аноним 01/09/25 Пнд 07:38:47 1337834 288
>>1337830
ладно сам посмотрел, ну просто обычная лора с конвами и прочим калом вдовесок
Аноним 01/09/25 Пнд 07:40:47 1337835 289
>>1337766
кстати на втором шаге второй картинки кламп и миндифф можно коурглить до 1 и 0 соответственно
Аноним 01/09/25 Пнд 07:53:32 1337839 290
>>1337766
А пункт с фиксом дообучением на какой модели проводить? На изначальной?
Аноним 01/09/25 Пнд 07:59:57 1337841 291
image.png 14Кб, 887x104
887x104
>>1337827
>Можно понять еще по размеру файла. Если у тебя лора на входе больше чем лора на выходе, значит что-то проебалось. Должно быть одинаково.
я кароче кинул экстракт на вход в ликорисовский локон, размер получился идентичный, но точно побайтово различие 2 байта
Аноним 01/09/25 Пнд 08:07:53 1337842 292
2025-09-01074420.png 128Кб, 1379x1007
1379x1007
>>1337830
>>1337834
Ну да, а что ты хотел?
Для прям фулл файнтюна надо отдельно включать все что не вошло в лору. Похоже через гуй это не сделать, хз, какой там формат у ликорисов? Если файл хотя бы можно пихнуть как продолжение тренировки, то его же можно скрестить с экстрактом и все будет работать. Ллмка должна справиться с кодом, для этого ненужно в сами скрипты лезть.

>>1337835
Да... Я это вроде хотел включить, может скрин старый. По логике метода так и должно быть 1 и 0.

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

>>1337841
У меня сейчас несколько байт разница, не сломалось. Хотя между эпохами разницы в байтах нет, какие-то метаданные, мб.
Аноним 01/09/25 Пнд 08:18:16 1337843 293
image.png 549Кб, 1384x844
1384x844
>>1337842
кароче все соединил обратно, дифф + фикслора - работает, дообучал на локоне с ликориса
Аноним 01/09/25 Пнд 08:18:42 1337844 294
>>1337843
щас чекну насколько отличается от дефолта
Аноним 01/09/25 Пнд 08:21:24 1337845 295
image.png 1419Кб, 768x1024
768x1024
image.png 1419Кб, 768x1024
768x1024
>>1337844
>>1337843
селва изначальная модель
справа дифф+фикслора
чучуть качество ебанулось на галактике ну и насрать тащемто
Аноним 01/09/25 Пнд 08:23:34 1337846 296
>>1337842
так теперь вопрос
вот допустим я обучаю на фиксе и диффе, получаю лору, ее использовать на основной модели или на диффе опять?
Аноним 01/09/25 Пнд 08:33:21 1337852 297
>>1337845
На уровне ошибок квантования разница. Вообще я не всматривался, но вроде получал 1 в 1.

>>1337846
На диффе, иначе ты считай удваиваешь исходные веса. Можно их слить и вытащить обычную лору по классике. Или вычти из натрененой исходную.
Можешь сразу натрененную и исходную вместе грузить, так чтобы сумма их весов была 1. Эквивалентно обычному изменению веса.
Аноним 01/09/25 Пнд 08:36:08 1337855 298
>>1337852
>Вообще я не всматривался, но вроде получал 1 в 1.
ну у тебя 254 ранг, у меня 64
Аноним 01/09/25 Пнд 08:41:42 1337858 299
>>1337852
>>1337852
>На диффе, иначе ты считай удваиваешь исходные веса. Можно их слить и вытащить обычную лору по классике. Или вычти из натрененой исходную.
>Можешь сразу натрененную и исходную вместе грузить, так чтобы сумма их весов была 1. Эквивалентно обычному изменению веса.
ну я ебанул на большой скорости 3 эпохи, вроде работает, конечно все по пизде пошло с лоссом 0.2 но видно что роботает, куолити хуй знает, надо лр снижать
Аноним 01/09/25 Пнд 08:43:27 1337860 300
>>1337858
а все догнал, ну да такого результа с обычной тренькой с нуля не получится так быстро
Аноним 01/09/25 Пнд 08:45:22 1337862 301
>>1337852
>Можно их слить и вытащить обычную лору по классике. Или вычти из натрененой исходную.
не понял что с чем и как надо сливать/вычитать чтобы лору чистую получить чтобы на исходной модели работало?
Аноним 01/09/25 Пнд 08:47:57 1337866 302
>>1337710
>>1337759
Так весь прикол в том, что я дору и не тренил вообще, это обычная лора.
Я не ебу что за наркоман конверт писал.
Аноним 01/09/25 Пнд 08:54:16 1337870 303
>>1337852
кароче спасибо за метод, это имба, я еще с фиксед нойзом гоняю и со сниженными бетами, результат просто моментальный получается

интересно можно ли както веса подгрузить в кастомные алгоритмы другие или только локон доступен
Аноним 01/09/25 Пнд 08:56:35 1337872 304
Аноним 01/09/25 Пнд 08:57:30 1337874 305
Аноним 01/09/25 Пнд 09:03:42 1337878 306
>>1337766
>Закидываем экстракт обучаться на 1 шаг на одной картинке самом на самом низком лр
Есть разница на чем? Или нужно тупо минимальное изменение в экстаркте?
Аноним 01/09/25 Пнд 09:07:47 1337880 307
>>1337878
я взял просто пинк нойз в фолдере 1_noise без описания, скорость 0.000000000000000000000001 , AdamW8bit
Аноним 01/09/25 Пнд 09:15:36 1337884 308
>>1337855
Это не причем. Вообще ставь максимум ранг который влезает в память. 64 это наверное маловато для идеи метода, там много чего не захватывается. Между 100 и 200 где-то оптимум по емкости. Но для разных слоев по разному. В идеале надо настраивать по группам. Я где-то видел что вычисляли эту хуйню для каждого слоя, типа если взять % самых важных, то какой ранг их охватит.

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

>>1337860
Да, ей разгоняться не нужно как обычной лоре с ее всратой инициализацией.

>>1337870
>интересно можно ли както веса подгрузить в кастомные алгоритмы другие или только локон доступен
В какой алгоритм ты хочешь грузить? Я посмотрю. Не факт что это вообще имеет смыл.

>я еще с фиксед нойзом гоняю
И с ффт? Можешь как-нибудь запилить один дифф кода этого всего? А то чет по скринам ебано разбираться.

>>1337878
Нужно не минимальное изменение, а чтобы тренер сохранил только то что он хочет сохранять. Ибо он ложит хуй на то что ты ему пытаешься дать больше слоев чем у него в конфиге прописано. Это просто подгон формата по сути.
Аноним 01/09/25 Пнд 09:16:48 1337886 309
image.png 26Кб, 432x302
432x302
>>1337870
Продижи с ума сходит от таких стартовых весов кстати. Похоже даже 1e-5 многовато для файнтюнинга таким образом будет.
Аноним 01/09/25 Пнд 09:27:37 1337893 310
>>1337884
>И с ффт?
Да

>Можешь как-нибудь запилить один дифф кода этого всего? А то чет по скринам ебано разбираться.

Фикс нойз через хеш сумму
пихать в трейн утил
https://pastebin.com/FN4fxWRz
добавить инициализацию аргумента фиксед нойз через
parser.add_argument(
"--fixed_noise",
action="store_true",
help="fixed noise latents",
)
использовать с кешированием (хотя может работать будет и без, я не пробовал)

ффт
поставить https://github.com/tunakasif/torch-frft
добавить в импорты в трейн утил
from torch_frft.frft_module import frft
from torch_frft.dfrft_module import dfrft, dfrftmtx

ниже импортов обозначить мсе комплекс
https://pastebin.com/fPVnqik1
ввести новый метод лосса в кондишнл лоссе
https://pastebin.com/kvUXhnii
инициализировать аргумент (просто добавить fft в лосстайп)
parser.add_argument(
"--loss_type",
type=str,
default="l2",
choices=["l1", "l2", "huber", "smooth_l1", "dwt", "fft"],
help="The type of loss function to use (L1, L2, Huber, or smooth L1), default is L2 / 使用する損失関数の種類(L1、L2、Huber、またはsmooth L1)、デフォルトはL2",
)

вроде все
Аноним 01/09/25 Пнд 09:32:23 1337896 311
>>1337893
А нет не все, еще в трейн нетворке вот так сделать (это для вейвлетов вообще, но я не менял после них ниче)
>>1280881
Аноним 01/09/25 Пнд 09:38:54 1337902 312
>>1337884
>В какой алгоритм ты хочешь грузить? Я посмотрю. Не факт что это вообще имеет смыл.
В какой покатит в принципе, но хотелось бы boft как единственный не изменяющий структуру основной модели, но скорее всего не получится подгрузить тк слои у офт с oft буковками и надо будет переименовывать чтоб сожрало и не факт что там соответствие 100%.
Проверь кароче лоху например еще.

Дилору наверно тоже съест норм кстати потому что там просто на блоки разбивка идет, а оно по сути локон.
Аноним 01/09/25 Пнд 09:40:44 1337904 313
>>1337766
А почему на 2 пике загрузка в бв16? Точность оригинальной модели при экстракте не проебывается?
Аноним 01/09/25 Пнд 09:40:47 1337905 314
image.png 165Кб, 1248x764
1248x764
>>1337886
ну вроде чето типа стабилизировалось и не умерло даже
Аноним 01/09/25 Пнд 09:43:32 1337908 315
>>1337904
предполагаю что т.к. веса подгружаются в тренер и чтобы теоретически не разъебало нестабильным фп16 на различных оптимах с nan в первом шаге, то используются стабильные бф16
Аноним 01/09/25 Пнд 09:47:45 1337911 316
>>1337905
короче, ахуительно получилось, просто применил как новую лору к дифф модели и работает шикарно
Аноним 01/09/25 Пнд 09:50:19 1337913 317
Аноним 01/09/25 Пнд 10:02:18 1337920 318
>>1337913

--optimizer_type="prodigyplus.prodigy_plus_schedulefree.ProdigyPlusScheduleFree" ^
--optimizer_args "betas=(0.7, 0.7)" "weight_decay_by_lr=False" "d0=1e-5" "use_stableadamw=False" "d_coef=1" ^
--learning_rate=1 ^
--loss_type="fft" ^

микродатасет на 5x2 пикч, стабильность ебовая, по ощущениям можно еще агрессивнее, дкоеф побольше и стартовый d0 выше, все равно можно суппрессировать влияние через фикс лору в процентном соотношении
Аноним 01/09/25 Пнд 10:03:39 1337922 319
>>1337884
>Вообще ставь максимум ранг который влезает в память. 64 это наверное маловато для идеи метода, там много чего не захватывается. Между 100 и 200 где-то оптимум по емкости.
А есть даже 128 в память не лезет?
Аноним 01/09/25 Пнд 10:07:59 1337925 320
>>1337920
А чего спиды не юзаешь? Оно у меня довольно быстро на плато по лр выходило
Аноним 01/09/25 Пнд 10:14:54 1337932 321
>>1337922
можно с fp8 base попробовать с оптимами 8бит/адафактором без памяти с фузедбакпасом опционально
либо заморочиться и тренить только определенные блоки, но это тебе резать придется дополнительно фикс лору чтобы пересечения не было через слайсер отсюда https://github.com/ThereforeGames/blora_for_kohya
можно не тренить TE, или тренить конв отдельно, а линейные отдельно, у тебя база все равно одинаковая стартовая, разница в раздельном использовании будет скорее всего минимальная

я вон выше 64 ранг тренил конв+линейные, ну вроде достаточно по емкости
Аноним 01/09/25 Пнд 10:16:07 1337934 322
>>1337925
>А чего спиды не юзаешь?
хайли экспериментал жеж
Аноним 01/09/25 Пнд 10:21:41 1337940 323
>>1337934
Ну у меня довольно ставбильно был, попробуй.
Аноним 01/09/25 Пнд 10:23:53 1337941 324
image.png 3Кб, 141x105
141x105
>>1337932
>я вон выше 64 ранг тренил конв+линейные, ну вроде достаточно по емкости
Бля, я сейчас попробовал 64 просто линейки и оно все равно вываливается в шару. Боюсь если я туда еще и конвов хотя бы 32 запихну - оно в 20 гигов улетит вообще...
Аноним 01/09/25 Пнд 10:29:13 1337946 325
image.png 26Кб, 672x470
672x470
>>1337941
покажи конфег, у меня конв+лин 64 вот столько хавают при тренинге (-0.7 на системные приколы с гпу)

мой конфег

accelerate launch --num_cpu_threads_per_process 8 sdxl_train_network.py ^
--pretrained_model_name_or_path="K" ^
--train_data_dir="23у" ^
--output_dir="output_dir" ^
--output_name="fix1" ^
--network_args "algo=locon" "conv_dim=64" "conv_alpha=64" "preset=full" "train_norm=False" ^
--resolution="1024" ^
--save_model_as="safetensors" ^
--network_module="lycoris.kohya" ^
--shuffle_caption ^
--max_train_epochs=1000 ^
--save_every_n_steps=5 ^
--save_state_on_train_end ^
--save_precision=bf16 ^
--train_batch_size=1 ^
--gradient_accumulation_steps=2 ^
--max_data_loader_n_workers=1 ^
--enable_bucket ^
--bucket_reso_steps=64 ^
--min_bucket_reso=768 ^
--max_bucket_reso=1280 ^
--mixed_precision="bf16" ^
--caption_extension=".txt" ^
--gradient_checkpointing ^
--network_dim=64 ^
--network_alpha=64 ^
--optimizer_type="prodigyplus.prodigy_plus_schedulefree.ProdigyPlusScheduleFree" ^
--optimizer_args "betas=(0.7, 0.7)" "weight_decay_by_lr=False" "d0=1e-5" "use_stableadamw=False" "d_coef=1" ^
--learning_rate=1 ^
--loss_type="fft" ^
--cache_latents ^
--fixed_noise ^
--network_train_unet_only ^
--xformers ^
--vae="K:/ComfyUI_p022/ComfyUI/models/vae/ai" ^
--network_weights="K" ^
--no_half_vae ^
--full_bf16 ^
--mem_eff_attn ^
--lr_scheduler="constant" ^
--seed=1 ^
--no_metadata ^
--logging_dir="logs" ^
--log_with="tensorboard" ^
--persistent_data_loader_workers ^
Аноним 01/09/25 Пнд 10:41:24 1337948 326
>>1337946
sooqua, это я долбаеб - сто лет коху не юзал и забыл чекпоинтинг градиентов включить.
Аноним 01/09/25 Пнд 13:28:33 1338038 327
>>1337946
А как ты вырезал и мержил локон? Коховская портянка при мерже сыпет ошибками.
Аноним 01/09/25 Пнд 16:09:27 1338132 328
>>1337766
Попробовал.

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

До этого момента все ок.

Далее беру новую базовую модель и чекпоинт для лоры, делаю 1 шаг на реальном датасете с лр 2е-5, свапаю в автоматике чекпоинт для лоры на новый после тренировки - получаю шум.

При этом у них одинаковый размер вообще...
Аноним 01/09/25 Пнд 16:43:58 1338168 329
image.png 126Кб, 1011x649
1011x649
image.png 20Кб, 961x137
961x137
image.png 98Кб, 977x818
977x818
>>1338038
>>1338038
>А как ты вырезал и мержил локон?
>>1338038
>Коховская портянка при мерже сыпет ошибками.
Через кохуи все сделал. У меня полностью все требвания для этого говна подходят, венв не создавал для него отдельного, убрал все реквайрмент файлы из корня и запускал через python kohya_gui.py, если требовало библу и не запускалось - ставил библу через пип.
Аноним 01/09/25 Пнд 16:48:42 1338176 330
>>1338132
>Далее беру новую базовую модель и чекпоинт для лоры, делаю 1 шаг на реальном датасете с лр 2е-5, свапаю в автоматике чекпоинт для лоры на новый после тренировки - получаю шум.
lr ставь 0.000000000000000000000001
после 1 шага берешь полученную лору и смердживешь с зануленной моделью из шага 1
потом делаешь шаг с пикчи 4, получаешь модель, эту модель грузишь как основу и поверх нее применяешь лору которую обучал 1 шаг
Аноним 01/09/25 Пнд 16:54:18 1338189 331
>>1338168
>пик3
питон 3.11.9 есличе
Аноним 01/09/25 Пнд 17:00:49 1338199 332
>>1338168
Ааа, бля. Я юзал экстракт и мерж для локона в кохе, сейчас попробовал стандартный и оно сработало.

>>1338176
Это я уже сделал, там проблем нет. Экстракт и базовая модель под него вместе работают без проблем, производя результат как у оригинальной модели.
Проблема была в том что ебуча галка в кохе для чтения DIM из чекпоинта лоры походу не работает и пидараст результат. Убрав ее и руками задав размерность вроде получилось.
Аноним 01/09/25 Пнд 17:44:18 1338253 333
>>1338199
>Убрав ее и руками задав размерность вроде получилось.
Но только с лорой.
Локон вообще не тренится - за 3-4 шага улетает в NaN внезависимости от лр или оптимизаторов...
Аноним 01/09/25 Пнд 18:15:59 1338265 334
>>1338253
>Локон вообще не тренится
А он и обратно не собирается, лул. После конвертации через прогон с низким лр и подготовкой экстракта эта комбинация генерит только шум.
Аноним 01/09/25 Пнд 20:03:07 1338348 335
>>1337940
включил дору, включил спид, взял датасет из 100 картинок - модель моментально сгорела (но обучилась по пути конечно), непонятно от чего сгорела, щас без спида попробую не пососать
Аноним 01/09/25 Пнд 20:05:08 1338349 336
>>1338348
>моментально сгорела
кстати прогар очень своеобразный, первый раз такое наблюда., эффект как от DMD лоры с повышением цфг, то есть яркие яркие выжженые цвета, четкие формы, фон например чисто пятнистый фон а объекты в стабильности
если плюсить дмд поверх то горит вдвойне
Аноним 01/09/25 Пнд 21:21:06 1338423 337
>>1338265
Вроде разобрался - дело было в конверте лоры 1-шаговым проходом. Если скипнуть энкодер (поставить нолик в лр) то результат пидарасит и оно не работает вообще. С энкодером нормально.
Прогнал этот конфиг на sf продижах, на стилевом датасете - после 1000 шагов с батчем 2 какие-то изменения в лоре и гене есть, но переноса стиля там нет нихуя.
Сейчас взял sf адам, взял макс лр из продижи и накинул по единичке сверху, взял совсем простой стиль - на нем даже самые всратые конфиги сходились - по логам как-то тухло.
Либо надо задирать лр чтобы это говно сдвинуть с места, либо я опять где-то обосрался с подготовкой. Пока весь этот пердолинг не выглядит так, будто это того стоит...
Аноним 01/09/25 Пнд 21:33:41 1338427 338
image.png 149Кб, 1325x847
1325x847
>>1338349
Кароче синий график без спида. Со спидом очевидно зажарило сильнее, примерно до 20 шага (200 изображений => 2 эпохи) все стабильно и обучилось нормально, потом выгорело и только супрессить через основную лору. Вероятно надо вводить какую-то регуляризацию-демпнер или снижать скорость значительно. На мелких датасетах такого прогара не наблюдалось кстати с теми же настройками (кроме аккумуляции на 2 вместо 10).
Теоретически если оно так хуярит новыми данными сильно, то можно сразу EQ вае пихать и оно ее быстрее перепердолит до норм состояния.

>>1338423
>Вроде разобрался - дело было в конверте лоры 1-шаговым проходом. Если скипнуть энкодер (поставить нолик в лр) то результат пидарасит и оно не работает вообще. С энкодером нормально.
ну да, об этом выше челик писал, я сразу с енкодером выводил и норм

>либо я опять где-то обосрался с подготовкой.
вероятно ето так
Аноним 01/09/25 Пнд 21:47:55 1338439 339
image.png 930Кб, 768x1024
768x1024
image.png 1068Кб, 768x1024
768x1024
image.png 1239Кб, 768x1024
768x1024
image.png 1090Кб, 768x1024
768x1024
>>1338349
>кстати прогар очень своеобразный
Вот чисто для примера: прогоревшая лора, дефолт ген, среднее между ними (аналог 0.5 применения новых весов)
Четвертая картинка - лора до прогара
концепт левый
Аноним 01/09/25 Пнд 22:07:57 1338459 340
>>1338439
кароче чето с цфг произошло и шедулером во время тренировки, если цфг снижать до 1 и уменьшать степы (изначальная модель не предназначена для такого) то там где прогары можно добиться не горящего гена,если добавить кастомный шедулер то прогары еще сильнее убираются, по факту я получил дистиллят из модели какой-то
Аноним 01/09/25 Пнд 22:15:55 1338462 341
image.png 1665Кб, 768x1280
768x1280
image.png 1478Кб, 768x1280
768x1280
image.png 1733Кб, 768x1280
768x1280
>>1338459
реально дистиллят получился охуеть, 1 цфг 10 степов, дпмпп2м, никаких лор кроме натрененной на фиксиках
Аноним 01/09/25 Пнд 22:24:30 1338467 342
image.png 3252Кб, 1080x1920
1080x1920
>>1338462
ммм даже частично проходит проверку на слендерманство для экстра длинных изображений
кароче прикольный эффект, но я не этого хотел
Аноним 01/09/25 Пнд 22:28:43 1338470 343
>>1338462
>>1338467
Пиздец мутанты. Даже пережарка PAG даст лучше результат на 1cfg в 10 шагов.
Аноним 01/09/25 Пнд 22:32:54 1338473 344
image.png 2949Кб, 1080x1920
1080x1920
>>1338470
да причем тут твои постфикс костыли, ты не понял смысол, модель вообще не умела в 10 шагов и 1 цфг (дефолт ген пикрел), это ебический результат да еще и случайны, получается таким образом можно реально дистилляты для любого семплера делать, а не только как у дмд с лцм с помощью модели учителя
Аноним 01/09/25 Пнд 22:37:39 1338474 345
>>1338473
а и еще это моментальная тренировка длиной около 20-30 минут, дмд тренировали в тыщу раз дольше
Аноним 01/09/25 Пнд 22:45:33 1338484 346
>>1337766
Я правильно понимаю что с этой штукой никакие дропауты работать нормально не будут?
Аноним 01/09/25 Пнд 22:46:59 1338487 347
>>1338484
Почему? Будут, тренировка то классическая осталась
Аноним 01/09/25 Пнд 22:52:42 1338494 348
1703613456520.png 1507Кб, 2752x1153
2752x1153
>>1338473
Ты опять таблетки забыл принять? У тебя на пике обычная пережарка, а не дистилляция, пикрил как рандомная модель под пережаркой выглядит с 1 cfg и 10 шагами. Даже не настолько мутанты как у тебя. Тратить 30 минут на пережарку, которая делается без тренировки, и сделать даже хуже - это уже болезнь.
Аноним 01/09/25 Пнд 22:58:41 1338499 349
>>1338494
>ряяяяя врети нинужна ряяя мокропиську накачу вииии ты плахой
Понял тебя, токсичная девочка, не верещи. Шринком, сегой, нагой и прочими костылями можешь поперемогать, разрешаю.
Аноним 01/09/25 Пнд 23:02:47 1338503 350
>>1338494
> У тебя на пике обычная пережарка,
Там не пережарка, пережарка это когда мясо неконтролируемое вместо картиночки и апофеоз убитых весов в виде шума или черного экрана.
Аноним 02/09/25 Втр 04:52:58 1338661 351
>>1338484
Стандартные вроде должны (если они включаются), те что специально для лор - нет. Дропать ранг это дропать дохуя живых важных весов. Точечное отключение весов должно быть норм. Но все равно надо аккуратно, я бы еще провел эксперименты как влияет на качество выбор весов для дропаута по дисперсии градиента. Думаю там можно найти хорошие корреляции. Типа "супервеса" трогать определенно не стоит. Их бы пошатывать чутка обратно градиенту как в статье Sharpness-Aware Minimization, только как в той где это только к нормам применяли.
WD работает по принципу фулл файнтюна, если нужен эквивалент как с лорой, надо стопать тренировку и делать линейный мерж с исходными нетрененными весами. Ну там ~0.5-0.8 новых и продолжаешь тренировку (в сумме должно быть 1). Сохранять оптим наверное можно, в идеале его бы как-нибудь скорректировать чтобы долго не прогревать, ну или старт с прогрева как обычно если тебе нужен прогрев.

>>1337922
>А есть даже 128 в память не лезет?
Для этого и была идея напердолить конвертер в фп8 для остатка весов на которых висит лора, чтоб не трогал остальные веса. Так и влезет все и качество должно не пострадать прям вообще.

>>1337902
>В какой покатит в принципе, но хотелось бы boft
Хз, я позаебывал ллмку на тему как инициализируется эти бофты, кароч все эти мультипликативные адаптеры так не работают. Тоесть если ты делишь модель по svd и вешаешь на это бофт, получается формула бофт(модель+лора), в скобочках веса заморожены и они эквивалентны изначальной модели, отличий никаких от того если бы было бофтмодель.
Вариант модель+бофт*лора не имеет смысла из-за того что входные и выходные размерности лоры такие же и размер бофта будет таким же.
Единственный смысл - использовать первый вариант с квантованием в фп8, для экономии памяти.

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

>Проверь кароче лоху например еще.
Может сегодня смогу разобраться с ллмкой, а то просто читая репозиторий пока нихуя не понятно, без картинок со схемами и объяснения какие блоки где включены и т. п. Как же тяжело, я глазами этот код буду парсить целый день, что ллмка сделает за наносекунду. Хотя всю логику понимаю. Таки сказывается опыт самостоятельного кодинга максимум 500 строк лапши в одном файле да и те не на питоне.

>>1337893
Спс, пока еще не затестил... Я думаю этот ффт лосс должен хорошо зайти с eq vae. Там как раз частотный диапазон сглажен, по фурье хорошо раскладывается в отличии от дефолтного.
Найди на ютубе канал Густарева, там он показывает как в фотошопе частотное разложение делать. Увидишь глазами как оно работает. И это мы пытаемся с латентами делать. Можно ноду для комфи написать, и просто прогнать вае с таким же ффт, посмотреть че на выходе дает. А может такая нода уже есть. Вейвлеты чет так и не смог понять че делают, как будто то же самое кастрированное ффт.



Я еще недавно вкидывал шизометод, до которого у меня так руки и не дошли. Можно взять экстракт из любой другой модели, типа с нуба, люстры слить, инициализировать им, а вычесть уже из нужной модели. Можно взять готовую лору и инициализировать ей.
Ты его вычитаешь из модели. То есть то же самое делаешь чем мы щас занимаемся. По сумме твоя модель не изменилась, ты скомпенсировал веса. И лора теперь инициализирована не нулями. Такая интересная хуйня получается. Но может математически эквивалентна просто шуму. А может и нет, надо проверять. Это как взять наоборот самые низшие ранги, по статье это работает хуже, говорят, но именно такой шизовый вариант они не додумались проверить.
Аноним 02/09/25 Втр 08:22:13 1338698 352
>>1338423
Ну похоже получилось накрутить лры на адаме, перенос есть, но 1к шагов на датасете в 200 пикч походу маловато.

>>1338427
>я сразу с енкодером выводил и норм
А ты его тоже тренишь? У меня, если указать нолик в лр при тренировке - точно так же пидарасит результирующую лору и она генерит тупо шум.
Я в итоге пока забил хуй и на низком лр его тяну.
Аноним 02/09/25 Втр 14:34:05 1339208 353
image.png 70Кб, 667x603
667x603
>>1338698
>А ты его тоже тренишь?
На полноценной тренировке? Нет, только юнет пока что.
>если указать нолик в лр при тренировке - точно так же пидарасит результирующую лору и она генерит тупо шум.
Указывай --network_train_unet_only , у тебя не инициализируются слои te при тренировке, а потом используй текстовый енкодер от фикса как на пикрел (сверху лорафикс, снизу тренинг юнета готовый)
Аноним 02/09/25 Втр 15:09:32 1339254 354
>>1338661
>Я думаю этот ффт лосс должен хорошо зайти с eq vae. Там как раз частотный диапазон сглажен, по фурье хорошо раскладывается в отличии от дефолтного.
Да, я уже тренил ффт с eq, самый быстрый вариант достижения консистентного результата был на лохе (т.к. емкость значительно выше чем у лоры обычной). С методом экстракта тоже неплохо eq кстати и результат значительно быстрее достигается даже на локоне, я тут предполагал >>1338427 что так и будет - так и получилось. Мне eq нравится своей огромной точностью и вниманием к деталям.

>Можно взять экстракт из любой другой модели, типа с нуба, люстры слить, инициализировать им, а вычесть уже из нужной модели.
Прочитал несколько раз и не догнал. Экстракт из нуба, а потом вычитание этого экстракта из модели основанной на нубе? Лучше конечно такие мувы описывать по шагам чтоб понятнее было.
>Можно взять готовую лору и инициализировать ей. Ты его вычитаешь из модели.
Я давно пробовал такое по наиитию давно, но там вроде тренинг не запустился, вероятно из-за того что другой алго брал вместо локона.
Аноним 02/09/25 Втр 15:43:14 1339296 355
>>1338427
кароче еще пачка инфы, попробовал несколько методов

1. если использовать рег датасет, то "кристаллизация" значений (а это именно этот эффект, который в том числе обуславливает то что лора не ломается, условно у нас значение 99.95 из 100, а додрачивая экстракт таких значений мы доводим его до 99.999, что по факту является сверхточным дубликатом матрицы да еще и с избыточным не полезным усилением), но по итогу оно все равно будет идти к уничтожению через перенасыщение.
2. Если тренировать с альфой 32 вместо дефолтной 64 (равной дименшену), то перенасыщения значений не происходит, но и буста тренинга тоже, по сути просто деление новых весов происходит, которые все еще укладываются в норму. Неэффективно, долго, лижет сосет. Так как альфа регуляризация это сорт оф нормализация с другой стороны, можно попробовать нативную нормализацию (я не пользуюсь никогда таким) чтобы сдерживать уточнение значений. Вопрос только какое потолочное значение выбирать для нормы или выбирать нормировку в оптимайзере.
3. Простое снижение скорости обновлений на порядок (1e-5->1e-6) дало стабилизацию и немного позже началось перенасыщение. То есть прихожу к выводу, что скорости обновления параметров для экстракта надо как минимум больше чем x10 раз меньше, чем обычная скорость тренировки лоры. Падения скорости адаптация кстати нет, она идет по другому, но адаптируется мощно.
Аноним 02/09/25 Втр 15:44:44 1339300 356
>>1339296
>то "кристаллизация" значений
происходит чучуть дольше по времени при приорлосс 0.1, то есть тут чуть ли не 0.01-0.001 надо ставить чтобы скомпенсировать неконтролируемо уточняющееся значение

недописал
Аноним 02/09/25 Втр 21:39:18 1339644 357
image.png 134Кб, 1266x723
1266x723
>>1339296
Хаха бля ебать я лох, похоже нашел что именно триггерит чрезмерную сатурацию значений - дора включенная. Получается под дору надо отдельно 1 шаг фикслоры с дорой тренить, а потом производить все манипуляции дифференса. Но зато итт теперь знаю что дора может использоваться как дистилляторная функция.
Аноним 02/09/25 Втр 21:41:04 1339646 358
>>1339644
на пикче если че продижи с зеленой дорой и серой не дорой
Аноним 02/09/25 Втр 21:47:02 1339656 359
>>1339644
Кароче да, дора подсирала а я не заметил что она включена уже 7 конфигов подряд. Можно обратно 1e-5 шаг возвращать или даже выше.
Аноним 02/09/25 Втр 23:01:49 1339732 360
>>1339254
>Прочитал несколько раз и не догнал. Экстракт из нуба, а потом вычитание этого экстракта из модели основанной на нубе? Лучше конечно такие мувы описывать по шагам чтоб понятнее было.
Любой экстракт и любая модель. В методе с svd экстракт делается из той же самой модели, но тут ты берешь любой, или любую лору, так же ее фиксишь через 1 шаг и вычитаешь из модели. Опять же желательно понимать смысл действий, тогда таких вопросов не будет.
Еще раз, все по той же самой схеме, только просто подменяешь экстракт другим либо готовой лорой (которые прошли фикс на 1 шаге).

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

>Я давно пробовал такое по наиитию давно, но там вроде тренинг не запустился, вероятно из-за того что другой алго брал вместо локона.
Ну и ты не вычитал лору из модели, просто тренировка готовой лоры это не то. Она же активна. Надо вычитать, тогда компенсируется.

>>1339296
>Если тренировать с альфой 32 вместо дефолтной 64
Бля, куча путанной инфы, если ты через svd это тренишь - нельзя понижать альфу. Все сломается. Если не сломалось или что-то не то делаешь или альфа не применилась. Смотри входные и выходные веса, там записаны альфы. https://netron.app/

>>1339644
Дора там тоже либо вообще не нужна, либо она криво работает. Ну хотя лишней наверное не будет если ничего не проебывается.
Посмотри еще че с весами происходит если у тебя уже фикшеный формат без доры и ты включаешь дору, на одном шаге.
Аноним 02/09/25 Втр 23:25:36 1339755 361
По доре есть такая инфа https://github.com/bmaltais/kohya_ss/issues/2705
>I'm pretty sure you can change line 4209 of sd-scripts/library/train_util.py to accelerator.load_state(args.resume, strict=False) and it'll work.
!! может быть полезно чтобы корректно продолжалась тренировка любых алгоритмов.


Алсо не помню писал или нет но ффт лосс шедулить надо по таймстепам это 100%
Аноним 02/09/25 Втр 23:30:29 1339764 362
>>1339755
> ффт лосс шедулить надо по таймстепам это 100%
Не надо, ты делаешь спектральный анализ шума, а не генерации.
Аноним 03/09/25 Срд 00:34:32 1339843 363
>>1339764
В каком месте бля?
>loss = mse_complex(dfrft(model_pred.float(), 0.5), dfrft(target.float(), 0.5))
Разница между таргетом и предиктом и есть лосс по спектру генерации который на разных таймстепах должен быть разным.
Если тебя смущает то что это происходит в пространстве шума а не исходной картинки, то спектр и все его свойства зеркально соответствуют картинке.
Выделение низких частот будет фокусировать модель на низких, высокие частоты шума соответствуют высоким частотам картинки. На разных таймстепах разный диапазон критичных ошибок и диапазон невозможных для модели предсказаний на которые ее бессмысленно дрочить.
В идеале бы это логировать и добавить автоматику которая будет клампить какой-то процент ошибок по спектру, или как-то считать дисперсию ошибок, кароч там должно автоматически настраиваться и без шедулинга, интуиция тут в том чтобы модель работала всегда в диапазоне "зоны ближайшего развития" https://ru.wikipedia.org/wiki/Зона_ближайшего_развития
Аноним 03/09/25 Срд 01:38:09 1339909 364
>>1339843
> Выделение низких частот будет фокусировать модель на низких, высокие частоты шума соответствуют высоким частотам картинки.
Ещё раз - у тебя нет там картинки, у тебя шум. Высокие частоты шума не соответствуют высоким частотам картинки. Шум который ты сравниваешь, в лоссе target - это то что из генератора шума получено. Чтобы получить картинку, утрировано тебе надо вычитать аутпут модели предсказанный шум из инпута латент + шум из генератора.
Чтоб сделать то что ты хочешь надо делать шаг деноизинга в шедулере шума и сравнивать непосредственно спектры картинки, но тут ты попадёшь в похожую яму что и с wavelet - всегда будет перекос куда-то там у нас перекос потому что wavelet неравномерно декомпозицию делает и надо весами потом крутить. Тогда да, надо пердолиться с подстраиванием под timesteps на глаз. Собственно fft просто работает без пердогинга как раз потому что мы никак не взаимодействуем с картинкой и её спектрами.
Лучше альфу покрути вместо 0.5 повышай до 1.0 и дальше с шагом 0.5 иди вплоть до 5.0, если хочется какого-то другого результата.
Аноним 03/09/25 Срд 02:10:00 1339928 365
>>1339909
>Ещё раз - у тебя нет там картинки, у тебя шум.
>Чтобы получить картинку, утрировано тебе надо вычитать аутпут модели
Вычитание никак не влияет на спектр. Нет разницы в спектре между лоссом картинка - предсказание картинки и шум - предсказание шума.
Аноним 03/09/25 Срд 15:50:36 1340242 366
Как Pony6 решили проблему с ограничением в 75 токенов в SD1.5 версии?
Аноним 03/09/25 Срд 15:51:31 1340244 367
>>1339732
>Бля, куча путанной инфы, если ты через svd это тренишь - нельзя понижать альфу. Все сломается. Если не сломалось или что-то не то делаешь или альфа не применилась.
Там не просто не сломалось, там обучалось вполне корректно только мееееееедленно. Эффект как примерно взять половину от фикс лоры и половину от натренированной фикслоры. Но хуйня да.

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

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

>Любой экстракт и любая модель. В методе с svd экстракт делается из той же самой модели, но тут ты берешь любой, или любую лору, так же ее фиксишь через 1 шаг и вычитаешь из модели. Опять же желательно понимать смысл действий, тогда таких вопросов не будет.
Еще раз, все по той же самой схеме, только просто подменяешь экстракт другим либо готовой лорой (которые прошли фикс на 1 шаге).
А, я понял, ты хочешь не обучать то что было добавлено файнтюном, а обучать именно остаток базы, которая типа не обучена.
Аноним 03/09/25 Срд 15:51:46 1340245 368
Аноним 03/09/25 Срд 16:13:47 1340281 369
>>1340244
>Ощущение как будто дора создает какое-то новое подпространство на основе фикслоры и обучает уже его. При этом не теряется основная генеративная способность фикслоры.
Гопота на это ответила что у доры вес раскладывается на норму + направление где есть некий g (скаляр/вектор масштаба), который ничем не ограничивается при тренировке. В результате DoRA быстрее сходится, но и куда легче разогнать веса.
Аноним 03/09/25 Срд 16:37:38 1340310 370
>>1340281
Ну да какое-то различие присутствует от доры.
Вот обычный фикс лоры дает на выходе примерно 497 метр как и основной экстракт. Если прогонять шаг включив дору она увеличивается до 501.
Аноним 03/09/25 Срд 17:02:42 1340344 371
>>1340310
Кароче фикслора с дорой и последующий мердж с диффом дали чисто шум на выходе. Если менять фикслорудору на обычную фикслору, то результат точно такой же как дифф первый с первой фикслорой.
Аноним 03/09/25 Срд 18:04:52 1340419 372
>>1340344
Да, хуйня какая-то получается если фикслору делать на доре. Полностью ломает модель.
Аноним 03/09/25 Срд 19:10:26 1340520 373
Тред дня 4 не читал, к чему в итоге пришли? А то вы как-то много написали. Есть что-то прорывное?

Или можно по-старинке тренить лоры на адамW безо всяких загибонов по типу дор и ликорисов, и проблем не знать?
Аноним 03/09/25 Срд 19:26:48 1340532 374
>>1340520
> дор и ликорисов
Они и нужны чтобы были проблемы с которыми можно пердолиться.
Аноним 03/09/25 Срд 19:46:17 1340543 375
>>1340520
Да, пришли, можно тренить не с нуля, а с чужой модели, по сути тренирую полный файнтюн ток квантованный через свд декомпоз.
Про дору это чисто мой выебон.

>>1340419
Кароче сменил с адаптивного продижи на адам8бит, поставил 1e-4 и оно мне 50 эпох на константе с одинаковым насыщением (оно в говне, но нормальное говно) натренировало заебато. То есть похоже адаптивный оптим не может точно управлять весами фикслоры вместе с дорой и жестко переоценивает масштаб каждую эпоху.
Аноним 03/09/25 Срд 19:49:58 1340545 376
>>1340520
Лучше файн-тюна еще ничего не придумали. XL тренится на 12-13 гигах.
Аноним 03/09/25 Срд 19:54:56 1340546 377
>>1340545
>XL тренится на 12-13 гигах.
В мечтах о сладкой жизни и с болью. Я тренил на 12 гигах фул чекпоинт со всеми мокрописями чтоб ниче лишнее не вытекало из врама - медленно (потому что агрессивные настройки поментально ломают модельку), долго (6 часов на микродатасет в 10 картинок) и так себе, на экстракте в миллион раз лучше результат выходит, быстрее и удобнее.
Аноним 03/09/25 Срд 19:59:39 1340548 378
>>1340546
Не, если у тебя карта с прям 12 физическими гигами - сразу мимо. Оно с батчем 1 жрет 12.5-13 минимум.
Если хотя бы 14 - уже имеет смысл пробовать. Я на 16 гигах пока ничего лучше тюнов не видел. Экстракт близко, но все равно на уровне напердоленной доры как по мне (и хуже экстракта из тюна).
Аноним 03/09/25 Срд 20:07:22 1340550 379
>>1340548
> Не, если у тебя карта с прям 12 физическими гигами - сразу мимо. Оно с батчем 1 жрет 12.5-13 минимум.
Это на 1024, я 896 или около того ставил, такое среднее значение, не совсем 768 кал, но и не 1024. Плюс все все все существующие мокрые писи кроме разве что зеро стейджа который не смог завести адекватно.

> но все равно на уровне напердоленной доры как по мне
Вообще ни разу не похожи, смысл их сравнивать если с лорадорой у тебя нулями инициализация.
Аноним 03/09/25 Срд 20:12:16 1340552 380
>>1340550
>Плюс все все все существующие мокрые писи
На самом деле там все, что нужно - это полный фп/бф16 тренинг, кеш латентов и адафактор со всеми выключенными адаптациями в fused backwards pass. Все.

>Вообще ни разу не похожи
Ну я треню в основном стили и оцениваю по переносу этого самого стиля. И результаты экстракта и доры выглядят вот прям оче похожими, но все равно не дотягивают до тюнов.
Аноним 03/09/25 Срд 22:18:41 1340661 381
2025-09-03220943.png 84Кб, 1007x491
1007x491
>>1340244
>Там не просто не сломалось, там обучалось вполне корректно только мееееееедленно.
Ну что-то не так. Я ща проверил, в выходном файле не меняется альфа. Хотя в консоли меняется.
На пике лосс сверху - альфа/2, снизу 1:1.
С пониженной альфой генерирует не прям шум, но почти. С 1:1 все норм, не ломается.
Так что не стоит трогать альфу.

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


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

>>1340310
>Вот обычный фикс лоры дает на выходе примерно 497 метр как и основной экстракт. Если прогонять шаг включив дору она увеличивается до 501.
Что в весах на выходе? Она может или сохранить масштабные матрицы как есть, или запекать их в исходные веса. В любом случае, можешь посмотреть сами веса https://netron.app/ надо найти какой столбец/строка соответствуют одному коэффициенту и можно ручками посчитать, если понимаешь. Хотя проще наверное просто слить это все дело в одну модель, вычесть ее из исходной и в там же посмотреть нули/нормы, будет все видно.

>>1340520
>Тред дня 4 не читал, к чему в итоге пришли? А то вы как-то много написали. Есть что-то прорывное?
>Или можно по-старинке тренить лоры на адамW безо всяких загибонов по типу дор и ликорисов, и проблем не знать?
Ты можешь тренить обычную лору, только инициализируешь по новому методу, и она работает лучше дор и ликорисов.
Почти как фулл файнтюн. Было бы фулл файнтюном если объединить с ликорисами, включить в работу все оставшиеся блоки и параметры.
Лично я пока только 100% проверил на обычной лоре. Тут чел проверяет на каких-то пердольных конфигах и у него постоянно что-то ломается.
Я просто делаю только то что понимаю что делаю. И пока не разберусь досконально, делать не буду. Машоб это хуйня такая, если не по готовому пайплайну идешь и не понимаешь че происходит, обязательно залупа какая-нибудь случится.

>>1340552
>И результаты экстракта и доры выглядят вот прям оче похожими, но все равно не дотягивают до тюнов.
Ну так конвы в экстракт не включены. Если ты его обучаешь. А в чистом экстракте из фулл файнтюна все есть.
Аноним 03/09/25 Срд 22:37:52 1340686 382
>>1340661
>Ну так конвы в экстракт не включены. Если ты его обучаешь.
Смысле? Там же экстрактится кохаковский локон с конвами, в логах экстракта прямо об этом написано.
Я тренил такой же кохаковский локон, в логах тренировки точно так же написано, что конвы там билдятся и подгружаются из экстракта.
Аноним 03/09/25 Срд 22:53:43 1340704 383
>>1340686
>Я тренил такой же кохаковский локон, в логах тренировки точно так же написано, что конвы там билдятся и подгружаются из экстракта.
И у тебя есть сравнение фулл файнтюна с обучением всего экстракта с конвами?
Аноним 03/09/25 Срд 23:16:40 1340733 384
>>1340704
Сравнение какого вида? По слоям экстракта svd и тюна? Нет.
Аноним 03/09/25 Срд 23:35:36 1340757 385
>>1340245
Что они сделали в итоге?
Аноним 03/09/25 Срд 23:53:17 1340768 386
Аноним 04/09/25 Чтв 00:41:50 1340802 387
>>1340733
Когда ты говоришь что фулл файнтюн лучше, не очень понятно с чем именно ты сравниваешь.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов