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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 107 51 52
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к и пр)

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