Унифицированная подготовка данных, обучение моделей и развертывание с помощью Amazon SageMaker Data Wrangler и Amazon SageMaker Autopilot — часть 2 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Унифицированная подготовка данных, обучение модели и развертывание с помощью Amazon SageMaker Data Wrangler и Amazon SageMaker Autopilot — часть 2

В зависимости от качества и сложности данных специалисты по данным тратят от 45 до 80% своего времени на задачи по подготовке данных. Это означает, что подготовка и очистка данных отнимают драгоценное время от реальной работы по науке о данных. После того, как модель машинного обучения (ML) обучена с использованием подготовленных данных и готова к развертыванию, специалистам по данным часто приходится переписывать преобразования данных, используемые для подготовки данных для вывода ML. Это может увеличить время, необходимое для развертывания полезной модели, которая может делать выводы и оценивать данные из их необработанной формы и формы.

В части 1 этой серии мы продемонстрировали, как Data Wrangler позволяет унифицированная подготовка данных и обучение модели опыт работы с Amazon SageMaker Автопилот всего за несколько кликов. Во второй и последней части этой серии мы сосредоточимся на функции, которая включает и повторно использует Обработчик данных Amazon SageMaker преобразований, таких как вменитель отсутствующих значений, порядковые или одноразовые кодировщики и многое другое, а также модели Autopilot для вывода ML. Эта функция обеспечивает автоматическую предварительную обработку необработанных данных с повторным использованием преобразований функции Data Wrangler во время вывода, что еще больше сокращает время, необходимое для развертывания обученной модели в рабочей среде.

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

Data Wrangler сокращает время сбора и подготовки данных для машинного обучения с недель до минут, а Autopilot автоматически создает, обучает и настраивает лучшие модели машинного обучения на основе ваших данных. С помощью Autopilot вы по-прежнему сохраняете полный контроль и видимость своих данных и модели. Обе услуги созданы специально для того, чтобы повысить продуктивность специалистов по машинному обучению и ускорить окупаемость.

На следующей диаграмме показана архитектура нашего решения.

Предпосылки

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

Экспорт и обучение модели

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

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

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

Обратите внимание, что в настоящее время эта функция поддерживается только для потоков Data Wrangler, которые не используют объединение, группировку, конкатенацию и преобразования временных рядов.

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

  1. Выберите знак «плюс» рядом с Значения шкалы узел и выберите Модель поезда.
  2. Что касается Местоположение Амазон S3укажите Простой сервис хранения Amazon (Amazon S3), куда SageMaker экспортирует ваши данные.
    Если по умолчанию указан путь к корню корзины, Data Wrangler создает в нем уникальный подкаталог экспорта — вам не нужно изменять этот корневой путь по умолчанию, если вы этого не хотите. Autopilot использует это расположение для автоматического обучения модели, экономя ваше время от необходимости определять выходное местоположение потока Data Wrangler, а затем определять входное местоположение обучающих данных Autopilot. Это обеспечивает более плавный опыт.
  3. Выберите Экспорт и обучение для экспорта преобразованных данных в Amazon S3.
    Унифицированная подготовка данных, обучение моделей и развертывание с помощью Amazon SageMaker Data Wrangler и Amazon SageMaker Autopilot — часть 2 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
    После успешного экспорта вы будете перенаправлены на Создать автопилотный эксперимент страница, с Входные данные Местоположение S3 уже заполнено для вас (оно было заполнено по результатам предыдущей страницы).
  4. Что касается Название эксперимента, введите имя (или оставьте имя по умолчанию).
  5. Что касается цель, выберите Результат как столбец, который вы хотите предсказать.
  6. Выберите Далее: Метод обучения.
    Унифицированная подготовка данных, обучение моделей и развертывание с помощью Amazon SageMaker Data Wrangler и Amazon SageMaker Autopilot — часть 2 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

Детали каждого варианта следующие:

  • Авто – Автопилот автоматически выбирает либо режим ансамбля, либо режим HPO в зависимости от размера набора данных. Если ваш набор данных превышает 100 МБ, Autopilot выбирает HPO; в противном случае он выбирает ансамбль.
  • Ансамбль – Автопилот использует АвтоГлюон метод ансамбля для обучения нескольких базовых моделей и объединения их прогнозов с использованием наложения моделей в оптимальную прогнозную модель.
  • Оптимизация гиперпараметра – Автопилот находит наилучшую версию модели, настраивая гиперпараметры с помощью метода байесовской оптимизации и запуская обучающие задания на вашем наборе данных. HPO выбирает алгоритмы, наиболее подходящие для вашего набора данных, и выбирает лучший диапазон гиперпараметров для настройки моделей. Для нашего примера мы оставляем выбор по умолчанию Авто.
  1. Выберите Далее: Развертывание и дополнительные настройки для продолжения.
    Унифицированная подготовка данных, обучение моделей и развертывание с помощью Amazon SageMaker Data Wrangler и Amazon SageMaker Autopilot — часть 2 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
  2. На Развертывание и дополнительные настройки странице выберите вариант развертывания.
    Важно понимать варианты развертывания более подробно; то, что мы выберем, повлияет на то, будут ли преобразования, которые мы сделали ранее в Data Wrangler, включены в конвейер вывода:
    • Автоматическое развертывание лучшей модели с преобразованиями из Data Wrangler – При использовании этого варианта развертывания при подготовке данных в Data Wrangler и обучении модели с помощью автопилота обученная модель развертывается вместе со всеми преобразованиями функций Data Wrangler в виде Конвейер последовательного вывода SageMaker. Это обеспечивает автоматическую предварительную обработку необработанных данных с повторным использованием преобразований функции Data Wrangler во время логического вывода. Обратите внимание, что конечная точка вывода ожидает, что формат ваших данных будет в том же формате, что и при их импорте в поток Data Wrangler.
    • Автоматическое развертывание лучшей модели без преобразований из Data Wrangler – Этот вариант развертывает конечную точку в реальном времени, которая не использует преобразования Data Wrangler. В этом случае вам необходимо применить преобразования, определенные в вашем потоке Data Wrangler, к вашим данным до вывода.
    • Не выполнять автоматическое развертывание лучшей модели – Этот параметр следует использовать, если вы вообще не хотите создавать конечную точку вывода. Это полезно, если вы хотите создать лучшую модель для последующего использования, например, для локального массового вывода. (Это вариант развертывания, который мы выбрали в части 1 серии.) Обратите внимание, что при выборе этого параметра созданная модель (из лучшего кандидата Autopilot с помощью SageMaker SDK) включает преобразование функции Data Wrangler в качестве конвейера последовательного вывода SageMaker.

    Для этого поста мы используем Автоматическое развертывание лучшей модели с преобразованиями из Data Wrangler опцию.

  3. Что касается Вариант развертывания, наведите на Автоматическое развертывание лучшей модели с преобразованиями из Data Wrangler.
  4. Остальные настройки оставьте по умолчанию.
  5. Выберите Далее: Просмотрите и создайте для продолжения.
    На Просмотрите и создайте На странице мы видим сводку настроек, выбранных для нашего эксперимента с автопилотом.
  6. Выберите Создать эксперимент чтобы начать процесс создания модели.
    Унифицированная подготовка данных, обучение моделей и развертывание с помощью Amazon SageMaker Data Wrangler и Amazon SageMaker Autopilot — часть 2 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Вы будете перенаправлены на страницу описания работы автопилота. Модели показывают на Модели вкладку по мере их создания. Чтобы убедиться, что процесс завершен, перейдите в Профиль работы вкладку и найдите Completed значение для Статус: поле.

Вы можете вернуться на эту страницу с описанием работы автопилота в любое время с Студия Amazon SageMaker:

  1. Выберите Эксперименты и испытания на Ресурсы SageMaker выпадающее меню.
  2. Выберите имя созданного вами задания автопилота.
  3. Выберите (щелкните правой кнопкой мыши) эксперимент и выберите Описание работы AutoML.

Просмотр обучения и развертывания

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

Выберите (щелкните правой кнопкой мыши) модель с надписью Лучшая модель, и выберите Открыть в деталях модели.

Унифицированная подготовка данных, обучение моделей и развертывание с помощью Amazon SageMaker Data Wrangler и Amazon SageMaker Autopilot — часть 2 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Ассоциация Перфоманс Вкладка отображает несколько тестов измерения модели, включая матрицу путаницы, площадь под кривой точности/отзыва (AUCPR) и площадь под кривой рабочих характеристик приемника (ROC). Они иллюстрируют общую эффективность проверки модели, но они не говорят нам, будет ли модель хорошо обобщаться. Нам все еще нужно провести оценку невидимых тестовых данных, чтобы увидеть, насколько точно модель делает прогнозы (в этом примере мы предсказываем, будет ли у человека диабет).

Выполнение вывода относительно конечной точки в реальном времени

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

import boto3

### Define required boto3 clients

sm_client = boto3.client(service_name="sagemaker")
runtime_sm_client = boto3.client(service_name="sagemaker-runtime")

### Define endpoint name

endpoint_name = ""

### Define input data

payload_str = '5,166.0,72.0,19.0,175.0,25.8,0.587,51'
payload = payload_str.encode()
response = runtime_sm_client.invoke_endpoint(
    EndpointName=endpoint_name,
    ContentType="text/csv",
    Body=payload,
)

response["Body"].read()

После того, как вы настроите код для запуска в своей записной книжке, вам необходимо настроить две переменные:

  • endpoint_name
  • payload_str

Настроить endpoint_name

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

  1. Выберите Endpoints на Ресурсы SageMaker выпадающее меню.
  2. Найдите имя конечной точки, к которой добавлено имя созданного вами задания Autopilot со случайной строкой.
  3. Выберите (щелкните правой кнопкой мыши) эксперимент и выберите Описать конечную точку.
    Унифицированная подготовка данных, обучение моделей и развертывание с помощью Amazon SageMaker Data Wrangler и Amazon SageMaker Autopilot — часть 2 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
    Ассоциация Сведения о конечной точке появляется страница.
  4. Выделите полное имя конечной точки и нажмите Ctrl + C чтобы скопировать его в буфер обмена.
    Унифицированная подготовка данных, обучение моделей и развертывание с помощью Amazon SageMaker Data Wrangler и Amazon SageMaker Autopilot — часть 2 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
  5. Введите это значение (убедитесь, что оно указано в кавычках) для endpoint_name в блокноте умозаключений.
    Унифицированная подготовка данных, обучение моделей и развертывание с помощью Amazon SageMaker Data Wrangler и Amazon SageMaker Autopilot — часть 2 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Настроить payload_str

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

Чтобы извлечь значения из тестового набора данных, следуйте инструкциям в Часть 1 для экспорта тестового набора данных в Amazon S3. Затем на консоли Amazon S3 вы можете загрузить его и выбрать строки для использования файла из Amazon S3.

Каждая строка в вашем тестовом наборе данных состоит из девяти столбцов, причем последний столбец является outcome ценность. Для этого кода записной книжки убедитесь, что вы используете только одну строку данных (никогда не заголовок CSV) для payload_str. Также убедитесь, что вы отправляете только payload_str с восемью столбцами, где вы удалили значение результата.

Например, если ваши файлы набора тестовых данных выглядят как следующий код, и мы хотим выполнить вывод в реальном времени для первой строки:

Pregnancies,Glucose,BloodPressure,SkinThickness,Insulin,BMI,DiabetesPedigreeFunction,Age,Outcome 
10,115,0,0,0,35.3,0.134,29,0 
10,168,74,0,0,38.0,0.537,34,1 
1,103,30,38,83,43.3,0.183,33,0

Мы установили payload_str в 10,115,0,0,0,35.3,0.134,29. Обратите внимание, как мы опустили outcome Значение 0 в конце.

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

foo,bar,foobar
85,17,20

В этом случае мы устанавливаем payload_str в 85,,20.

Когда ноутбук работает с правильно настроенным payload_str и endpoint_name значений, вы получите ответ в формате CSV в формате outcome (0 или 1), confidence (0-1).

Убираться

Чтобы убедиться, что после завершения этого руководства с вас не будут взиматься сборы, связанные с учебным пособием, обязательно закройте приложение Data Wrangler (https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-shut-down.html), а также все экземпляры записных книжек, используемые для выполнения задач логического вывода. Конечные точки вывода, созданные с помощью развертывания Auto Pilot, также следует удалить, чтобы избежать дополнительных расходов.

Заключение

В этом посте мы продемонстрировали, как интегрировать обработку ваших данных, включая проектирование и построение моделей, с помощью Data Wrangler и Autopilot. Основываясь на части 1 этой серии, мы рассказали, как можно легко обучать, настраивать и развертывать модель в конечной точке логического вывода в реальном времени с помощью Autopilot непосредственно из пользовательского интерфейса Data Wrangler. В дополнение к удобству, обеспечиваемому автоматическим развертыванием конечной точки, мы продемонстрировали, как вы также можете выполнить развертывание со всеми преобразованиями функций Data Wrangler в качестве конвейера последовательного логического вывода SageMaker, обеспечивающего автоматическую предварительную обработку необработанных данных с повторным использованием преобразований функций Data Wrangler в время умозаключения.

Решения с низким кодом и AutoML, такие как Data Wrangler и Autopilot, избавляют от необходимости иметь глубокие знания в области кодирования для создания надежных моделей машинного обучения. Начните использовать Data Wrangler сегодня, чтобы узнать, как легко создавать модели машинного обучения с помощью Autopilot.


Об авторах

Унифицированная подготовка данных, обучение моделей и развертывание с помощью Amazon SageMaker Data Wrangler и Amazon SageMaker Autopilot — часть 2 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Джереми Коэн является архитектором решений в AWS, где он помогает клиентам создавать передовые облачные решения. В свободное время он любит короткие прогулки по пляжу, исследует залив со своей семьей, ремонтирует вещи в доме, ломает вещи в доме и готовит барбекю.

Унифицированная подготовка данных, обучение моделей и развертывание с помощью Amazon SageMaker Data Wrangler и Amazon SageMaker Autopilot — часть 2 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Прадип Редди является старшим менеджером по продукту в команде SageMaker Low/No Code ML, в которую входят SageMaker Autopilot и SageMaker Automatic Model Tuner. Вне работы Прадип любит читать, бегать и развлекаться с компьютерами размером с ладонь, такими как raspberry pi, и другими технологиями домашней автоматизации.

Унифицированная подготовка данных, обучение моделей и развертывание с помощью Amazon SageMaker Data Wrangler и Amazon SageMaker Autopilot — часть 2 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Доктор Джон Хе — старший инженер по разработке программного обеспечения в Amazon AI, где он занимается машинным обучением и распределенными вычислениями. Имеет степень доктора философии КМУ.

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

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