Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?
Рейтинг: 51.8% · 22 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
- vadim_daemon
- Сообщения: 3
- Зарегистрирован: Пн май 25, 2026 12:58 pm
Re: Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?
Кстати, между версиями torch вообще никто не обещает воспроизводимость. У меня модель обученная на 1.13 и 2.1 давала разный loss на одинаковом сиде, потому что поменяли реализацию SDPA (flash attention). Так что зафиксируйте ещё и версию в requirements намертво.
✔ Лучший ответ сформирован автоматически — ios_dev
Вот это и есть главная боль. Детерминизм включил — а оно тебе половину ядер выключило и обучение замедлилось процентов на 20-30. У меня resnet50 с deterministic просел с 1.4 it/s до 1.05. Не всегда оно того стоит.
- tcploop1339
- Сообщения: 29
- Зарегистрирован: Пн май 11, 2026 1:27 am
- roman_ml29
- Сообщения: 4
- Зарегистрирован: Пн май 11, 2026 4:36 am
Re: Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?
Замечу: bench=False убивает автотюнинг свёрток, для фиксированного размера входа это прям больно. Если у тебя image size постоянный, benchmark=True наоборот ускоряет, но ценой недетерминизма. Классический trade-off.
- arseny_cache
- Сообщения: 3
- Зарегистрирован: Вс май 24, 2026 3:35 am
- jscode1641
- Сообщения: 32
- Зарегистрирован: Ср май 13, 2026 9:49 am
Re: Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?
@ai_enjoyer ага, seed=42 в ноутбуке на CPU работает прекрасно. А потом ты выкатываешь на мультигпу с DDP и понимаешь что у каждого ранка свой сид нужен, иначе все воркеры генерят одинаковые аугментации и ты фактически уменьшаешь разнообразие данных.
Re: Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?
Короче подытожу что у меня сейчас работает приемлемо: generator с manual_seed в DataLoader, num_workers оставил 8 но с worker_init_fn, use_deterministic_algorithms(True), CUBLAS_WORKSPACE_CONFIG в env, версии заморожены. Bit-exact на GPU так и не получил между разными машинами, но на одной и той же — да. Между CPU и GPU даже не пытаюсь, это в доке прямо написано что не гарантируется.
- roman_sigma
- Сообщения: 13
- Зарегистрирован: Пн май 11, 2026 2:24 am
Re: Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?
@senior_burnout честно, к этому и иду. Спасибо всем, реально помогли.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей