Используйте свои блокноты Amazon SageMaker Studio как запланированные задания блокнотов PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Используйте свои блокноты Amazon SageMaker Studio как запланированные задания блокнотов

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

  • Регулярный вывод модели для создания отчетов
  • Масштабирование шага разработки функций после тестирования в Studio на подмножестве данных на небольшом экземпляре.
  • Переобучение и развертывание моделей с определенной частотой
  • Анализ вашей команды Создатель мудреца Амазонки использование на регулярной частоте

Раньше, когда специалисты по обработке и анализу данных хотели взять код, который они создавали в интерактивном режиме на ноутбуках, и запускать его как пакетные задания, они сталкивались с крутой кривой обучения, используя Конвейеры Amazon SageMaker, AWS Lambda, Amazon EventBridgeили другие решения которые сложны в настройке, использовании и управлении.

Доступно Задания для ноутбуков SageMaker, теперь вы можете запускать свои записные книжки как есть или в параметризованном виде всего несколькими щелчками мыши из SageMaker Studio или Лаборатория студии SageMaker интерфейс. Вы можете запускать эти блокноты по расписанию или сразу. Конечному пользователю не нужно изменять существующий код записной книжки. Когда работа будет завершена, вы сможете просмотреть заполненные ячейки записной книжки, включая любые визуализации!

В этом посте мы рассказываем, как использовать записные книжки SageMaker Studio в качестве запланированных заданий для записных книжек.

Обзор решения

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

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

Предпосылки

Чтобы использовать задания блокнота SageMaker, вам необходимо запустить приложение JupyterLab 3 JupyterServer в Studio. Для получения дополнительной информации об обновлении до JupyterLab 3 см. Просмотр и обновление версии приложения JupyterLab из консоли. Обязательно Завершите работу и обновите SageMaker Studio. для получения последних обновлений.

Чтобы определить определения заданий, которые запускают записные книжки по расписанию, вам может потребоваться добавить дополнительные разрешения для вашей роли выполнения SageMaker.

Во-первых, добавьте доверительные отношения к вашей исполнительной роли SageMaker, которые позволяют events.amazonaws.com взять на себя вашу роль:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "sagemaker.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "events.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

Кроме того, может потребоваться создать встроенную политику и прикрепить ее к роли исполнения. Приведенная ниже политика дополняет очень разрешительную AmazonSageMakerFullAccess политика. Полный и минимальный набор разрешений см. Установка политик и разрешений.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "events:TagResource",
                "events:DeleteRule",
                "events:PutTargets",
                "events:DescribeRule",
                "events:PutRule",
                "events:RemoveTargets",
                "events:DisableRule",
                "events:EnableRule"
            ],
            "Resource": "*",
            "Condition": {
              "StringEquals": {
                "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true"
              }
            }
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "events.amazonaws.com"
                }
            }
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "sagemaker:ListTags",
            "Resource": "arn:aws:sagemaker:*:*:user-profile/*/*"
        }
    ]
}

Создание задания блокнота

Чтобы использовать блокнот в качестве задания блокнота SageMaker, выберите Создание задания блокнота значку.

Используйте свои блокноты Amazon SageMaker Studio как запланированные задания блокнотов PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Кроме того, вы можете выбрать (щелкнуть правой кнопкой мыши) свою записную книжку в файловой системе и выбрать Создать задание для ноутбука.

Используйте свои блокноты Amazon SageMaker Studio как запланированные задания блокнотов PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

В Создать работу просто выберите правильный тип экземпляра для запланированного задания в зависимости от рабочей нагрузки: стандартные экземпляры, экземпляры, оптимизированные для вычислений, или экземпляры с ускоренными вычислениями, содержащие графические процессоры. Вы можете выбрать любой экземпляр, доступный для учебных заданий SageMaker. Полный список доступных экземпляров см. Цены на Amazon SageMaker.

Используйте свои блокноты Amazon SageMaker Studio как запланированные задания блокнотов PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

Используйте свои блокноты Amazon SageMaker Studio как запланированные задания блокнотов PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Параметризовать ячейки

При переносе записной книжки в производственный рабочий процесс важно иметь возможность повторно использовать одну и ту же записную книжку с разными наборами параметров для обеспечения модульности. Например, вы можете захотеть параметризовать расположение набора данных или гиперпараметры вашей модели, чтобы вы могли повторно использовать одну и ту же записную книжку для многих различных обучающих моделей. Задания блокнотов SageMaker поддерживают это с помощью тегов ячеек. Просто выберите двойной значок шестеренки на правой панели и выберите Добавить метку. Затем пометьте тег как параметры.

Используйте свои блокноты Amazon SageMaker Studio как запланированные задания блокнотов PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

По умолчанию при выполнении задания записной книжки используются значения параметров, указанные в записной книжке, но в качестве альтернативы вы можете изменить их в качестве конфигурации для задания записной книжки.

Используйте свои блокноты Amazon SageMaker Studio как запланированные задания блокнотов PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Настроить дополнительные параметры

При создании задания блокнота вы можете развернуть Дополнительные опции раздел, чтобы настроить определение вашей работы. Studio автоматически обнаружит образ или ядро, которое вы используете в своем ноутбуке, и предварительно выберет его для вас. Убедитесь, что вы подтвердили этот выбор.

Вы также можете указать переменные среды или сценарии запуска, чтобы настроить среду запуска вашего ноутбука. Полный список конфигураций см. Дополнительные параметры.

Запланируйте свою работу

Чтобы запланировать свою работу, выберите Работайте по расписанию и установите соответствующий интервал и время. Затем вы можете выбрать Работа с ноутбуком вкладка, которая видна после выбора значка дома. После загрузки блокнота выберите Определения работы ноутбука вкладку, чтобы приостановить или удалить расписание.

Используйте свои блокноты Amazon SageMaker Studio как запланированные задания блокнотов PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Пример использования

В нашем примере мы демонстрируем сквозной рабочий процесс ML, который подготавливает данные из достоверного источника, обучает обновленную модель за этот период времени, а затем выполняет вывод на основе самых последних данных для получения полезных идей. На практике вы можете запустить полный сквозной рабочий процесс или просто ввести в действие один шаг своего рабочего процесса. Вы можете запланировать Клей AWS интерактивный сеанс для ежедневной подготовки данных или запустите задание пакетного логического вывода, которое генерирует графические результаты непосредственно в вашей выходной записной книжке.

Полный блокнот для этого примера можно найти в нашем Репозиторий примеров SageMaker GitHub. Вариант использования предполагает, что мы являемся телекоммуникационной компанией, которая хочет запланировать блокнот, который прогнозирует вероятный отток клиентов на основе модели, обученной с использованием самых последних доступных данных.

Для начала мы собираем самые последние доступные данные о клиентах и ​​выполняем их предварительную обработку:

import pandas as pd
from synthetic_data import generate_data

previous_two_weeks_data = generate_data(5000, label_known=True)
todays_data = generate_data(300, label_known=False)

processed_prior_data = process_data(previous_two_weeks_data, label_known=True)
processed_todays_data = process_data(todays_data, label_known=False)

Мы обучаем нашу обновленную модель этим обновленным обучающим данным, чтобы делать точные прогнозы. todays_data:

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import f1_score, confusion_matrix, ConfusionMatrixDisplay

y = np.ravel(processed_prior_data[["Churn"]])
x = processed_prior_data.drop(["Churn"], axis=1)

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)

clf = RandomForestClassifier(n_estimators=int(number_rf_estimators), criterion="gini")
clf.fit(x_train, y_train)

Поскольку мы собираемся запланировать этот блокнот как ежедневный отчет, мы хотим зафиксировать, насколько хорошо наша обновленная модель показала себя в нашем наборе проверки, чтобы мы могли быть уверены в ее будущих прогнозах. Результаты на следующем снимке экрана взяты из нашего запланированного отчета о логических выводах.

Используйте свои блокноты Amazon SageMaker Studio как запланированные задания блокнотов PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

Используйте свои блокноты Amazon SageMaker Studio как запланированные задания блокнотов PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

После того, как записная книжка будет понята, не стесняйтесь запускать ее как эфемерное задание, используя Беги сейчас вариант, описанный ранее, или протестируйте функцию планирования.

Убирать

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

Заключение

Внедрение ноутбуков в производство с помощью заданий для ноутбуков SageMaker значительно упрощает недифференцированную тяжелую работу, которую требуют работники, работающие с данными. Независимо от того, планируете ли вы сквозные рабочие процессы машинного обучения или часть головоломки, мы рекомендуем вам запустить несколько блокнотов в производство с помощью SageMaker Studio или SageMaker Studio Lab! Чтобы узнать больше, см. Рабочие процессы на основе ноутбуков.


Об авторах

Шон МорганШон Морган является старшим архитектором решений машинного обучения в AWS. У него есть опыт работы в области полупроводников и академических исследований, и он использует свой опыт, чтобы помочь клиентам достичь своих целей в AWS. В свободное время Шон является активным участником / сопровождающим с открытым исходным кодом и руководителем специальной группы по интересам для надстроек TensorFlow.

Используйте свои блокноты Amazon SageMaker Studio как запланированные задания блокнотов PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Сумедха Свами является главным менеджером по продуктам в Amazon Web Services. Он возглавляет команду SageMaker Studio, которая встраивает ее в IDE для интерактивной обработки данных и обработки данных. Последние 15 лет он занимался созданием ориентированных на клиентов потребительских и корпоративных продуктов с использованием машинного обучения. В свободное время он любит фотографировать удивительную геологию американского юго-запада.

Используйте свои блокноты Amazon SageMaker Studio как запланированные задания блокнотов PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Эдвард Сан — старший SDE, работающий в SageMaker Studio в Amazon Web Services. Он занимается созданием интерактивного решения машинного обучения и упрощением работы с клиентами для интеграции SageMaker Studio с популярными технологиями в области обработки данных и экосистемы машинного обучения. В свободное время Эдвард любит походы, походы и рыбалку, а также любит проводить время со своей семьей.

Отметка времени:

Больше от Машинное обучение AWS