Skip to content
11 / 12

Воспроизводимость окружения: драйверы, CUDA и почему «у меня работало»

В ML-стеке совместимость держится на цепочке: драйвер на узле → среда выполнения контейнера с поддержкой карт → CUDA внутри образа → библиотеки → веса, и рассогласование любого звена даёт либо отказ запуска, либо тихое расхождение результатов. Практические правила. Драйвер на узле должен быть не старше требований образа — обратная совместимость идёт снизу вверх, поэтому обновляют драйверы, а не понижают CUDA в образах. Версии фиксируются целиком: не только версии пакетов, но и образ по дайджесту, потому что один и тот же тег завтра означает другое. Полная детерминированность обучения недостижима бесплатно: недетерминированные ядра и атомарные операции на карте дают расхождения при повторных запусках; включение детерминированного режима замедляет обучение, поэтому его используют для отладки и для тестов, а не постоянно. Минимальный набор для воспроизводимости эксперимента: дайджест образа, lock-файл зависимостей, зерно генератора, версия датасета, конфигурация запуска.

Воспроизводимость окружения: драйверы, CUDA и почему «у меня работало» | JScriptiser