В чем заключается процесс машинного обучения на практике

В прошлый раз мы говорили о принципах MLOps. В этой статье пойдет речь о процессе создания ПО, связанное разработкой моделей машинного обучением (Machine Learning). Этот процесс включает три главных ипостаси: данные, ML-модель, код. Отсюда возникают, три стадии разработки модели машинного обучения: обработка данных, конструирование модели, внедрение модели.

Обработка данных

Первый шаг, предпринимаемый в рамках Data Science, — это получение и подготовки данных. В основном, данные берутся из различных источников самых разных форматов. Получение данных — это итеративный и гибкий процесс изучения, объединения, подготовки и преобразования исходных данных в результирующий датасет с целью последующей интеграции, анализа и использования в качестве машинного обучения или Business intelligence (BI). Несмотря на то, что подготовка данных — это промежуточная стадия во всём этом цикле, время и ресурсы, которые на неё тратятся, дорогостоящие. Это очевидно, ведь данных дисциплины Data Science не существовало бы вовсе. Неправильная подготовка данных может стоить многого, например, ошибки в файлах могут привести к остановке обучения (ситуация ухудшается, если модель не была сохранена).

Разработка и внедрение ML-решений

Код курса
MLOPS
Ближайшая дата курса
1 июля, 2024
Продолжительность
24 ак.часов
Стоимость обучения
54 000 руб.

Подготовка данных включает последовательность операций, применяемые к заданным данным, для формирования датасетов. Эти операции следующие:

  1. Сбор данных с помощью различных инструментов (Python-скрипты, библиотеки Selenium, Beautiful Soup, Scrapy, готовые датасеты Kaggle) и формирование их в форматы (CSV, JSON, txt, parquet).
  2. Оценка данных подразумевает изучение содержимого. Результатом этого шагая является определение метаданных, например, минимальное, максимальное и среднее значение.
  3. Предобработка и очистка данных необходима для преобразования данных к нужному виду и исправления ошибок. Здесь также требуется определить, что делать с пустыми значениями, например, выкинуть их или приравнять к среднему.
  4. Маркировка данных, в котором данные ассоциируются к некоторому атрибуту (в NLP это может быть расстановка частей речи).
  5. Разделение данных на тренировочную, валидационную и тестовую выборки для последующего машинного обучения.

Конструирование модели

В основе рабочего процесса, который создается вокруг Machine Learning, является обученная модель на основе некоторых алгоритмов (или архитектуры). Конструирование модели можно разбить на этапы:

  1. Обучение модели, когда применяется некий алгоритм (классический или нейросетевой) на тренировочных данных. Здесь также происходит тонкая настройка модели: подбор признаков и настройка гиперпараметров.
  2. Оценка модели на валидационной выборке. Здесь рассчитывается точность на основе заданных метрик.
  3. Тестирование модели на тестовой выборке, которую модель “не видела” для проверки готовности её внедрения в информационные системы.
  4. Сборка модели, когда её преобразуют в необходимый формат (PMML, PFA или ONNX), которую затем будут использовать пользователи.

Внедрение модели

Как только была получена модель, её нужно внедрить в информационную систему (десктопное, мобильное или веб-приложение). Эта система должна генерировать вектор данных, который подается на вход модели, генерирующая в свою очередь выходной вектор предсказаний. Данный этап включает следующие операции:

  1. Подача модели (model serving) собственно и есть процесс внедрения модели.
  2. Мониторинг модели требуется для отслеживания производительности модели, которая работает на реальных данных. Ясно, что наблюдаемые девиации являются сигналом к тому, что нужна новая модель.
  3. Логгирование модели служит для создания отчетов о работе модели.

Больше подробностей о процессе разработки вы узнаете на наших образовательных курсах в лицензированном учебном центре обучения и повышения квалификации руководителей и ИТ-специалистов (менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data) в Москве:

Источники
  1. https://ml-ops.org/content/end-to-end-ml-workflow

Добавить комментарий

Поиск по сайту