AI CONSULTING

Почему управление экспериментами - ключ к успеху в науке о данных

Если вы осознаете его преимущества, вы воспользуетесь им сегодня.

Чтобы создать продукт машинного обучения или машинного обучения, вы должны обучить большое количество моделей с различными конфигурациями параметров. Эти модели обучаются с использованием обучающего набора данных, который со временем развивается. Показатели производительности также можно изменять в соответствии с различными бизнес-требованиями. Тем не менее, специалист по данным или инженер по машинному обучению должен управлять этим сложным процессом и всегда иметь возможность развернуть лучшую модель, подходящую для каждого сценария. Необходима технология, которая помогает нам управлять этим процессом.



При разработке программного обеспечения технология git вместе с различными структурами рабочего процесса используются для отслеживания изменений кода и управления версиями программного обеспечения. Эта технология ускоряет процесс разработки и позволяет нам легко сотрудничать. Однако у нас до сих пор нет хорошо адаптированной системы управления машинным обучением, в основном из-за ее сложности.

В контексте машинного обучения мы часто используем «эксперимент» вместо «версии», который используется при разработке программного обеспечения. Эксперимент имеет более широкое определение по сравнению с версией. Эксперимент - это серия исследовательских и опытно-конструкторских задач для обучения модели, которая может потерпеть неудачу или добиться успеха. Эксперимент отмечен большим количеством артефактов, таких как файлы журналов, модели и отчеты о производительности. Система управления экспериментами или EMS - это система управления версиями в контексте машинного обучения. В этой статье вы найдете ответы на такие вопросы, как «Зачем нам нужна система управления экспериментами?» или «Каковы критерии полезной EMS?».

Эксперимент - это серия исследовательских и опытно-конструкторских задач для обучения модели, которая может потерпеть неудачу или добиться успеха. Эксперимент отмечен большим количеством артефактов, таких как файлы журналов, модели машинного обучения и отчеты о производительности.

- Зачем нужна система управления экспериментом?

С точки зрения команды разработчиков

Эксперимент может быть неудачным или удачным. Это первое различие между разработкой программного обеспечения и машинным обучением. Команде машинного обучения необходимо провести большое количество экспериментов, чтобы построить модель машинного обучения, соответствующую критериям приемлемости. Эти эксперименты должны быть записаны для дальнейшего анализа или для совместного использования в команде. EMS не только помогает инженерам, но и помогает менеджерам отслеживать прогресс разработки.

С точки зрения продукта команды

Эксперимент связан с артефактами, такими как модель машинного обучения, и большим количеством метаданных, включая показатели производительности. Это помогает восстанавливать прошлые модели по запросам, поступающим от продуктовой группы. Например, иногда случается, что развернутая модель не работает для пользователей, как планировалось. В этом случае команда разработчиков должна иметь возможность получить предыдущую функциональную модель и развернуть ее. В этих чрезвычайных ситуациях нет времени проводить новый эксперимент.

Ключ к успеху в создании продукта машинного обучения - это систематически экспериментировать с различными гипотезами и постоянно извлекать уроки из прошлого, чтобы лучше понимать проблему.

- Каковы критерии полезной системы управления экспериментом?

Базовая EMS в машинном обучении должна иметь возможность архивировать модели вместе с их показателями производительности. Кроме того, он должен позволять пользователям искать среди моделей. Как видите, основные функции в основном относятся к обучению моделей. Однако усовершенствованная EMS должна отслеживать изменения во всем конвейере и даже помогать вам автоматизировать эксперименты. Эксперимент должен быть воспроизводимым. Это один из основных принципов науки. Если решение EMS не отслеживает изменения во всем конвейере, оно вряд ли позволит вам воспроизвести эксперимент.

В последние годы было разработано несколько решений EMS, таких как MLflow, Нептун или Гильдия. Поскольку не существует единого решения, подходящего для всех, вам следует определить потребности в разработке и соответственно выбрать решение EMS. Например, если ваши ежедневные задачи включают в себя множество исследовательских работ и вам необходимо тесно сотрудничать в рамках команды, Нептун может работать для вас лучше. Или, если вам нужна EMS для автоматизации настройки гиперпараметров, вы можете использовать Guild.

- Последние слова

В наши дни большинство решений EMS работают как оболочка поверх вашего кода. Вот почему вам просто нужно добавить несколько строк кода в свои скрипты и начать пользоваться этими сервисами. Однако более важным моментом является их правильное использование. Решение EMS может быть источником путаницы, а не продуктивности, если вы не используете его правильно, подобно системам контроля версий при разработке программного обеспечения.

В науке о данных, как и в других областях науки, вам необходимо принять научный рабочий процесс. Научный рабочий процесс включает в себя следующие шаги: [1] выдвинуть гипотезу для построения решения, [2] запустить воспроизводимый эксперимент для проверки гипотезы, [3] проанализировать результаты и извлечь уроки из прошлого, [4] выдвинуть новую гипотезу, которая делает вас на шаг ближе к целям и [5] итеративно проводит этот процесс до тех пор, пока не будут выполнены основные требования. Решение EMS - важный инструмент для реализации этого рабочего процесса в науке о данных.

Спасибо за прочтение!

Если вам понравился этот пост и вы хотите меня поддержать…

  • Подписывайтесь на меня на Medium!
  • Посмотрите мои книги на Amazon!
  • Станьте участником Medium!
  • Присоединяйтесь к Linkedin!
  • Подписывайтесь на меня в Twitter!