Обзор Amazon SageMaker

Когда дело доходит до машинного обучения (ML) и предоставления его как услуги, для этого требуются знания в области Data Engineering, ML и DevOps. При развертывании производственной модели возникает несколько проблем, таких как проблемы с версиями, проблемы в конвейере модели и т. д. Решение этих проблем требует много времени. Ученые-исследователи и специалисты-практики машинного обучения в Amazon разработали решение для запуска всего конвейера машинного обучения на базе AWS под названием Amazon Sagemaker. Благодаря наличию инструментов для каждого этапа доступны различные внутренние инструменты, упрощающие построение и развертывание модели.

Amazon SageMaker использует Jupyter Notebook и Python с boto для подключения к корзине s3 или имеет высокоуровневый API Python для построения моделей. Совместимость с современными библиотеками глубокого обучения, такими как TensorFlow, PyTorch и MXNet, сокращает время построения модели.

Мой опыт: инженер по облачным вычислениям | Создатель сообщества AWS | Амбассадор AWS Educate Cloud | 4-кратная сертификация AWS | 3-кратный сертификат OCI | 3-кратная сертификация Azure.

Введение в сервисы AWS – это мини-серия, содержащая различные статьи, дающие общее представление о различных сервисах aws. Каждая статья содержит подробное руководство по использованию сервиса AWS. Целью этой серии является предоставление «Руководства по началу работы с различными сервисами AWS».

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

Что такое конвейер машинного обучения?

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

Извлечение данных: получение данных в режиме реального времени из потоков Kafka или данных хостинга репозитория. SageMaker требует, чтобы данные находились в корзине AWS s3 для настройки задания обучения.

Предварительная обработка данных. Этот этап включает обработку данных и подготовку данных для обучения. Обработка данных — один из самых трудоемких шагов в проекте машинного обучения. Amazon SageMaker Processing позволяет выполняющимся заданиям выполнять предварительную обработку данных для обучения и постобработку для создания логических выводов, проектирования функций и оценки моделей в масштабе.

Обучение модели. Конвейер предварительной обработки предназначен как для обучения, так и для тестирования данных. В Amazon SageMaker уже встроены популярные алгоритмы. Импортируйте библиотеку и используйте ее.
Ниже приведен рабочий процесс обучения в Amazon SageMaker.

  1. импортировать данные обучения из корзины s3.
  2. Обучение начинается с вызова ML для вычисления экземпляров, хранящихся в реестре контейнеров EC2.
  3. В корзине s3 артефактов модели хранятся артефакты обученной модели.

При использовании машинного обучения для распознавания шаблонов в данных возможно множество различных подходов.

Почему Amazon SageMaker важен?

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

Оценка модели. Оценка обученной модели в SageMaker двумя способами: автономное или онлайн-тестирование. При автономном тестировании запросы выполняются через конечную точку ноутбука Jupyter по историческим данным (данным, разделенным ранее) с помощью набора проверки или с использованием перекрестной проверки. При онлайн-тестировании модель развертывается и устанавливается пороговое значение трафика для обработки запросов. Порог трафика составляет 100%, если он работает нормально.

Развертывание модели. Модель пересекла базовый уровень, и пришло время ее развернуть: путь к артефактам обученной модели и путь к коду логического вывода в реестре Docker. В SageMaker модель может быть реализована с помощью API CreateModel, определения конфигурации конечной точки HTTPS и ее создания.

Мониторинг. Производительность модели отслеживается в режиме реального времени, наземные значения данных сохраняются в s3, а отклонения производительности анализируются. Это даст экземпляр, с которого начался дрейф; затем он обучается на новых образцах, сохраняя их в режиме реального времени в корзине.

Подготовка данных с помощью SageMaker

Модель машинного обучения полностью зависит от данных. Чем выше качество данных, тем эффективнее будет модель.

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

  • Сохраните данные в корзине s3 и определите файл манифеста, для которого будет выполняться задание маркировки.
  • Создайте рабочую силу для маркировки, выбрав тип рабочей силы.
  • Создайте задание по маркировке, выбрав тип задания, например «Классификация изображений», «Классификация текста», «Ограничивающая рамка» и т. д.
  • Например, выбранное задание относится к ограничивающей рамке, затем нарисуйте ограничивающую рамку вокруг желаемого объекта и дайте ему метку. Визуализируйте свои результаты, увидев показатель достоверности и другие показатели.

Что такое настройка гиперпараметров в SageMaker?

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

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

Байесовский поиск. В SageMaker используется алгоритм байесовского поиска. Алгоритм работает, проверяя производительность ранее использовавшихся комбинаций гиперпараметров в задании и исследуя новую комбинацию, используя предоставленный список.

Шаги для настройки гиперпараметров

  1. Для тестирования обучающей задачи метрики задаются при разработке работы по настройке гиперпараметров. Для одной задачи можно указать только 20 критериев; параметры имеют уникальное имя с их регулярным выражением для извлечения информации из журналов.
  2. Определенные диапазоны гиперпараметров для типа параметра, т. е. различие между типом параметра в объекте ParameterRanges JSON.
  3. Создайте блокнот в SageMaker и подключитесь к клиенту SageMaker Boto3.
  4. Укажите корзину и место вывода данных и запустите настроенное задание настройки гиперпараметров, определенное на шагах 1 и 2.
  5. Отслеживайте ход выполнения одновременно выполняемых заданий по настройке гиперпараметров и находите лучшую модель в консоли SageMaker, щелкнув лучшее обучающее задание. Узнайте больше о том, как работает настройка гиперпараметров.

Рекомендации для Amazon Sagemaker

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

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

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

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

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

Что такое Amazon SageMaker Studio?

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

Отладчик Amazon SageMaker

Отладчик SageMaker будет отслеживать значения векторов признаков и гиперпараметров. Храните журналы задания отладки в CloudWatch, проверяйте расширяющиеся тензоры, изучайте проблемы исчезающего градиента и сохраняйте значения тензоров в сегменте s3. Поместив SaveConfig из SDK отладчика в экземпляр, где необходимо проверить значение тензоров, а SessionHook будет связан в начале каждого запуска задания отладки.

Монитор модели Amazon SageMaker

Модель SageMaker отслеживает производительность модели, исследуя дрейф данных. Определенные ограничения и файл статистики функций находятся в формате JSON. Файл ограничения.json содержит список признаков с их типом, а требуемый статус определяется полем полноты, значение которого находится в диапазоне от 0 до 1, а файлstatistics.json содержит информацию о среднем значении, медиане, квантиле и т. д. для каждая функция. Отчеты сохраняются в s3, и их можно подробно просмотреть в файле ограничения_нарушения.json, который состоит из имен функций и типа нарушения (тип данных, минимальное или максимальное значение функции и т. д.).

Эксперимент с моделью Amazon SageMaker

Отслеживание нескольких экспериментов (обучение, задания по настройке гиперпараметров и т. д.) проще, чем в SageMaker. Просто инициализируйте объект Estimator и запишите значения эксперимента. Можно импортировать значения, хранящиеся в эксперименте, во фрейм данных pandas, что упрощает анализ.

Автопилот Amazon SageMaker

Машинное обучение с использованием AutoPilot находится всего в одном клике. Укажите путь к данным и тип целевого атрибута (регрессия, бинарная классификация или мультиклассовая классификация). Если не указано, встроенные алгоритмы автоматически определяют целевой тип и запускают предобработку данных и модель в соответствии с ним. На этапе предварительной обработки данных автоматически генерируется код Python для использования в дальнейших заданиях. Для этого используется определенный пользовательский конвейер. Опишите AutoMlJob API.

Целью конвейера машинного обучения является контроль над моделью машинного обучения.

Запуск пользовательских алгоритмов обучения

  • Запустите докеризированный обучающий образ в SageMaker.
  • SageMaker вызывает функцию CreateTrainingJob, которая запускает обучение в течение определенного периода.
  • Укажите гиперпараметры в TrainingJobName.
  • Проверьте статус по TrainingJobStatus

Безопасность в SageMaker

Облачная безопасность. AWS использует модель общей ответственности, которая включает в себя безопасность в облаке AWS для защиты инфраструктуры и безопасности облака, которая включает в себя службы, выбранные клиентом, управление ключами IAM и привилегии. разным пользователям, сохраняя учетные данные в безопасности и т. д.

Безопасность данных. SageMaker хранит данные и артефакты моделей в зашифрованном виде при передаче и хранении. Запросы на безопасное (SSL) подключение к API и консоли Amazon SageMaker. Зашифрованные блокноты и сценарии используют ключ AWS KMS (служба управления ключами). Если ключ недоступен, они шифруются с помощью временного ключа. После расшифровки этот временный ключ устаревает.

Каковы преимущества SageMaker?

  • Он использует отладчик в обучении, который автоматически имеет указанный диапазон гиперпараметров.
  • Помогает быстро развернуть сквозной конвейер машинного обучения.
  • Это помогает развертывать модели машинного обучения на периферии с помощью SageMaker Neo.
  • Вычислительный экземпляр машинного обучения предлагает тип экземпляра во время обучения.

Вывод

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

Надеюсь, это руководство поможет вам понять, как начать работу с AWS SageMaker. Не стесняйтесь связаться со мной в LinkedIn.
Вы можете просмотреть мои значки здесь.
Если вы хотите узнать больше о сервисах AWS, подпишитесь на меня на github.
Если вам понравился этот контент, хлопайте в ладоши и делитесь им. Спасибо .

Первоначально опубликовано на https://dev.to 24 октября 2020 г.