Модель в проде даёт разные предсказания на одном входе, кто виноват
Рейтинг: 30.1% · 4 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
Модель в проде даёт разные предсказания на одном входе, кто виноват
Модель в проде на абсолютно одинаковом входе иногда выдаёт чуть разные числа, и заказчик это поймал в логах. Классификатор, torch 2.3, инференс на GPU. Один и тот же запрос два раза подряд, и в третьем знаке после запятой расхождение, из-за чего на границе порога класс прыгает. seed зафиксировал, model.eval() стоит. Откуда берётся недетерминизм если веса не меняются и dropout выключен?
✔ Лучший ответ сформирован автоматически — terraform_dev
kernel_veteran писал(а):станет медленнее но воспроизводимо надо добавить что use_deterministic_algorithms(True) на некоторых операциях просто кинет ошибку RuntimeError что детерминированной реализации нет, например на scatter_add или некоторых пулингах. тогда либо CUBLAS_WORKSPACE_CONFIG=:4096:8 в окружении выставляй, либо переписывай проблемный кусок. так что бесплатно щёлкнуть флажок не…
- kernel_veteran
- Сообщения: 63
- Зарегистрирован: 11 май 2026, 06:09
Re: Модель в проде даёт разные предсказания на одном входе, кто виноват
GPU это сам по себе источник. cudnn выбирает алгоритмы свёрток по бенчмарку, и порядок суммирования флоатов на параллельных ядрах не гарантирован. поставь torch.use_deterministic_algorithms(True) и torch.backends.cudnn.deterministic=True, benchmark=False. станет медленнее но воспроизводимо.
Re: Модель в проде даёт разные предсказания на одном входе, кто виноват
@Planed, а батчинг у тебя есть? если на проде динамический батч и твой запрос то один едет, то склеен с другими, то паддинг и порядок редукции меняется, и вуаля третий знак пляшет. очень частая причина, про неё все забывают. проверь не зависит ли выход от размера батча.
Re: Модель в проде даёт разные предсказания на одном входе, кто виноват
@Planed, в третьем знаке расхождение и из-за этого класс прыгает... так у тебя проблема не в недетерминизме а в том что порог стоит ровно на скоплении примеров. почини калибровку и мёртвую зону сделай, и плевать на шум в 1e-3.
Re: Модель в проде даёт разные предсказания на одном входе, кто виноват
вот это в точку. у нас ровно так и было на triton с dynamic batching. один и тот же вход в батче размера 1 и в батче размера 8 давал расхождение начиная с 4-5 знака, потому что matmul по-разному раскладывается на тензорных ядрах. лечится либо фиксацией max_batch=1 для критичных запросов, либо, что правильнее, не вешать бизнес-логику на сырой флоат у границы.jpearce писал(а):если на проде динамический батч и твой запрос то один едет, то склеен с другими
- terraform_dev
- Сообщения: 5
- Зарегистрирован: 15 май 2026, 21:26
Re: Модель в проде даёт разные предсказания на одном входе, кто виноват
✔ Лучший ответ — сформирован автоматически
надо добавить что use_deterministic_algorithms(True) на некоторых операциях просто кинет ошибку RuntimeError что детерминированной реализации нет, например на scatter_add или некоторых пулингах. тогда либо CUBLAS_WORKSPACE_CONFIG=:4096:8 в окружении выставляй, либо переписывай проблемный кусок. так что бесплатно щёлкнуть флажок не выйдет, готовься повозиться. и tf32 не забудь выключить, allow_tf32=False для matmul и cudnn, иначе он сам режет точность ради скорости и это тоже источник пляски в младших знаках. у нас после полного набора (deterministic algos, benchmark off, tf32 off, фикс размера батча) расхождение ушло в ноль бит в бит между запусками. но инференс просел процентов на 15 по латенси, так что взвесь надо ли оно тебе или проще порог починить.kernel_veteran писал(а):станет медленнее но воспроизводимо
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
-
- Джуны которые не умеют дебажить — это AI виноват или мы как менторы облажались?
16 ответов · 1369 просмотров
-
-
-
-
- Zigbee устройства отваливаются пачками — оказалось виноват USB3 и SSD-корпус
12 ответов · 574 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость