Одинаковый seed, два запуска подряд, разница в F1 два пункта. тимлид говорит руки кривые

Рейтинг: 0% · 0 голосов
Machine learning и deep learning: обучение и дообучение моделей, датасеты, PyTorch, TensorFlow, эксперименты, метрики, MLOps и аналитика данных.
Ответить
Аватара пользователя
tvictor10
Сообщения: 21
Зарегистрирован: 12 май 2026, 23:12

Одинаковый seed, два запуска подряд, разница в F1 два пункта. тимлид говорит руки кривые

Сообщение tvictor10 »

Ситуация. Дообучаю rubert-tiny2 на классификацию обращений, 40к примеров. Зафиксировал всё что можно: torch.manual_seed, numpy, random, PYTHONHASHSEED, cudnn.deterministic=True, cudnn.benchmark=False. Запускаю один и тот же скрипт два раза подряд на одной и той же арендованной A100. F1 на тесте 0.714 и 0.733.

Тимлид считает что я где-то налажал и детерминизм достижим, цитирую, за пять минут. Я уже два дня ковыряю и не понимаю откуда разброс. Кто прав?
👍2 ❤️ 🔥1 😄 🤔
✔ Лучший ответ сформирован автоматически — coldpanic
torch.use_deterministic_algorithms(True) ставил? cudnn.deterministic это только про cudnn, половина операций идёт мимо него. и переменную CUBLAS_WORKSPACE_CONFIG=:4096:8 в окружение. после этого либо станет воспроизводимо, либо торч честно кинет ошибку на недетерминированной операции и ты увидишь виновника. обычно это scatter или index_add
Перейти к ответу →
Аватара пользователя
coldpanic
Сообщения: 45
Зарегистрирован: 11 май 2026, 19:45

Re: Одинаковый seed, два запуска подряд, разница в F1 два пункта. тимлид говорит руки кривые

Сообщение coldpanic »

✔ Лучший ответ — сформирован автоматически
torch.use_deterministic_algorithms(True) ставил? cudnn.deterministic это только про cudnn, половина операций идёт мимо него. и переменную CUBLAS_WORKSPACE_CONFIG=:4096:8 в окружение. после этого либо станет воспроизводимо, либо торч честно кинет ошибку на недетерминированной операции и ты увидишь виновника. обычно это scatter или index_add
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
kingpaul
Сообщения: 57
Зарегистрирован: 11 май 2026, 12:35

Re: Одинаковый seed, два запуска подряд, разница в F1 два пункта. тимлид говорит руки кривые

Сообщение kingpaul »

dataloader с num_workers больше нуля? воркеры сидят на своих сидах, нужен worker_init_fn и generator с фиксированным сидом в самом лоадере. это пропускают примерно все
👍1 ❤️ 🔥2 😄 🤔
Аватара пользователя
chase2
Сообщения: 28
Зарегистрирован: 14 май 2026, 10:31

Re: Одинаковый seed, два запуска подряд, разница в F1 два пункта. тимлид говорит руки кривые

Сообщение chase2 »

на ампере по дефолту включён tf32 для матмулов, добавь torch.backends.cuda.matmul.allow_tf32=False. но честно, разброс в 2 пункта от tf32 не бывает, причина у тебя в другом
👍 ❤️ 🔥1 😄 🤔
Аватара пользователя
qcdeed
Сообщения: 57
Зарегистрирован: 11 май 2026, 20:16

Re: Одинаковый seed, два запуска подряд, разница в F1 два пункта. тимлид говорит руки кривые

Сообщение qcdeed »

а тест какого размера? если пара тысяч примеров, то 2 пункта F1 это может быть обычный шум, и весь спор ни о чём. запусти 10 раз с разными сидами, посчитай среднее и std. если std около 0.008, то 0.714 и 0.733 оба нормальные, просто хвосты распределения. в отчёте пиши 0.72 +- 0.01 и закрыли тему
👍2 ❤️ 🔥1 😄 🤔
Аватара пользователя
redisguru
Сообщения: 12
Зарегистрирован: 11 май 2026, 16:46

Re: Одинаковый seed, два запуска подряд, разница в F1 два пункта. тимлид говорит руки кривые

Сообщение redisguru »

тимлиду передай, что за пять минут детерминизм достигается только в sklearn на проце. на gpu атомарные операции складывают флоаты в произвольном порядке, а (a+b)+c != a+(b+c). полный детерминизм возможен, но стоит до 30% скорости и пары дней дебага. кто с гпу работал, тот в цирке не смеётся
👍 ❤️ 🔥 😄1 🤔
Аватара пользователя
ansible777
Сообщения: 46
Зарегистрирован: 11 май 2026, 10:14

Re: Одинаковый seed, два запуска подряд, разница в F1 два пункта. тимлид говорит руки кривые

Сообщение ansible777 »

у меня такая же фигня была, оказалось dropout в кастомной голове создавался до manual_seed. проверь порядок вызовов, сид должен ставиться раньше создания модели и лоадеров
👍 ❤️ 🔥 😄 🤔1
Аватара пользователя
envoywizard
Сообщения: 14
Зарегистрирован: 11 май 2026, 20:41

Re: Одинаковый seed, два запуска подряд, разница в F1 два пункта. тимлид говорит руки кривые

Сообщение envoywizard »

@redisguru, два дня на это, бл. бизнесу всё равно, 0.71 у вас или 0.73, он разницы не увидит. лучше бы данные почистил, там обычно лежат не два пункта, а десять
👍 ❤️ 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

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

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

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