Почему результаты обучения PyTorch не воспроизводятся даже с фиксированным seed
Рейтинг: 40.9% · 8 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
Почему результаты обучения PyTorch не воспроизводятся даже с фиксированным seed
Зафиксировал все сиды (torch, numpy, random), но два запуска одного и того же обучения дают разный loss уже к 100 шагу, расхождение в третьем знаке растет. CUDA, A100, torch 2.5. Поставил seed везде, а детерминизма нет. Кто победил эту дичь полностью, не теряя слишком много скорости?
✔ Лучший ответ сформирован автоматически — depechie
одного сида мало, там целый ритуал. вот что реально нужно на cuda. torch.manual_seed и cuda.manual_seed_all, numpy, random, плюс PYTHONHASHSEED через env до старта питона. worker_init_fn в даталоадере и generator у DataLoader, иначе воркеры шафлят по своему и порядок батчей плывет. это часто и есть твой источник расхождения на 100 шаге, не сами кернелы. torch.use_deterministic_algorithms(True) и …
Re: Почему результаты обучения PyTorch не воспроизводятся даже с фиксированным seed
✔ Лучший ответ — сформирован автоматически
одного сида мало, там целый ритуал. вот что реально нужно на cuda.
torch.manual_seed и cuda.manual_seed_all, numpy, random, плюс PYTHONHASHSEED через env до старта питона.
worker_init_fn в даталоадере и generator у DataLoader, иначе воркеры шафлят по своему и порядок батчей плывет. это часто и есть твой источник расхождения на 100 шаге, не сами кернелы.
torch.use_deterministic_algorithms(True) и CUBLAS_WORKSPACE_CONFIG=:4096:8 в окружении, иначе cublas кидает ошибку или молча недетерминирует.
и cudnn.benchmark=False, cudnn.deterministic=True.
после этого расхождения уйдут, но готовься что часть кернелов сядет на медленный детерминированный путь, у меня на резнете было процентов 15 просадки. если amp/bf16 еще и mixed precision добавляет шум через порядок редукций.
и отдельно. если у тебя multi-gpu с ddp то all-reduce порядок и nccl могут давать копеечный разброс который копится. на одной карте сначала добейся детерминизма, потом масштабируй.
torch.manual_seed и cuda.manual_seed_all, numpy, random, плюс PYTHONHASHSEED через env до старта питона.
worker_init_fn в даталоадере и generator у DataLoader, иначе воркеры шафлят по своему и порядок батчей плывет. это часто и есть твой источник расхождения на 100 шаге, не сами кернелы.
torch.use_deterministic_algorithms(True) и CUBLAS_WORKSPACE_CONFIG=:4096:8 в окружении, иначе cublas кидает ошибку или молча недетерминирует.
и cudnn.benchmark=False, cudnn.deterministic=True.
после этого расхождения уйдут, но готовься что часть кернелов сядет на медленный детерминированный путь, у меня на резнете было процентов 15 просадки. если amp/bf16 еще и mixed precision добавляет шум через порядок редукций.
и отдельно. если у тебя multi-gpu с ddp то all-reduce порядок и nccl могут давать копеечный разброс который копится. на одной карте сначала добейся детерминизма, потом масштабируй.
Re: Почему результаты обучения PyTorch не воспроизводятся даже с фиксированным seed
вот это недооценено сильно. у меня именно даталоадер был виноват, num_workers=8 и каждый со своим рандомом аугментаций. поставил generator и сид воркерам, loss стал бит-в-бит. кернелы были вообще ни при чемdepechie писал(а):worker_init_fn в даталоадере и generator у DataLoader, иначе воркеры шафлят по своему
- radiomaker
- Сообщения: 27
- Зарегистрирован: 24 май 2026, 00:35
- silentsegfault
- Сообщения: 10
- Зарегистрирован: 18 май 2026, 21:12
Re: Почему результаты обучения PyTorch не воспроизводятся даже с фиксированным seed
@py_wizard, bf16 сам по себе недетерминизма не добавляет если алгоритмы детерминированные, добавляет именно порядок суммирования в редукциях. не вали все на mixed precision
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
- Почему обучение PyTorch не воспроизводится даже с фиксированным seed на одной и той же GPU
8 ответов · 4 просмотров
-
-
- Холивар синтетические данные для обучения это будущее или костыль который убьёт модели
7 ответов · 3 просмотров
-
- Потерял неделю из-за невоспроизводимого обучения, у всех так с недетерминизмом в torch
7 ответов · 0 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя