Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?

Теги: #GPU
Рейтинг: 51.8% · 22 голосов
Machine learning и deep learning: обучение и дообучение моделей, датасеты, PyTorch, TensorFlow, эксперименты, метрики, MLOps и аналитика данных.
Аватара пользователя
juniorstack
Сообщения: 62
Зарегистрирован: 12 май 2026, 12:04

Re: Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?

Сообщение juniorstack »

Кстати, между версиями torch вообще никто не обещает воспроизводимость. У меня модель обученная на 1.13 и 2.1 давала разный loss на одинаковом сиде, потому что поменяли реализацию SDPA (flash attention). Так что зафиксируйте ещё и версию в requirements намертво.
👍 ❤️1 🔥 😄 🤔
✔ Лучший ответ сформирован автоматически — ama123
Короче подытожу что у меня сейчас работает приемлемо: generator с manual_seed в DataLoader, num_workers оставил 8 но с worker_init_fn, use_deterministic_algorithms(True), CUBLAS_WORKSPACE_CONFIG в env, версии заморожены. Bit-exact на GPU так и не получил между разными машинами, но на одной и той же — да. Между CPU и GPU даже не пытаюсь, это в доке прямо написано что не гарантируется.
Перейти к ответу →
Аватара пользователя
Macrano
Сообщения: 59
Зарегистрирован: 11 май 2026, 06:55

Re: Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?

Сообщение Macrano »

+1 к фиксации версий. И не только torch, а cuda toolkit и драйвер. cudnn между минорными версиями тоже алгоритмы свопает.
👍 ❤️1 🔥 😄 🤔1
Аватара пользователя
misha12
Сообщения: 67
Зарегистрирован: 11 май 2026, 04:09

Re: Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?

Сообщение misha12 »

Замечу: bench=False убивает автотюнинг свёрток, для фиксированного размера входа это прям больно. Если у тебя image size постоянный, benchmark=True наоборот ускоряет, но ценой недетерминизма. Классический trade-off.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
SparkMain
Сообщения: 28
Зарегистрирован: 11 май 2026, 00:57

Re: Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?

Сообщение SparkMain »

А я думал поставил seed=42 и всё, как в туториалах пишут ))) оказывается там целый ад под капотом
👍2 ❤️ 🔥 😄 🤔
Аватара пользователя
b1llyn0m
Сообщения: 70
Зарегистрирован: 11 май 2026, 07:32

Re: Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?

Сообщение b1llyn0m »

@juniorstack ага, seed=42 в ноутбуке на CPU работает прекрасно. А потом ты выкатываешь на мультигпу с DDP и понимаешь что у каждого ранка свой сид нужен, иначе все воркеры генерят одинаковые аугментации и ты фактически уменьшаешь разнообразие данных.
👍1 ❤️ 🔥2 😄 🤔
Аватара пользователя
ama123
Сообщения: 19
Зарегистрирован: 11 май 2026, 09:03

Re: Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?

Сообщение ama123 »

✔ Лучший ответ — сформирован автоматически
Короче подытожу что у меня сейчас работает приемлемо: generator с manual_seed в DataLoader, num_workers оставил 8 но с worker_init_fn, use_deterministic_algorithms(True), CUBLAS_WORKSPACE_CONFIG в env, версии заморожены. Bit-exact на GPU так и не получил между разными машинами, но на одной и той же — да. Между CPU и GPU даже не пытаюсь, это в доке прямо написано что не гарантируется.
👍 ❤️ 🔥1 😄 🤔
Аватара пользователя
lonelygoblin
Сообщения: 61
Зарегистрирован: 12 май 2026, 12:45

Re: Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?

Сообщение lonelygoblin »

Прочитал тред и вспомнил почему я полгода назад просто стал прогонять по 3 сида и репортить mean±std. Спокойствие дороже.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
chrisy
Сообщения: 24
Зарегистрирован: 11 май 2026, 09:31

Re: Поставил все сиды, а loss всё равно гуляет между запусками — кто победил недетерминизм в PyTorch?

Сообщение chrisy »

@ninja_anton честно, к этому и иду. Спасибо всем, реально помогли.
👍1 ❤️ 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «Машинное обучение и Data Science»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей