Развертывание с помощью Amazon SageMaker

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

Возможности

Мониторинг моделей

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

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

SageMaker Model Monitor регулярно анализирует собранные данные, применяя встроенные и предоставленные вами правила, чтобы обнаружить нарушения этих правил. Встроенные правила позволяют анализировать табличные данные и обнаруживать типичные проблемы, например выбросы в прогнозах, отклонения в распределении данных по сравнению с обучающими наборами данных, изменения точности прогнозов по результатам наблюдений за реальным миром. SageMaker Model Monitor можно использовать в тандеме с SageMaker Studio, а метрики можно отправлять в Amazon CloudWatch, чтобы настроить оповещения для аудита и повторного обучения моделей. По этим оповещениям вы сможете обнаружить данные, которые вызывают отклонения, и соответствующим образом скорректировать обучающие данные. Запросы прогнозов и ответы на них безопасно сохраняются для всех моделей, которые развернуты в SageMaker, и вам не придется изменять для этого код приложений.

Model Monitor

Развертывание одним щелчком

Amazon SageMaker упрощает развертывание обученной модели в работу (это можно сделать за один щелчок мышью), поэтому можно сразу начать генерировать прогнозы на основе пакетных данных или данных, поступающих в режиме реального времени. Выполнить развертывание модели на автомасштабируемых инстансах Amazon SageMaker для машинного обучения в нескольких зонах доступности, обеспечив высокую избыточность, можно за один щелчок мышью. Достаточно лишь указать тип инстансов, а также их максимальное и минимальное количество – об остальном позаботится Amazon SageMaker. Этот сервис запустит инстансы, выполнит развертывание модели и настроит защищенный HTTPS‑адрес для приложения вывода. Вам потребуется только включить в приложение вызов API к этому адресу, чтобы начать получать прогнозы с минимальной задержкой и высокой пропускной способностью. Данная архитектура позволяет за считанные минуты интегрировать в приложение новые модели, ведь при изменении модели вносить изменения в код приложения не потребуется.

Пакетное преобразование

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

Обучить один раз, развертывать где угодно

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

SageMaker Neo использует машинное обучение для автоматической оптимизации обученной модели, позволяя ускорить ее в два раза и снизить потребление памяти в десять раз без потери точности в исходной среде развертывания. В начале создается модель машинного обучения с помощью MXNet, TensorFlow, PyTorch или XGBoost, которая затем обучается в SageMaker. Потом выбирается аппаратная платформа, на которой вам нужно развернуть эту модель. Всего одним кликом мыши SageMaker Neo превратит обученную модель в исполняемый файл. Компилятор использует нейронную сеть для обнаружения и применения всех оптимизаций производительности, которые позволят более эффективно выполнять модель на выбранной аппаратной платформе. После этого модель можно развернуть в облаке или на периферии и начать получать прогнозы. Возможности локального вычисления и аналитических выводов машинного обучения можно подключить к периферийным системам с помощью AWS IoT Greengrass.

Чтобы упростить развертывания на периферии, Greengrass поддерживает модели, оптимизированные с помощью Neo, что позволяет развертывать такие модели прямо на периферийных устройствах с помощью функции удаленной установки. Также Neo предоставляется в виде проекта Neo-AI с открытым исходным кодом по лицензии Apache Software License, которая позволяет разработчикам изменять программное обеспечение для работы на разных устройствах и в разных приложениях.

УДВОЕННАЯ

ПРОИЗВОДИТЕЛЬНОСТЬ

1/10

ОТ РАЗМЕРА ИСХОДНОЙ ПЛАТФОРМЫ

Интеграция с Kubernetes

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

Обработка данных, помимо обучения

В реальных рабочих нагрузках машинного обучения обычно выполняется не только обучение и прогнозирование. Данные нужно дополнительно обрабатывать до и после прогнозирования, иногда даже в несколько этапов. Возможно, вам потребуется обучить и развернуть целую серию алгоритмов, которые должны работать совместно для получения прогнозов из необработанных данных. SageMaker позволяет развернуть каналы генерирования логических выводов, чтобы передавать необработанные входные данные и выполнять их предварительную обработку, прогнозирование, а также последующую обработку в режиме реального времени и объединять запросы на генерирование логических выводов в пакеты. Каналы генерирования логических выводов могут включать любые платформы машинного обучения, встроенные алгоритмы или пользовательские контейнеры, используемые в Amazon SageMaker. Используя набор доступных в контейнерах платформы SparkML и Scikit-learn в Amazon SageMaker преобразователей функций можно создавать каналы обработки данных о функциях и каналы проектирования функций, а затем развертывать их в каналах генерирования логических выводов для повторного использования кода обработки данных и упрощенного управления процессами машинного обучения.

Адреса для нескольких моделей

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

Адреса для нескольких моделей в Amazon SageMaker предоставят масштабируемый и экономичный способ развернуть большое число настраиваемых моделей машинного обучения. Адреса для нескольких моделей SageMaker позволяют одним щелчком мыши развернуть несколько моделей на одном адресе и обслуживать их из одного контейнера. Достаточно лишь указать тип инстансов, а также их максимальное и минимальное количество – об остальном позаботится SageMaker. Этот сервис запустит инстансы, выполнит развертывание модели и настроит защищенный HTTPS‑адрес для приложения вывода. Вам потребуется только включить в приложение вызов API к этому адресу с указанием целевой модели, чтобы получать логические выводы с минимальной задержкой и высокой пропускной способностью.

Получение логических выводов в облаке с высокой производительностью и малыми затратами

С помощью сервиса Amazon SageMaker вы можете развертывать свои обученные модели машинного обучения в инстансах Amazon Inf1, созданных с использованием микросхем AWS Inferentia, чтобы получать логические выводы с высокой производительностью и малыми затратами. Используя инстансы Inf1, вы можете выполнять крупномасштабные приложения для получения логических выводов на основе технологии машинного обучения, например приложения для распознавания изображений и речи, обработки естественных языков, персонализации и выявления мошенничества. С помощью сервиса Amazon SageMaker Neo вы можете компилировать свои обученные модели машинного обучения для их оптимального выполнения в инстансах Inf1 и без труда развертывать скомпилированные модели в инстансах Inf1 для получения логических выводов в режиме реального времени.

Подробнее

Перемещение моделей машинного обучения из тестовой в рабочую среду

Узнайте, как развернуть модели машинного обучения в рабочую среду с помощью SageMaker

Развертывание обученных моделей Keras или TensorFlow с помощью Amazon SageMaker

Узнайте, как развернуть обученные модели Keras или TensorFlow с помощью Amazon SageMaker

Автоматизация пользовательских моделей Amazon SageMaker

Изучите эти примеры на GitHub и автоматизируйте создание, обучение и развертывание настраиваемых моделей машинного обучения.