Советы и рекомендации по AWS Automation

Вступление

AWS Step Functions - это полностью управляемый сервис, предназначенный для координации и объединения ряда шагов вместе для создания чего-то, что называется конечным автоматом для задач автоматизации. Он поддерживает визуальные рабочие процессы, а конечные автоматы определяются как структура JSON через Amazon State Language (ASL). Кроме того, конечные автоматы можно запланировать через Amazon CloudWatch как выражение cron правила события.

В этом блоге я расскажу вам: 1.) как организовать задания по обработке данных с помощью Amazon EMR и 2.) как применить пакетное преобразование к обученной модели машинного обучения. для написания прогнозов через Amazon SageMaker. Step Functions можно интегрировать с широким спектром сервисов AWS, включая: AWS Lambda, AWS Fargate , AWS Batch, AWS Glue, Amazon ECS, Amazon SQS, Amazon SNS , Amazon DynamoDB и другие.

Пример 1. Управление заданиями по обработке данных с помощью Amazon EMR

1а.) Давайте посмотрим на наш входной образец набора данных (фиктивные данные из моей любимой видеоигры) в Amazon S3.

1b.) Затем я создам конечный автомат, который запускает кластер EMR (группу экземпляров EC2) через ASL.

1c.) Теперь мы можем выполнить некоторую обработку данных (простое разделение по столбцу), отправив задание в кластер и завершив инфраструктуру по завершении через ASL. Давайте также проверим наши выходные данные в S3.

1d.) Вот полная структура JSON ASL и визуальный снимок экрана рабочего процесса, показывающий, что происходит.

1e.) Наконец, давайте с помощью CloudWatch запланируем выполнение каждые 15 минут как простое выражение cron (0 * / 15 *? * *).

Подводя итог этому примеру, вы можете использовать Step Functions для автоматизации и планирования заданий по обработке данных. Уровень сложности обычно зависит от объема данных и может варьироваться от нескольких простых шагов на одном компьютере EC2 до параллельного распределения нескольких заданий в одном кластере или между несколькими кластерами с разными типами экземпляров. Я рекомендую включить дополнительные настройки EMR для выбранного программного обеспечения (например, YARN, Spark, Hive, Sqoop) в ASL JSON, чтобы оптимизировать производительность задания. Кроме того, разумно выбирайте количество и тип типов экземпляров EC2, чтобы сэкономить средства и время выполнения. Ваше решение в основном должно зависеть от общего объема данных, которые необходимо обработать, и типа задания (ЦП или память ограничены).

К следующему примеру…

Пример 2: Применение пакетного преобразования к данным для вывода с помощью обученной модели машинного обучения через Amazon SageMaker

2a.) Для понимания данных давайте рассмотрим необработанный помеченный (зависимая переменная - последний столбец с именем кольца) обучающий набор данных (морское ушко из репозитория машинного обучения UCI) в S3. Обученная модель предсказывает возраст морского ушка (разновидность моллюсков) по физическим измерениям.

Https://archive.ics.uci.edu/ml/datasets/abalone

2b.) Затем давайте создадим структуру ASL, запускающую задание пакетного преобразования для необработанного немаркированного (без столбца столбца) пакетного набора данных, который требует вывода через обученную модель, хранящуюся в S3. Обратите внимание, что в настоящее время вы должны прикрепить встроенную политику к роли, выбранной для конечного автомата.

2c.) Наконец, мы можем просмотреть визуальный рабочий процесс Step Functions и выходные результаты задания с добавленным столбцом оценки прогноза. Обратите внимание, что модель представляет собой конвейерную модель, которая включает предварительную обработку (одно горячее кодирование, масштабирование и т. Д.) Данных перед их отправкой в ​​алгоритм контролируемого обучения.

Таким образом, вы можете использовать Step Functions для автоматизации и планирования заданий машинного обучения (предварительная обработка, обучение, настройка, размещение модели, самообслуживание и пакетный вывод). Step Functions и интеграция SageMaker поддерживают следующие API: CreateEndpoint, CreateEndpointConfig, CreateHyperParameterTuningJob, CreateLabelingJob, CreateModel, CreateTrainingJob и CreateTransformJob.

Заключение

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