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

Построение и оценка моделей машинного обучения с продвинутыми конфигурациями на доске лидеров моделей SageMaker Canvas

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

Кроме конфигурации создания модели, SageMaker Canvas теперь также предоставляет таблицу рейтинга моделей. Таблица рейтинга позволяет сравнить основные метрики производительности (например, точность, точность, полноту и F1-меру) для разных конфигураций моделей, чтобы определить наилучшую модель для ваших данных, тем самым повышая прозрачность создания моделей и помогая вам принимать информированные решения относительно выбора моделей. Вы также можете просмотреть весь рабочий процесс создания модели, включая предлагаемые этапы предобработки, алгоритмы и диапазон гиперпараметров в записной книжке. Чтобы получить доступ к этим функциональностям, выйдите из SageMaker Canvas и снова войдите в него, затем выберите Настройка модели при создании моделей.

В этой статье мы расскажем вам о процессе использования новых продвинутых настроек создания моделей SageMaker Canvas для запуска ансамблей и оптимизации гиперпараметров (HPO).

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

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

  • Ансамбль: Использует библиотеку AutoGluon для обучения нескольких базовых моделей. Для поиска наилучшей комбинации для вашего набора данных в режиме ансамбля выполняется 10 испытаний с различными настройками моделей и метапараметров. Затем эти модели объединяются с использованием метода стекового ансамбля для создания оптимальной предиктивной модели. В режиме ансамбля SageMaker Canvas поддерживает следующие типы алгоритмов машинного обучения:
    • Light GBM: Оптимизированная ​​платформа, использующая деревянные алгоритмы с градиентным бустингом. Этот алгоритм использует деревья, которые растут в ширину, а не в глубину, и очень оптимизирован для скорости.
    • CatBoost: Платформа, использующая деревянные алгоритмы с градиентным бустингом. Оптимизирована для работы с категориальными переменными.
    • XGBoost: Платформа, использующая деревянные алгоритмы с градиентным бустингом, которые растут в глубину, а не в ширину.
    • Случайный лес: Деревянный алгоритм, использующий несколько деревьев решений на случайных подвыборках данных с возможностью замещения. Деревья разделяются на оптимальные узлы на каждом уровне. Решения каждого дерева усредняются для предотвращения переобучения и улучшения прогнозов.
    • Extra trees: Деревянный алгоритм, использующий несколько деревьев решений на всем наборе данных. Деревья разделяются случайным образом на каждом уровне. Решения каждого дерева усредняются для предотвращения переобучения и улучшения прогнозов. Extra trees добавляют случайный фактор в сравнении с алгоритмом случайного леса.
    • Линейные модели: Платформа, использующая линейное уравнение для моделирования отношения между двумя переменными в наблюдаемых данных.
    • Нейронная сеть torch: Нейронная сеть, реализованная с использованием Pytorch.
    • Нейронная сеть fast.ai: Нейронная сеть, реализованная с использованием fast.ai.
  • Оптимизация гиперпараметров (HPO): SageMaker Canvas находит лучшую версию модели путем настройки гиперпараметров с использованием байесовской оптимизации или оптимизации с многофидельностью при выполнении заданий обучения на вашем наборе данных. Режим HPO выбирает наиболее подходящие алгоритмы для вашего набора данных и выбирает лучший диапазон гиперпараметров для настройки ваших моделей. Для настройки моделей режим HPO выполняет до 100 испытаний (по умолчанию), чтобы найти оптимальные настройки гиперпараметров в выбранном диапазоне. Если размер вашего набора данных составляет менее 100 МБ, SageMaker Canvas использует байесовскую оптимизацию. SageMaker Canvas выбирает оптимизацию с многофидельностью, если ваш набор данных больше 100 МБ. При оптимизации с многофидельностью метрики непрерывно передаются из контейнеров обучения. Испытание, которое показывает плохие результаты по выбранной объективной метрике, прерывается раньше. Испытание, которое показывает хорошие результаты, получает больше ресурсов. В режиме HPO SageMaker Canvas поддерживает следующие типы алгоритмов машинного обучения:
  • Линейный алгоритм обучения: Обучаемый алгоритм, который может решать задачи классификации или регрессии.
  • XGBoost: Обучаемый алгоритм, которая пытается точно предсказать целевую переменную, объединяя ансамбль оценок из набора более простых и слабых моделей.
  • Глубокая нейронная сеть: Многослойный перцептрон (MLP) и прямого распространения искусственная нейронная сеть. Этот алгоритм может обрабатывать данные, которые не являются линейно разделимыми.
  • Автоматически: SageMaker Canvas автоматически выбирает режим ансамбля или режим HPO на основе размера вашего набора данных. Если ваш набор данных больше 100 МБ, SageMaker Canvas выбирает режим HPO. В противном случае, он выбирает режим ансамбля.

Предварительные требования

Для этого поста вам необходимо выполнить следующие предварительные требования:

  1. Иметь аккаунт AWS.
  2. Настроить SageMaker Canvas. См. Предварительные требования для настройки Amazon SageMaker Canvas.
  3. Загрузить классический набор данных по Титанику на ваш компьютер.

Создание модели

Мы расскажем вам, как использовать набор данных по Титанику и SageMaker Canvas для создания модели, которая предсказывает, какие пассажиры выжили при крушении Титаника. Это задача бинарной классификации. Мы сосредоточимся на создании эксперимента Canvas с использованием режима ансамблевого обучения и сравним результаты показателя F1 и общего времени выполнения с экспериментом SageMaker Canvas с использованием режима обучения HPO (100 испытаний).

Название столбца Описание
Passengerid Идентификационный номер
Survivied Выживание
Pclass Класс билета
Name Имя пассажира
Sex Пол
Age Возраст в годах
Sibsp Количество братьев, сестер или супругов на борту Титаника
Parch Количество родителей или детей на борту Титаника
Ticket Номер билета
Fare Цена билета
Cabin Номер каюты
Emarked Порт посадки

Набор данных по Титанику содержит 890 строк и 12 столбцов. Он содержит демографическую информацию о пассажирах (возраст, пол, класс билета и т. д.) и целевой столбец Survived (да/нет).

  1. Начните с импорта набора данных в SageMaker Canvas. Введите название Titanic для набора данных.
  2. Выберите набор данных по Титанику и выберите Создать новую модель. Введите имя модели, выберите Анализ предсказаний в качестве типа проблемы и выберите Создать.
  3. В разделе Выберите столбец для предсказания используйте выпадающий список Целевой столбец, чтобы выбрать Survived. Целевой столбец Survived является бинарным типом данных со значениями 0 (не выжил) и 1 (выжил).

Настройка и запуск модели

В первом эксперименте вы настраиваете SageMaker Canvas для выполнения ансамблевого обучения на наборе данных с точностью в качестве метрики цели. Более высокий показатель точности указывает на то, что модель делает больше правильных предсказаний, в то время как более низкий показатель точности означает, что модель делает больше ошибок. Точность хорошо работает для сбалансированных наборов данных. Для ансамблевого обучения выберите XGBoost, Random Forest, CatBoost и Linear Models в качестве алгоритмов. Оставьте разделение данных по умолчанию 80/20 для обучения и проверки. И, наконец, настройте работу обучения для выполнения с максимальным временем выполнения 1 час.

  1. Начните с выбора Настроить модель.
  2. Это открывает модальное окно для Настроить модель. Выберите Расширенные в навигационной панели.
  3. Начните настраивать модель, выбрав Метрика цели. Для этого эксперимента выберите Точность. Оценка точности говорит о том, насколько часто предсказания модели в целом верны.
  4. Выберите Метод обучения и алгоритмы и выберите Ансамбль. Ансамблевые методы в машинном обучении включают создание нескольких моделей, а затем их комбинирование для получения улучшенных результатов. Эта техника используется для повышения точности предсказания путем использования преимуществ разных алгоритмов. Ансамблевые методы известны своей способностью давать более точные решения, чем одна модель, что продемонстрировано в различных соревнованиях и реальных применениях машинного обучения.
  5. Выберите различные алгоритмы для использования в ансамбле. Для этого эксперимента выберите XGBoost, Linear, CatBoost и Random Forest. Отмените выбор всех остальных алгоритмов.
  6. Выберите Разделение данных в навигационной панели. Для этого эксперимента оставьте разделение данных по умолчанию 80/20. В следующей итерации эксперимента используется другое разделение, чтобы проверить, будет ли лучшая производительность модели.
  7. Выберите Максимальное количество кандидатов и время выполнения в навигационной панели и установите Максимальное время выполнения работы на 1 час и выберите Сохранить.
  8. Выберите Стандартная сборка, чтобы начать сборку.

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

Просмотр результатов

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

  1. Выберите кнопку стрелки сворачивания рядом с Таблица результатов моделей, чтобы просмотреть данные о производительности моделей.
  2. Выберите вкладку Результаты, чтобы более детально изучить информацию о точности модели. Обученная модель сообщает, что она может правильно предсказывать несохранение пассажиров в 89,72 процента случаев.
  3. Выберите вкладку Дополнительные метрики, чтобы оценить дополнительные детали производительности модели. Начните с выбора Таблица метрик, чтобы просмотреть подробности метрик, таких как F1, Точность, Полнота и AUC.
  4. SageMaker Canvas также помогает визуализировать Матрицу ошибок для обученной модели.
  5. И визуализирует Кривую точности-полноты. Значение AUPRC равное 0,86 говорит о высокой точности классификации, что является хорошим результатом.
  6. Выберите Таблица результатов моделей, чтобы сравнить ключевые показатели производительности (такие как точность, точность, полнота и F1-оценка) для разных моделей, оцененных SageMaker Canvas, чтобы определить лучшую модель для данных на основе настроек, установленных для этого эксперимента. Модель по умолчанию с лучшей производительностью выделена значком модели по умолчанию в рейтинге моделей.
  7. Вы можете использовать контекстное меню сбоку, чтобы более подробно изучить детали любой из моделей или сделать модель моделью по умолчанию. Выберите Подробности модели на второй модели в рейтинге, чтобы увидеть подробности.
  8. SageMaker Canvas изменяет вид, чтобы показать подробности выбранной модели. В то время как детали модели по умолчанию уже доступны, просмотр деталей альтернативной модели занимает 10-15 минут для отображения подробностей.

Создайте вторую модель

Теперь, когда вы построили, запустили и просмотрели модель, давайте построим вторую модель для сравнения.

  1. Вернитесь в вид модели по умолчанию, выбрав X в верхнем углу. Затем выберите Добавить версию, чтобы создать новую версию модели.
  2. Выберите созданный вами набор данных Titanic, а затем выберите Выбрать набор данных.

SageMaker Canvas автоматически загружает модель с уже выбранной целевой колонкой. В этом втором эксперименте вы переключаетесь на обучение HPO, чтобы увидеть, дает ли оно лучшие результаты для данного набора данных. В этой модели вы используете те же целевые метрики (Accuracy) для сравнения с первым экспериментом и используете алгоритм XGBoost для обучения HPO. Вы изменяете разделение данных для обучения и валидации на 70/30 и настраиваете максимальное количество кандидатов и время выполнения задания HPO на 20 кандидатов и максимальное время выполнения задания в 1 час.

Настройте и запустите модель

  1. Начните второй эксперимент, выбрав Настроить модель, чтобы настроить детали тренировки модели.
  2. В окне Настроить модель выберите Метрика цели в панели навигации. Для Метрики цели используйте выпадающий список, чтобы выбрать Accuracy, таким образом вы сможете видеть и сравнивать все выводы версий рядом.
  3. Выберите Метод тренировки и алгоритмы. Выберите Гиперпараметрическую оптимизацию для метода тренировки. Затем прокрутите вниз, чтобы выбрать алгоритмы.
  4. Выберите XGBoost в качестве алгоритма. XGBoost обеспечивает параллельное деревянное усиление, которое быстро и точно решает множество проблем в области науки о данных, и предлагает широкий диапазон гиперпараметров, которые можно настроить, чтобы улучшить и полностью использовать модель XGBoost.
  5. Выберите Разделение данных. Для этой модели установите разделение данных для обучения и валидации в соотношении 70/30.
  6. Выберите Максимальное количество кандидатов и время выполнения и установите значения для задания HPO в 20 для Максимального количества кандидатов и 1 час для Максимального времени выполнения задания. Нажмите Сохранить, чтобы закончить настройку второй модели.
  7. Теперь, когда вы настроили вторую модель, выберите Стандартное построение, чтобы начать обучение.

SageMaker Canvas использует конфигурацию для запуска задания HPO. Как и первое задание, это обучающее задание займет до часа для завершения.

Просмотр результатов

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

  1. Выберите Таблица лидеров моделей, чтобы просмотреть список всех 20 кандидатских моделей из раннего обучения HPO. Лучшая модель, основанная на цели достижения наибольшей точности, отмечена как модель по умолчанию.

Хотя точность модели по умолчанию является лучшей, другая модель из выполнения задания HPO имеет более высокий показатель площади под кривой ROC (AUC). AUC-показатель используется для оценки производительности модели бинарной классификации. Более высокий AUC указывает на то, что модель лучше различает два класса, при этом 1 является идеальным показателем, а 0,5 указывает на случайное предположение.

  1. Используйте контекстное меню, чтобы сделать модель с более высоким AUC моделью по умолчанию. Выберите контекстное меню для этой модели и выберите опцию Изменить на модель по умолчанию в меню строки, как показано на рисунке 31, приведенном ниже.

SageMaker Canvas требуется несколько минут, чтобы изменить выбранную модель на новую модель по умолчанию для версии 2 эксперимента и переместить ее в верх списка моделей.

Сравнение моделей

На этом этапе у вас есть две версии модели, и вы можете просмотреть их рядом, перейдя в раздел Мои модели в SageMaker Canvas.

  1. Выберите Предсказывание выживания на Титанике, чтобы увидеть доступные версии моделей.
  2. Есть две версии, и их производительность отображается в виде таблицы для сравнения рядом.
  3. Вы можете видеть, что версия 1 модели (которая была обучена с использованием ансамблевых алгоритмов) имеет более высокую точность. Теперь вы можете использовать SageMaker Canvas, чтобы создать блокнот SageMaker со всем необходимым кодом, комментариями и инструкциями для настройки пробных версий AutoGluon и запуска рабочего процесса SageMaker Canvas без написания единой строки кода. Вы можете создать блокнот SageMaker, выбрав контекстное меню и выбрав опцию Просмотреть блокнот.
  4. Блокнот SageMaker появляется во всплывающем окне. Блокнот позволяет осмотреть и изменить параметры, предлагаемые SageMaker Canvas. Вы можете интерактивно выбирать одну из предложенных SageMaker Canvas конфигураций, изменять ее и запускать задание обработки для обучения моделей на основе выбранной конфигурации в среде SageMaker Studio.

Выводы

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

Или используйте контекстное меню для внедрения вашей ML-модели в производство, регистрируя модель машинного обучения (ML) в реестре моделей SageMaker.

Очистка

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

См. выход из Amazon SageMaker Canvas для получения более подробной информации.

Заключение

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

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

Чтобы начать ваш путь визуального программирования в машинном обучении, см. Amazon SageMaker Canvas.

Отдельное спасибо всем, кто внес свой вклад в запуск:

Esha Dutta, Ed Cheung, Max Kondrashov, Allan Johnson, Ridhim Rastogi, Ranga Reddy Pallelra, Ruochen Wen, Ruinong Tian, Sandipan Manna, Renu Rozera, Vikash Garg, Ramesh Sekaran и Gunjan Garg