Автоматизация записных книжек AWS SageMaker

Узнайте, как запланировать автоматическое выполнение записных книжек AWS SageMaker с помощью конфигураций CloudWatch, Lambda и Lifecycle

Введение

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

Существует несколько способов развертывания моделей в Sagemaker с помощью Amazon Glue, как описано здесь и здесь. Вы также можете разворачивать модели с помощью End Point API. Что, если вы не развертываете модели, а выполняете сценарий снова и снова? У SageMaker нет прямого способа автоматизировать это прямо сейчас. Кроме того, что, если вы хотите закрыть экземпляр записной книжки, как только вы закончите выполнение сценария? Это, несомненно, сэкономит вам деньги, учитывая почасовую оплату AWS за инстансы ноутбуков.

Как нам этого добиться?

Используемые дополнительные функции и сервисы AWS

  • Конфигурации жизненного цикла: конфигурация жизненного цикла предоставляет сценарии оболочки, которые запускаются только при создании экземпляра записной книжки или при его запуске. Их можно использовать для установки пакетов или настройки экземпляров записных книжек.
  • AWS CloudWatch: Amazon CloudWatch - это сервис мониторинга и наблюдения. Его можно использовать для обнаружения аномального поведения в вашей среде, установки сигналов тревоги, параллельной визуализации журналов и показателей и выполнения автоматических действий.
  • AWS Lambda: AWS Lambda позволяет запускать код без выделения серверов и управления ими. Вы платите только за потраченное время вычислений - плата не взимается, когда ваш код не запущен.

Широкие шаги, используемые для автоматизации:

  • Используйте CloudWatch для запуска выполнения, которое вызывает лямбда-функцию
  • Лямбда-функция запускает соответствующий экземпляр записной книжки.
  • Как только экземпляр записной книжки запускается, запускается конфигурация жизненного цикла.
  • Конфигурация жизненного цикла выполняет сценарий, а затем закрывает экземпляр записной книжки.

Подробные инструкции

Лямбда-функция

Мы используем лямбда-функцию для запуска экземпляра записной книжки. Допустим, лямбда-функция называется ‘test-lambda-function’. Обязательно выберите роль выполнения, у которой есть разрешения на доступ как к лямбда-выражению, так и к SageMaker.

Здесь ‘test-notebook-instance’ - это имя экземпляра записной книжки, который мы хотим автоматизировать.

Cloudwatch

  • Перейдите в Правила ›Создать правило.

  • Введите частоту обновления
  • Выберите имя лямбда-функции: ‘test-lambda-function’. Это та же функция, которую мы создали выше.

Конфигурация жизненного цикла

Теперь мы создадим конфигурацию жизненного цикла для нашего «test-notebook-instance». Назовем эту конфигурацию жизненного цикла «конфигурацией жизненного цикла тестирования».

Код:

Краткое объяснение того, что делает код:

  1. Запустите среду Python
  2. Запустите блокнот jupyter
  3. Загрузите образец сценария Python AWS с функцией автоматической остановки.
  4. Подождите 1 минуту. Может быть увеличен или уменьшен в соответствии с требованиями.
  5. Создайте задание cron для выполнения скрипта Python с автоматической остановкой.

После этого мы подключаем конфигурацию жизненного цикла к нашему ноутбуку.

Я хотел бы подключиться к LinkedIn - https://www.linkedin.com/in/taufeeqrahmani/

Посмотрите, как работают мои друзья из Data Sleek, чтобы найти решения по всем вопросам, связанным с данными.