"Машинное обучение"

Введение в MLOps для науки о данных

Часть непрерывной интеграции, непрерывного развития и непрерывного тестирования

Что такое MLOps?

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

Более техническое определение MLOps - это набор принципов и практик для стандартизации и оптимизации управления жизненным циклом машинного обучения.

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

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

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

Жизненный цикл машинного обучения

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

Этап 1: понимание бизнес-проблем

  • Фаза понимания бизнеса / сбора требований и планирования. мы знаем, что ни один проект не может быть успешным без тщательного планирования, и ИИ не исключение. Перед тем, как приступить к дальнейшим этапам проекта, важно знать бизнес-проблему.
  • Пример: хочет ли клиент, чтобы мы создали систему рекомендаций, обнаружение мошенничества, чат-ботов или какие-либо индивидуальные потребности. В реальном мире в первую очередь привлекаются профильные эксперты и специалисты по обработке данных, чтобы получить представление о бизнесе, проанализировать существующие данные и найти шаблоны, которые можно использовать для решения основных бизнес-проблем.

Этап 2. Сбор данных

  • Как мы знаем, в мире машинного обучения алгоритмы будут давать наилучшие результаты, когда доступны большие наборы обучающих данных.
  • Сбор данных: данные могут поступать от нескольких действий, которые могут присутствовать во многих источниках данных, таких как файлы, базы данных, веб-приложения или мобильные устройства.
  • Нам необходимо определить различные источники данных, если объем данных огромен, нам, возможно, придется также создать озеро данных.
  • Количество и качество собранных данных на этом этапе будет определять эффективность вывода.

Этап 3. Подготовка и анализ данных

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


Этап 4. Моделирование

  • На этом этапе мы начинаем с выбора модели, которая определяет тип модели или алгоритма для варианта использования. У нас есть различные модели машинного обучения, такие как модели с учителем, модели без учителя и т. Д.
  • Например: для числового прогнозирования мы можем использовать линейную регрессию, случайный лес, дерево решений и т. Д. Для задачи классификации мы можем использовать логистическую регрессию, KNN, наивный байесовский метод и т. Д. Для задач кластеризации мы можем использовать k-среднее, DBScan и др.

Этап 5. Развертывание модели

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


Этап 6. Мониторинг

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

Этап 7. Переподготовка модели

  • При настройке модели мы периодически переобучаем нашу модель на основе поступающих новых производственных данных, чтобы модель оставалась быстрой и точной.

Это все непрерывный процесс, пока новое приложение не станет живым.

Заключение:

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

Надеюсь, статья вам понравилась. Свяжитесь со мной в моих LinkedIn и twitter.

Рекомендуемые статьи

1. 8 идей для активного изучения модуля Python Collection
2. NumPy: линейная алгебра на изображениях
3. Концепции обработки исключений в Python
4. Pandas: Работа с Категориальные данные
5. Гиперпараметры: RandomSeachCV и GridSearchCV в машинном обучении
6. Полностью объясненная линейная регрессия с Python
7. Полностью объясненная логистическая регрессия с Python < br /> 8. Распределение данных с использованием Numpy с Python
9. Деревья решений против случайных лесов в машинном обучении
10. Стандартизация предварительной обработки данных с помощью Python