Операціоналізуйте свої ноутбуки Amazon SageMaker Studio як заплановані завдання для ноутбуків PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Операціоналізуйте свої блокноти Amazon SageMaker Studio як заплановані завдання для ноутбуків

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

  • Регулярний запуск моделі висновку для створення звітів
  • Розширення етапу розробки функцій після тестування в Studio на підмножині даних на невеликому екземплярі
  • Перенавчання та розгортання моделей на деякій каденції
  • Аналіз вашої команди Amazon SageMaker використання на звичайній каденції

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

з Завдання для блокнотів SageMaker, тепер ви можете запускати свої блокноти як є або параметризованим способом лише кількома простими клацаннями в SageMaker Studio або SageMaker Studio Lab інтерфейс. Ви можете запускати ці блокноти за розкладом або відразу. Кінцевому користувачеві не потрібно змінювати існуючий код блокнота. Після завершення роботи ви можете переглянути заповнені клітинки блокнота, включаючи будь-які візуалізації!

У цій публікації ми розповімо про те, як використовувати ваші блокноти 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. Вертикальний пошук. Ai.

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

Операціоналізуйте свої ноутбуки Amazon SageMaker Studio як заплановані завдання для ноутбуків PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

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

Операціоналізуйте свої ноутбуки Amazon SageMaker Studio як заплановані завдання для ноутбуків PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

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

Операціоналізуйте свої ноутбуки Amazon SageMaker Studio як заплановані завдання для ноутбуків PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Параметризуйте клітинки

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

Операціоналізуйте свої ноутбуки Amazon SageMaker Studio як заплановані завдання для ноутбуків PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

За замовчуванням під час запуску завдання з блокнота використовуються значення параметрів, указані в блокноті, але в якості альтернативи ви можете змінити їх як конфігурацію для свого завдання з блокнота.

Операціоналізуйте свої ноутбуки Amazon SageMaker Studio як заплановані завдання для ноутбуків PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Налаштувати додаткові параметри

Створюючи завдання блокнота, ви можете розширити Додаткові опції розділ, щоб налаштувати визначення вашої роботи. Studio автоматично визначить образ або ядро, які ви використовуєте у своєму блокноті, і попередньо вибере їх для вас. Переконайтеся, що ви підтвердили цей вибір.

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

Складіть графік роботи

Щоб запланувати роботу, виберіть Бігайте за розкладом і встановіть відповідний інтервал і час. Тоді ви можете вибрати Зошит Роботи вкладку, яку можна побачити після вибору домашньої піктограми. Після завантаження блокнота виберіть Зошит Визначення посад щоб призупинити або видалити розклад.

Операціоналізуйте свої ноутбуки Amazon SageMaker Studio як заплановані завдання для ноутбуків PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Приклад використання

У нашому прикладі ми демонструємо наскрізний робочий процес машинного навчання, який готує дані з наземного джерела істинності, навчає оновлену модель за цей період часу, а потім виконує висновок на основі найновіших даних для генерації корисної інформації. На практиці ви можете запустити повний наскрізний робочий процес або просто ввести в дію один крок робочого процесу. Ви можете запланувати Клей 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. Вертикальний пошук. Ai.

Нарешті, ви хочете записати передбачувані результати сьогоднішніх даних у базу даних, щоб можна було вживати заходів на основі результатів цієї моделі.

Операціоналізуйте свої ноутбуки Amazon SageMaker Studio як заплановані завдання для ноутбуків PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

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

Прибирати

Якщо ви дотримувалися нашого прикладу, обов’язково призупиніть або видаліть розклад роботи з ноутбука, щоб уникнути поточних витрат.

Висновок

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


Про авторів

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

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

Операціоналізуйте свої ноутбуки Amazon SageMaker Studio як заплановані завдання для ноутбуків PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Едуард Сан є старшим SDE, який працює в SageMaker Studio в Amazon Web Services. Він зосереджений на створенні інтерактивного рішення ML та спрощенні взаємодії з клієнтами для інтеграції SageMaker Studio з популярними технологіями в інженерії даних та екосистемою ML. У вільний час Едвард є великим шанувальником кемпінгу, походів і риболовлі та любить проводити час із сім’єю.

Часова мітка:

Більше від AWS Машинне навчання