В прошлый раз мы говорили о принципах MLOps. В этой статье пойдет речь о процессе создания ПО, связанное разработкой моделей машинного обучением (Machine Learning). Этот процесс включает три главных ипостаси: данные, ML-модель, код. Отсюда возникают, три стадии разработки модели машинного обучения: обработка данных, конструирование модели, внедрение модели.
Обработка данных
Первый шаг, предпринимаемый в рамках Data Science, — это получение и подготовки данных. В основном, данные берутся из различных источников самых разных форматов. Получение данных — это итеративный и гибкий процесс изучения, объединения, подготовки и преобразования исходных данных в результирующий датасет с целью последующей интеграции, анализа и использования в качестве машинного обучения или Business intelligence (BI). Несмотря на то, что подготовка данных — это промежуточная стадия во всём этом цикле, время и ресурсы, которые на неё тратятся, дорогостоящие. Это очевидно, ведь данных дисциплины Data Science не существовало бы вовсе. Неправильная подготовка данных может стоить многого, например, ошибки в файлах могут привести к остановке обучения (ситуация ухудшается, если модель не была сохранена).
Разработка и внедрение ML-решений
Код курса
MLOPS
Ближайшая дата курса
10 марта, 2025
Продолжительность
24 ак.часов
Стоимость обучения
54 000 руб.
Подготовка данных включает последовательность операций, применяемые к заданным данным, для формирования датасетов. Эти операции следующие:
- Сбор данных с помощью различных инструментов (Python-скрипты, библиотеки Selenium, Beautiful Soup, Scrapy, готовые датасеты Kaggle) и формирование их в форматы (CSV, JSON, txt, parquet).
- Оценка данных подразумевает изучение содержимого. Результатом этого шагая является определение метаданных, например, минимальное, максимальное и среднее значение.
- Предобработка и очистка данных необходима для преобразования данных к нужному виду и исправления ошибок. Здесь также требуется определить, что делать с пустыми значениями, например, выкинуть их или приравнять к среднему.
- Маркировка данных, в котором данные ассоциируются к некоторому атрибуту (в NLP это может быть расстановка частей речи).
- Разделение данных на тренировочную, валидационную и тестовую выборки для последующего машинного обучения.
Конструирование модели
В основе рабочего процесса, который создается вокруг Machine Learning, является обученная модель на основе некоторых алгоритмов (или архитектуры). Конструирование модели можно разбить на этапы:
- Обучение модели, когда применяется некий алгоритм (классический или нейросетевой) на тренировочных данных. Здесь также происходит тонкая настройка модели: подбор признаков и настройка гиперпараметров.
- Оценка модели на валидационной выборке. Здесь рассчитывается точность на основе заданных метрик.
- Тестирование модели на тестовой выборке, которую модель “не видела” для проверки готовности её внедрения в информационные системы.
- Сборка модели, когда её преобразуют в необходимый формат (PMML, PFA или ONNX), которую затем будут использовать пользователи.
Внедрение модели
Как только была получена модель, её нужно внедрить в информационную систему (десктопное, мобильное или веб-приложение). Эта система должна генерировать вектор данных, который подается на вход модели, генерирующая в свою очередь выходной вектор предсказаний. Данный этап включает следующие операции:
- Подача модели (model serving) собственно и есть процесс внедрения модели.
- Мониторинг модели требуется для отслеживания производительности модели, которая работает на реальных данных. Ясно, что наблюдаемые девиации являются сигналом к тому, что нужна новая модель.
- Логгирование модели служит для создания отчетов о работе модели.
Больше подробностей о процессе разработки вы узнаете на наших образовательных курсах в лицензированном учебном центре обучения и повышения квалификации руководителей и ИТ-специалистов (менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data) в Москве: