Как мы внедряли менеджер ML‑экспериментов
На Хабре опубликовали статью о том, как мы в команде пришли к использованию менеджера ML‑экспериментов. Думаю, мои коллеги вспомнят этот путь длиною в годы 🥹
Краткое изложение
Когда количество попыток обучения становится большим, сложно удержать в памяти результаты и детали запуска: какие параметры модели использовались, какие версии данных применялись и к каким метрикам качества привели те или иные эксперименты. Эту проблему решает треккер экспериментов — он сохраняет всю информацию и отображает результаты в единой таблице. Но до того, как мы узнали о треккере, мы фиксировали попытки прямо на бумаге.
Какую информацию необходимо хранить об эксперименте?
Ту, которая позволит однозначно описать эксперимент, чтобы его можно было повторить и получить те же результаты, т. е. нужные метрики. Это и есть воспроизведение эксперимента. Как правило, удачный эксперимент воспроизводят на новой версии данных или, например, с другой моделью.
Зачем нужен менеджер экспериментов?
Он реализует функционал треккера — сохраняет всю необходимую информацию, достаточную для воспроизведения. Кроме того, он даёт возможность:
🔹 настраивать эксперименты по обучению и тестированию;
🔹 ставить их в очередь;
🔹 распределять ресурсы;
🔹 взаимодействовать с другими компонентами, например, с реестром данных и моделей.
Рассмотрев такие варианты, как TensorBoard, Verta AI, Weights & Biases и ClearML, мы остановились на последнем и используем его по сей день.
Напоследок — рассказ о том, как мы пробовали использовать менеджер датасетов в рамках той же платформы ClearML. Пока он не так широко применяется в нашей команде, но мы стремимся к этому.
Post #107
82