Организуйте работу конвейеров машинного обучения с помощью AWS Step Functions

Организация работы конвейеров машинного обучения с помощью AWS Step Functions

Продвинутая работа с данными и ML Ops с использованием инфраструктуры в виде кода

Фото Маркуса Винклера на Unsplash

В этой статье объясняется, как создавать и оркестрировать конвейеры машинного обучения с использованием AWS Step Functions и разворачивать их с помощью инфраструктуры в виде кода. Эта статья предназначена для инженеров данных и ML Ops, которым требуется развертывание и обновление конвейеров машинного обучения с использованием шаблонов CloudFormation. В этой статье будут предоставлены эти шаблоны и ссылка на репозиторий GitHub.

Мы можем использовать AWS Step Functions для запуска любой другой службы, включая управляемые службы от других поставщиков. Это мощный инструмент, который позволяет оркестрировать процесс обработки и преобразования данных-сервисов. В качестве примера я буду использовать AWS Glue и AWS Personalize для создания конвейера машинного обучения (ML), который можно запускать в любое необходимое время и имеет такой график:

График конвейера. Изображение автора.

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

Поэтому я думал, что, среди прочих инструментов, которые я мог бы использовать, таких как Airflow и т.д., я никогда не пробовал AWS Step Functions. Учитывая, что это собственная служба для AWS, я решил выбрать ее. Идея заключалась в том, чтобы ежедневно или при необходимости обучать ML-модель с использованием AWS Step Functions. Это гарантировало гибкую настройку для любых необходимых обновлений модели, когда мне это требуется. Преимущества использования инфраструктуры в виде кода для платформ данных неоспоримы, и я уже ранее писал об этом здесь:

Непрерывная интеграция и развертывание для платформ данных

CI/CD для инженеров данных и ML Ops

towardsdatascience.com

Я решил использовать AWS Personalize в качестве тестового средства. Эта услуга может использоваться для предоставления лучших рекомендаций товаров пользователям моего приложения. Кажется, что AWS Personalize – правильный выбор, так как вам не нужно беспокоиться о машинном обучении…