Файнтюн Qwen2.5 7B на своих данных через LoRA, какие гиперпараметры реально работают
Рейтинг: 43.9% · 3 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
Файнтюн Qwen2.5 7B на своих данных через LoRA, какие гиперпараметры реально работают
Файнтюню Qwen2.5-7B-Instruct под русскоязычную поддержку на 12к диалогов через LoRA, и упёрся в то что модель либо не учится либо забывает базу и начинает нести чушь. Конфиг сейчас такой: rank 16, alpha 32, lr 2e-4, 3 эпохи, target_modules только q_proj и v_proj. Карта одна, 4090 24гб, влезаю в bf16 с батчем 4 и grad accum 8. После обучения на тестовых вопросах модель отвечает шаблонно и теряет способность в обычный диалог. Кто реально доводил до прода такие файнтюны, какие настройки давали адекватный результат, и где я мог накосячить с данными или лром.
✔ Лучший ответ сформирован автоматически — coder_vlad
@golang23, ок давай по делу, потому что советы выше частично верные но без системы. я года полтора кручу LoRA файнтюны под русские домены, вот что реально дало результат на похожей задаче (саппорт, ~15к пар). Данные. Сначала проверь не в лр дело а в данных. Если у тебя 12к диалогов и модель отвечает шаблонно, скорее всего у тебя в датасете однотипные ответы и она просто выучила паттерн. Глянь рас…
- seniorsamurai
- Сообщения: 44
- Зарегистрирован: 15 май 2026, 19:29
Re: Файнтюн Qwen2.5 7B на своих данных через LoRA, какие гиперпараметры реально работают
это да но тогда rank 16 маловато станет, при всех модулях имеет смысл поднять до 32-64 иначе адаптер не вытянет. и alpha держи равной rank или 2*rank, не больше, иначе градиенты скачутqcdeed писал(а):бери все линейные слои: q,k,v,o,gate,up,down
- coder_vlad
- Сообщения: 72
- Зарегистрирован: 11 май 2026, 01:57
Re: Файнтюн Qwen2.5 7B на своих данных через LoRA, какие гиперпараметры реально работают
✔ Лучший ответ — сформирован автоматически
@golang23, ок давай по делу, потому что советы выше частично верные но без системы. я года полтора кручу LoRA файнтюны под русские домены, вот что реально дало результат на похожей задаче (саппорт, ~15к пар).
Данные. Сначала проверь не в лр дело а в данных. Если у тебя 12к диалогов и модель отвечает шаблонно, скорее всего у тебя в датасете однотипные ответы и она просто выучила паттерн. Глянь распределение длин ответов и уникальность первых 10 токенов. У меня было что 40 процентов ответов начинались с Здравствуйте, и модель это и заучила в первую очередь. Почистил, стало живее.
Формат. Обязательно бери ровно тот chat template что у Qwen, через tokenizer.apply_chat_template, не собирай промпт руками. И маскируй лосс на токенах юзера, считай лосс только по ответу ассистента (train_on_responses_only в unsloth или руками через labels=-100). Если ты учишь модель предсказывать и реплики юзера тоже, получаешь ровно деградацию диалога которую описываешь.
Гиперпараметры что у меня сошлись: все линейные модули, rank 32 alpha 32, lr 1e-4 с косинусом и warmup 3 процента, 2 эпохи, weight decay 0.01, batch 4 grad accum 4. lora_dropout 0.05. На 4090 влезает.
Забывание базы. То что модель тупеет в обычном диалоге это классика, лечится подмешиванием 10-20 процентов общих инструкций не из твоего домена. Я брал кусок из открытого saiga датасета, перемешивал. После этого модель и домен знает и в свободный разговор может.
И замеряй не только на трейн лоссе. Сделай хоть 50 ручных тестовых вопросов которых нет в трейне и прогоняй после каждого чекпойнта глазами. eval loss обманчив.
Данные. Сначала проверь не в лр дело а в данных. Если у тебя 12к диалогов и модель отвечает шаблонно, скорее всего у тебя в датасете однотипные ответы и она просто выучила паттерн. Глянь распределение длин ответов и уникальность первых 10 токенов. У меня было что 40 процентов ответов начинались с Здравствуйте, и модель это и заучила в первую очередь. Почистил, стало живее.
Формат. Обязательно бери ровно тот chat template что у Qwen, через tokenizer.apply_chat_template, не собирай промпт руками. И маскируй лосс на токенах юзера, считай лосс только по ответу ассистента (train_on_responses_only в unsloth или руками через labels=-100). Если ты учишь модель предсказывать и реплики юзера тоже, получаешь ровно деградацию диалога которую описываешь.
Гиперпараметры что у меня сошлись: все линейные модули, rank 32 alpha 32, lr 1e-4 с косинусом и warmup 3 процента, 2 эпохи, weight decay 0.01, batch 4 grad accum 4. lora_dropout 0.05. На 4090 влезает.
Забывание базы. То что модель тупеет в обычном диалоге это классика, лечится подмешиванием 10-20 процентов общих инструкций не из твоего домена. Я брал кусок из открытого saiga датасета, перемешивал. После этого модель и домен знает и в свободный разговор может.
И замеряй не только на трейн лоссе. Сделай хоть 50 ручных тестовых вопросов которых нет в трейне и прогоняй после каждого чекпойнта глазами. eval loss обманчив.
Re: Файнтюн Qwen2.5 7B на своих данных через LoRA, какие гиперпараметры реально работают
вот это ключевое что все забывают. без реплея модель всегда схлопывается в домен. плюс единственный нормальный совет в треде это считать лосс только по ответам. остальное вторичноcoder_vlad писал(а):подмешиванием 10-20 процентов общих инструкций не из твоего домена
Re: Файнтюн Qwen2.5 7B на своих данных через LoRA, какие гиперпараметры реально работают
а зачем вообще файнтюнить под саппорт, RAG + хороший системный промпт даёт 80 процентов результата за день работы вместо недели с тренировкой. файнтюн нужен когда у тебя стиль/формат жёсткий или domain language которого в базе нет
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
-
-
-
-
- Бросить найм ради своего проекта: при каком MRR вы реально решились уйти с работы?
10 ответов · 2040 просмотров
-
- С чего реально начать в пентесте в 2026? TryHackMe, HTB или сразу сертификаты?
12 ответов · 1917 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость