Інформація про дані Платона.
Вертикальний пошук і штучний інтелект.

Запускайте експерименти Amazon SageMaker Autopilot безпосередньо з Amazon SageMaker Pipelines, щоб легко автоматизувати робочі процеси MLOps

Дата:

Автопілот Amazon SageMaker, сервіс машинного навчання (ML) з низьким кодом, який автоматично створює, тренує та налаштовує найкращі моделі ML на основі табличних даних, тепер інтегровано з Трубопроводи Amazon SageMaker, перша спеціально розроблена служба безперервної інтеграції та безперервної доставки (CI/CD) для ML. Це дає змогу автоматизувати наскрізний потік створення моделей ML за допомогою автопілота та інтегрувати моделі в наступні кроки CI/CD.

Наразі, щоб запустити експеримент Autopilot у Pipelines, вам потрібно побудувати робочий процес побудови моделі, написавши спеціальний код інтеграції за допомогою Pipelines Лямбда or Обробка кроки. Для отримання додаткової інформації див Перемістіть моделі Amazon SageMaker Autopilot ML від експериментів до виробництва за допомогою Amazon SageMaker Pipelines.

Завдяки підтримці автопілота як рідного кроку в Pipelines тепер ви можете додати автоматизований крок навчання (AutoMLStep) у Pipelines і запустіть експеримент із автопілотом Режим ансамблевого навчання. Наприклад, якщо ви створюєте робочий процес навчання та оцінки ML для виявлення шахрайства за допомогою Pipelines, тепер ви можете запустити експеримент Autopilot за допомогою кроку AutoML, який автоматично запускає кілька випробувань, щоб знайти найкращу модель на заданому вхідному наборі даних. . Після створення найкращої моделі за допомогою Модельний крок, його продуктивність можна оцінити на тестових даних за допомогою Крок трансформації і Крок обробки для спеціального сценарію оцінки в Pipelines. Згодом модель можна зареєструвати в реєстрі моделей SageMaker за допомогою Модельний крок у поєднанні з a Крок умови.

У цій публікації ми покажемо, як створити наскрізний робочий процес ML для навчання та оцінки моделі ML, згенерованої SageMaker, за допомогою нещодавно запущеного кроку AutoML у Pipelines і зареєструвати його в реєстрі моделей SageMaker. Модель ML із найкращою продуктивністю можна розгорнути на кінцевій точці SageMaker.

Огляд набору даних

Ми використовуємо загальнодоступні Набір даних перепису населення UCI 1994 року передбачити, чи річний дохід особи перевищує 50,000 50 доларів на рік. Це проблема бінарної класифікації; варіанти змінної цільового доходу: <=50K або >XNUMXK.

Набір даних містить 32,561 16,281 рядок для навчання та перевірки та 15 XNUMX рядок для тестування з XNUMX стовпцями кожен. Це включає демографічну інформацію про окремих осіб і class як цільовий стовпець із зазначенням класу доходу.

Назва стовпця Опис
вік безперервна
робочий клас Приватний, Self-emp-not-inc, Self-emp-inc, Федеральний уряд, Місцевий уряд, Державний уряд, Безоплатний, Ніколи не працював
fnlwgt безперервна
освіту Бакалаври, Деякі коледжі, 11-й, HS-grad, Prof-school, Assoc-acdm, Assoc-voc, 9-й, 7-8-й, 12-й, магістратури, 1-й-4-й, 10-й, докторат, 5-й-6-й, дошкільний
осв безперервна
сімейний стан Одружений-цивільна дружина, розлучений, ніколи не був одружений, окремо проживає, овдовів, одружений-відсутній, одружений-AF-дружина
окупація Технічна підтримка, Ремісничий ремонт, Інші послуги, Продажі, Екс-менеджер, Проф-спеціальність, Обробники-прибиральники, Машино-оп-інспекція, Адм-канцелярія, Фермерство-риболовля, Транспорт-переїзд, Приват-сервіс, Охоронно-серв., ЗС
відносини Дружина, Власна дитина, Чоловік, Не в родині, Інший родич, Неодружений
гонки Білий, житель азіатських островів, індіанець-ескімос, інший, чорний
секс Жінка чоловік
приріст капіталу безперервна
збиток капіталу безперервна
годин на тиждень безперервна
Батьківщина Сполучені Штати, Камбоджа, Англія, Пуерто-Ріко, Канада, Німеччина, віддалені США (Гуам-USVI тощо), Індія, Японія, Греція, Південь, Китай, Куба, Іран, Гондурас, Філіппіни, Італія, Польща, Ямайка , В’єтнам, Мексика, Португалія, Ірландія, Франція, Домініканська Республіка, Лаос, Еквадор, Тайвань, Гаїті, Колумбія, Угорщина, Гватемала, Нікарагуа, Шотландія, Таїланд, Югославія, Сальвадор, Тринадад і Тобаго, Перу, Гонконг, Голландія-Нідерланди
клас Клас доходу <=50K або >50K

Огляд рішення

Ми використовуємо конвеєри, щоб оркеструвати різні кроки трубопроводу необхідні для навчання моделі автопілота. Ми створюємо та запускаємо Експеримент з автопілотом як частину кроку AutoML, як описано в цьому посібнику.

Для цього наскрізного процесу навчання автопілоту необхідні наступні кроки:

  • Створіть і відстежуйте завдання навчання автопілота за допомогою AutoMLStep.
  • Створіть модель SageMaker за допомогою ModelStep. Цей крок отримує найкращі метадані моделі та артефакти, відтворені Autopilot на попередньому кроці.
  • Оцініть навчену модель автопілота на тестовому наборі даних за допомогою TransformStep.
  • Порівняйте результат попереднього запуску TransformStep із використанням фактичних цільових міток ProcessingStep.
  • Зареєструйте модель ML у Реєстр моделі SageMaker використання ModelStep, якщо раніше отримана метрика оцінки перевищує попередньо визначений поріг у ConditionStep.
  • Розгорніть модель ML як кінцеву точку SageMaker для цілей тестування.

архітектура

Схема архітектури нижче ілюструє різні кроки конвеєра, необхідні для упаковки всіх кроків у відтворюваний, автоматизований і масштабований конвеєр навчання SageMaker Autopilot. Файли даних зчитуються з відра S3, а кроки конвеєра викликаються послідовно.

Проходження

Ця публікація містить детальне пояснення кроків конвеєра. Ми переглядаємо код і обговорюємо компоненти кожного кроку. Щоб розгорнути рішення, зверніться до приклад блокнота, який містить покрокові інструкції щодо реалізації робочого процесу Autopilot MLOps за допомогою конвеєрів.

Передумови

Виконайте такі передумови:

Коли набір даних буде готовий до використання, нам потрібно налаштувати конвеєри, щоб створити повторюваний процес для автоматичного створення та навчання моделей ML за допомогою автопілота. Ми використовуємо SageMaker SDK щоб програмно визначати, запускати та відстежувати наскрізний навчальний конвеєр ML.

Кроки трубопроводу

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

Етап навчання AutoML

An Об'єкт AutoML використовується для визначення виконання завдання навчання Autopilot і може бути додано до конвеєра SageMaker за допомогою AutoMLStep класу, як показано в наступному коді. Необхідно вказати режим навчання ансамблю, але інші параметри можна налаштувати за потреби. Наприклад, замість того, щоб завдання AutoML автоматично виводило ML тип проблеми та об'єктивна метрика, їх можна жорстко закодувати, вказавши problem_type та job_objective параметри, передані в об’єкт AutoML.

automl = AutoML( role=execution_role, target_attribute_name=target_attribute_name, sagemaker_session=pipeline_session, total_job_runtime_in_seconds=max_automl_runtime, mode="ENSEMBLING",
)
train_args = automl.fit( inputs=[ AutoMLInput( inputs=s3_train_val, target_attribute_name=target_attribute_name, channel_type="training", ) ]
)
step_auto_ml_training = AutoMLStep( name="AutoMLTrainingStep", step_args=train_args,
)

Етап створення моделі

Крок AutoML піклується про генерацію різних кандидатів у моделі ML, їх поєднання та отримання найкращої моделі ML. Артефакти моделі та метадані зберігаються автоматично, і їх можна отримати за допомогою виклику get_best_auto_ml_model() на етапі навчання AutoML. Потім їх можна використовувати для створення моделі SageMaker як частину кроку Model:

best_auto_ml_model = step_auto_ml_training.get_best_auto_ml_model( execution_role, sagemaker_session=pipeline_session
)
step_args_create_model = best_auto_ml_model.create(instance_type=instance_type)
step_create_model = ModelStep(name="ModelCreationStep", step_args=step_args_create_model)

Пакетне перетворення та етапи оцінювання

Ми використовуємо Об'єкт трансформатор та цінності пакетний висновок на тестовому наборі даних, який потім можна використовувати для оцінювання. Вихідні прогнози порівнюються з фактичними або базовими мітками істинності за допомогою функції метрики Scikit-learn. Ми оцінюємо наші результати на основі F1 бал. Показники продуктивності зберігаються у файлі JSON, на який посилаються під час реєстрації моделі на наступному кроці.

Умовні етапи реєстрації

На цьому кроці ми реєструємо нашу нову модель автопілота в реєстрі моделей SageMaker, якщо вона перевищує попередньо визначене порогове значення метрики оцінки.

Створіть і запустіть конвеєр

Після визначення кроків ми об’єднуємо їх у конвеєр SageMaker:

pipeline = Pipeline( name="AutoMLTrainingPipeline", parameters=[ instance_count, instance_type, max_automl_runtime, model_approval_status, model_package_group_name, model_registration_metric_threshold, s3_bucket, target_attribute_name, ], steps=[ step_auto_ml_training, step_create_model, step_batch_transform, step_evaluation, step_conditional_registration, ], sagemaker_session=pipeline_session,
)

Етапи виконуються в послідовному порядку. Конвеєр виконує всі кроки для завдання AutoML, використовуючи автопілот і конвеєри для навчання, оцінки моделі та реєстрації моделі.

Ви можете переглянути нову модель, перейшовши до реєстру моделей на консолі Studio та відкривши його AutoMLModelPackageGroup. Виберіть будь-який варіант навчального завдання, щоб переглянути об’єктивні показники на Якість моделі Вкладка.

Ви можете переглянути звіт про пояснення на Пояснюваність щоб зрозуміти прогнози вашої моделі.

Щоб переглянути основний експеримент автопілота для всіх моделей, створених у AutoMLStep, перейдіть до AutoML і виберіть назву роботи.

Розгортання моделі

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

Зауважте, що цей сценарій використовується для демонстрації, але рекомендується використовувати більш надійний конвеєр CI/CD для робочого розгортання для висновків ML. Для отримання додаткової інформації див Створення, автоматизація, керування та масштабування робочих процесів машинного навчання за допомогою Amazon SageMaker Pipelines.

Підсумки

У цьому дописі описано простий у використанні конвеєрний підхід ML для автоматичного навчання табличних моделей ML (AutoML) за допомогою Autopilot, Pipelines і Studio. AutoML покращує ефективність практиків ML, прискорюючи шлях від експериментів ML до виробництва без потреби у великій експертизі ML. Ми описуємо відповідні кроки конвеєра, необхідні для створення, оцінки та реєстрації моделі ML. Почніть, спробувавши приклад блокнота для навчання та розгортання власних моделей AutoML.

Додаткову інформацію про автопілот і трубопроводи див Автоматизуйте розробку моделі за допомогою Amazon SageMaker Autopilot та Трубопроводи Amazon SageMaker.

Особлива подяка всім, хто долучився до запуску: Шенхуа Юе, Джон Хе, Ао Го, Сіньлу Ту, Тянь Цінь, Янда Ху, Жанкуй Лу та Девен Ці.


Про авторів

Яніша Ананд є старшим менеджером із продуктів у команді SageMaker Low/No Code ML, яка включає SageMaker Autopilot. Вона любить каву, залишаючись активною та проводячи час із сім’єю.

Марсело Аберле є інженером ML в AWS AI. Він допомагає Лабораторія рішень Amazon ML клієнти створюють масштабовані системи та фреймворки ML(-Ops). У вільний час він любить піші та велосипедні прогулянки в районі затоки Сан-Франциско.

Джеремі Коен є архітектором рішень з AWS, де він допомагає клієнтам створювати передові хмарні рішення. У вільний час він любить короткі прогулянки по пляжу, досліджуючи район затоки з родиною, лагодити речі по дому, ламати речі по дому та готувати барбекю.

Шенхуа Юе є інженером із розробки програмного забезпечення в Amazon SageMaker. Вона зосереджується на створенні інструментів і продуктів для клієнтів. Поза роботою вона захоплюється прогулянками на природі, йогою та пішим туризмом.

spot_img

Остання розвідка

spot_img