Введение в AWS SageMaker.

Amazon SageMaker - это полностью управляемый сервис, который предоставляет каждому разработчику и специалисту по обработке данных возможность быстро создавать, обучать и развертывать модели машинного обучения (ML) . SageMaker снимает тяжелую нагрузку на каждом этапе процесса машинного обучения, чтобы упростить разработку высококачественных моделей.

Он может создавать модели, обученные с помощью данных, выгруженных в сегменты S3, или из потоковых источников данных, таких как сегменты Kinesis. После обучения моделей SageMaker позволяет нам развернуть их в производственной среде без каких-либо усилий.

  • Этап сборки выполняется путем подключения к другим сервисам AWS, например S3, и преобразования данных в записных книжках Amazon SageMaker.
  • Этап обучения - это использование алгоритмов и фреймворков AWS SageMaker или использование наших собственных для распределенного обучения.
  • После завершения обучения модели можно развернуть на конечных точках Amazon SageMaker для прогнозирования в реальном времени или пакетного прогнозирования.

Давайте начнем, и я буду объяснять вещи на ходу!

Шаг 1: Для создания учетной записи и информации для входа обратитесь к моему блогу на тему Создание и развертывание модели машинного обучения с помощью AWS.

Шаг 2. Откройте Консоль управления AWS и найдите Amazon SageMaker.

Шаг 3. Откройте Экземпляры записной книжки и нажмите Создать экземпляр записной книжки.

  • Появится запрос на Настройки экземпляра записной книжки. Дайте ему хорошее имя и выберите ml.t2.medium. Это самый низкий уровень, и пока он будет служить нашей цели. При работе с «настоящими» моделями мы можем выбрать более высокие. Не беспокойтесь о стоимости. AWS обещает нам платить за использование.

  • Остальное оставьте по умолчанию и двигайтесь вперед.
  • Затем нам нужно создать роль IAM для нашего Блокнота. Помните, что наши данные и модели должны находиться в только что созданной корзине S3. Итак, у записной книжки должен быть доступ к этому ведру. Нам не нужны никакие другие привилегии для Notebook.

  • AWS требуется некоторое время, чтобы подготовить Notebook. На консоли мы видим, что статус экземпляра записной книжки - «Ожидание».

  • Дайте ему поработать, пока AWS предоставляет базовый экземпляр и подготавливает его для нашей цели. Когда он будет готов, мы увидим, что консоль сообщает, что экземпляр Notebook - «InService».

  • На консоли экземпляра Notebook мы видим две ссылки в столбце Действия - Открыть Jupyter и Открыть JupyterLab.
  • Теперь мы можем создать новый файл или загрузить файлы в соответствии с нашими потребностями.
  • Давайте создадим файл ipython → нажмите «Создать» → выберите «conda_python3», так как мы будем создавать простой проект ML для нашего демонстрационного руководства. .

  • После создания и переименования значимого имени он выглядит так.

Приступим к кодированию!

Шаг 1. Импорт необходимых библиотек.

Шаг 2: Создание сегмента S3

  • SageMaker использует контейнер S3 для сброса своей модели во время работы. Также удобно выгружать данные и модель в корзину S3, когда мы обучаем модель.

  • Мы также можем просмотреть корзину S3, созданную в Консоли AWS.

  • Мы также видим, что изначально корзина S3 пуста.

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

Шаг 4: Загрузка набора данных и сохранение его в сегменте S3.

  • В этом руководстве мы сосредоточимся на сборке, обучении и развертывании с помощью AWS Sagemaker, а не на наборе данных и EDA.

Шаг 5: Обучение - Тестирование разделения и сопоставления Путь моделей в S3 [мы всегда должны указывать путь к сегменту]

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

  • Мы также можем просмотреть это в экземпляре Jupyter.

  • Мы также можем просматривать созданные папки, а также данные для обучения и тестирования в Консоли AWS.

Шаг 6. Создание моделей машинного обучения.

  • XGBoost - это встроенный алгоритм в Amazon SageMaker, поэтому мы будем использовать его в нашей демонстрации.

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

Шаг 7: Развертывание с помощью Amazon SageMaker.

  • Здесь мы использовали экземпляр ml.m4.xlarge, и это мощный экземпляр, поэтому не оставляйте его работать дольше.

Шаг 8: Прогноз тестовых данных.

Шаг 9. Оценка модели с помощью матрицы неточностей

Шаг 10. Удалите все конечные точки.

  • Все объекты, папки и все, что было создано в отношении файла модели в S3 Bucket, будет удалено, и, таким образом, Amazon не будет взимать с нас плату.

  • После удаления конечных точек мы видим, что корзина снова пуста.

Заключение :

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

Просто выполните все шаги для создания, обучения и развертывания модели машинного обучения с помощью AWS SageMaker.

Надеюсь, вам понравился этот блог! Пожалуйста, хлопните в ладоши, если вы найдете этот блог полезным. Спасибо !! :)

Где найти мой код?

GITHUB: https://github.com/SubhamIO/Build-Train-and-Deploy-ML-Models-using-AWS-Sagemaker

использованная литература

  1. Криш Наик: https://www.youtube.com/watch?v=LkR3GNDB0HI&list=PLZoTAELRMXVONh5mHrXowH6-dgyWoC_Ew&index=1
  2. Курс прикладного искусственного интеллекта
  3. https://medium.com/webstep/machine-learning-with-aws-sagemaker-e846c2070e02