Матюрин Аче
В этом посте мы собираемся ответить на эти вопросы:
- Что такое отслеживание экспериментов в машинном обучении?
- Почему важно отслеживать эксперименты?
- Как вы должны управлять/организовывать свои эксперименты по машинному обучению?
- Каков наиболее распространенный способ организации данных, пайплайна и моделей в эксперименте?
- Каковы преимущества использования Prevision.io в качестве решения для отслеживания опыта?
Что такое отслеживание экспериментов в машинном обучении?
В машинном обучении отслеживание экспериментов — это практика отслеживания важной информации на протяжении всего жизненного цикла проекта по науке о данных.
Типичный процесс разработки модели ML включает в себя сбор, подготовку данных для обучения, выбор модели и обучение модели с помощью подготовленных данных. Небольшое изменение обучающих данных, гиперпараметров модели, типа модели или кода, написанного для запуска эксперимента, может резко изменить производительность модели.
Отслеживание экспериментов — это процесс сохранения всей важной информации, связанной с экспериментами, для каждого запускаемого вами эксперимента.
Специалисты по данным обычно запускают разные версии моделей, изменяя гиперпараметры. Таким образом, получение наиболее эффективной модели на основе одной или нескольких метрик производительности является итеративным процессом. Без отслеживания экспериментов, проведенных в процессе разработки модели машинного обучения, невозможно сравнить и воспроизвести результаты разных итераций. Мы говорим об управлении версиями данных, чтобы отслеживать все протестированные наборы данных, о конвейерной версии, чтобы отслеживать все шаги, которые вы выполняете, чтобы создать свой набор данных для поездов, и об экспериментальной версии, чтобы отслеживать обучение ваших моделей, производительность, время обучения и гиперпараметры.
При отслеживании эксперимента стоит подумать о следующем:
⇒ Эти списки не являются исчерпывающими, поскольку метаданные эксперимента, которым следует приоритизировать, могут различаться в зависимости от характеристик проекта. Например, в случае проекта компьютерного зрения было бы более эффективно отслеживать визуальную информацию, такую как кривая обучения, некоторые примеры хорошо и плохо классифицированных изображений…
⇒ Настоятельно рекомендуется настроить оповещения и отслеживать данные, модели и их использование на протяжении всего жизненного цикла проекта по науке о данных. У нас будет возможность рассмотреть эту тему в следующей статье.
Почему важно отслеживать эксперименты?
Экспериментальное отслеживание позволяет специалистам по данным выявлять факторы, которые могут повлиять на производительность модели, сравнивать результаты и выбирать оптимальную версию. Очень важно оставаться организованным на протяжении всего итеративного процесса обучения, даже если ваши модели не будут запущены в производство.
«Сохраняйте все в одном месте и больше никогда не теряйте свой прогресс».
Каков наиболее распространенный способ организации данных, пайплайна и моделей в эксперименте?
Возможны несколько решений, в зависимости от ваших привычек, необходимости совместной работы, необходимости мониторинга в реальном времени, графического анализа и т. д.
- Уровень 0, самый базовый, включает использование Excel или Google SpreadSheet в качестве инструментов для отслеживания экспериментов по мере их продвижения.
- Уровень 1 состоит из отслеживания различных версий кода, используемого под вашей учетной записью Github. Для этого требуется наличие другого инструмента для управления версиями используемых наборов данных, что можно сделать с помощью Google Диска, Google Cloud Storage, Amazon S3 и т. д.
- Уровень 2 предполагает использование специализированных решений, таких как Weights & Biases, которые предлагают полностью документированную, графическую, интерактивную среду для совместной работы для отслеживания всех ваших экспериментов. Поскольку он поддерживает несколько сред, вы можете запускать свой код локально или в сторонней среде, такой как Google Colab или Kaggle.
- Уровень 3 воплощает в себе централизацию всего, что вы делаете в единой среде, от обучения до производства: это то, что предлагает Prevision.io.
Каковы преимущества использования Prevision.io в качестве решения для отслеживания опыта?
С нашей точки зрения, вот список функций, охватываемых экспериментом по отслеживанию и управлению на платформе Prevision.io.
→ Просматривайте все, что вы делаете, на центральной панели инструментов:
- Просмотр активности на полной панели экспериментов
- Управляйте построением моделей и экспериментами
- Записывайте все, что вам нужно, для каждого задания машинного обучения, которое вы выполняете (в Prevision.io или вне его).
- Отслеживайте, на каком наборе данных, параметрах и коде обучалась каждая модель.
- Организуйте все показатели, диаграммы и любые другие метаданные машинного обучения в одном месте.
- Сделайте ваши обучающие прогоны модели воспроизводимыми и сопоставимыми практически без дополнительных усилий
- Создайте автоматический отчет для документации вашего эксперимента
→ Будьте более продуктивны:
- Не тратьте время на поиск папок и таблиц с моделями или конфигами. Все легко доступно в одном месте
- Значительно ускорить процесс построения модели
- Уменьшите переключение контекста, имея все необходимое на одной панели.
- Быстро находите нужную информацию на панели инструментов, созданной для управления моделями машинного обучения.
- Отлаживайте и сравнивайте свои модели и эксперименты без лишних усилий
- Использовать код (Python/R SDK) или не использовать код (пользовательский интерфейс)
→ Сосредоточьтесь на машинном обучении: (мы управляем прослеживаемостью)
- Предлагайте специальные модули для визуализации, текстовых и табличных данных
- Помогите своей команде начать работу с превосходными примерами, документацией и командой поддержки, готовой помочь в любое время.
- Знайте, когда ваши пробежки терпят неудачу, и немедленно реагируйте
- Не запускайте эксперименты повторно, потому что вы забыли отслеживать параметры. Сделайте эксперименты воспроизводимыми и проведите их один раз
→ Функции совместной работы и инструменты управления проектами:
- Поделитесь своими работами с вашей командой и перестаньте дублировать дорогостоящие тренировочные прогоны
- Сократите непродуктивные встречи, делясь результатами, информационными панелями или журналами по ссылке.
→ Масштабируемое решение:
- Используйте вычислительные ресурсы более эффективно
→ Создавайте воспроизводимые, совместимые и прослеживаемые модели:
- Сделайте каждое задание машинного обучения воспроизводимым. Следите за всем, что вам нужно
- Имейте все резервные копии и доступ из любого места даже спустя годы
- Знайте, кто обучал модель, на каком наборе данных, коде и параметрах. Делайте это для каждой модели, которую вы строите
- Соблюдайте требования, записывая все, что происходит при разработке вашей модели.
→ Сосредоточьтесь на всем жизненном цикле процесса машинного обучения:
- Возможность включения внешних моделей, которые можно интегрировать с любой библиотекой или языком машинного обучения.
- Не требуется дополнительное программное обеспечение или системы, такие как контейнеры, Prevision.io сделает это за вас
Эксперимент по отслеживанию в Prevision.io будет подробно рассмотрен в картинках в будущих статьях этой серии сообщений в блоге.
Заключение
В этом первом сообщении в блоге я хотел познакомить вас с предметом отслеживания экспериментов, ответив на эти простые вопросы:
- Что такое отслеживание экспериментов в машинном обучении?
- Почему важно отслеживать эксперименты?
- Как вы должны управлять/организовывать свои эксперименты по машинному обучению?
- Каков наиболее распространенный способ организации данных, пайплайна и моделей в эксперименте?
Спасибо за прочтение.
Первоначально опубликовано на https://content.prevision.io.