Amazon Web Service предоставляет AWS Sagemaker всем инженерам машинного обучения, специалистам по данным и даже аналитикам для очистки, преобразования, применения моделей, обучения и тестирования своих данных. Машинное обучение — это итеративный процесс. Для обработки наборов данных требуются инструменты рабочего процесса и специальное оборудование. Обучение данным сообщает машине, как вести себя определенным образом, основываясь на повторяющемся распознавании образов из заданного набора данных. Затем данные учат, как реагировать на новые шаблоны данных. Как только специалисты по данным оптимизируют модель машинного обучения, команды разработчиков программного обеспечения преобразуют готовую модель в продукты или API для массового доступа.

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

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

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

  1. Обработка данных: от 70% до 75% нашего времени уходит на очистку, преобразование и подготовку наших данных. Данные, как мы знаем, поступают из различных необработанных источников и требуют огромной очистки и преобразования. Очистка требует от нас удаления нулевых значений, выбросов и мусорных значений. Преобразования преобразуют наши значения данных или результаты в более подходящий формат, который впоследствии можно использовать для дальнейшей обработки. Это также варьируется от проекта к проекту и от организации к организации.
  2. Выберите алгоритм: можно использовать алгоритмы обучения или методы ансамбля, которые могут извлекать уникальные идеи или исследовать данные для предметно-ориентированного анализа.
  3. Выбор фреймворков: фреймворки — это набор библиотек или функций, которые позволяют разработчикам создавать и поддерживать свои алгоритмы. Они выбираются на основе нашей постановки задачи и вариантов использования в бизнесе.
  4. Обучение, тестирование и оптимизация: TTO (обучение, тестирование и оптимизация) после того, как ваш алгоритм выбран и ваш код работает, нам нужно обучить нашу модель с помощью предоставленного набора данных. Во-первых, нам нужно разделить наш набор данных на обучение и тестирование с общим соотношением 75–25 или 70–30, в зависимости от размера данных. Обучение модели — это в основном то, где ваша машина учится на ваших входных и прогнозируемых данных. (Целевые переменные указаны в случае контролируемого обучения). После того, как модель построена и изучена, она будет протестирована и будет выставлена ​​оценка. На основе оценки мы повысим нашу точность и оптимизируем наши результаты, пробуя различные алгоритмы, изменяя рассматриваемые функции и выбирая другую выборку из набора данных.
  5. Интеграция: затем оптимизированную модель необходимо визуализировать и представить для дальнейших вариантов использования, и поэтому ее необходимо интегрировать с инструментальными панелями внешнего интерфейса, инструментами BI или таблицами данных.
  6. Развертывание. Последним шагом является развертывание всего нашего кода, информационных панелей, платформы очистки данных и интерфейсных сред.

Композиция SageMaker и что она для нас делает

  1. Выбор, очистка, обработка и обучение данных
  2. Выберите машинное обучение или другие модели ансамблевого обучения для обучения ваших данных.
  3. Тестируйте и оптимизируйте данные
  4. Настройка среды
  5. Развертывает модель
  6. Масштабируйте, управляйте и развертывайте производственную среду.

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

Конвейер построения модели SageMaker

(Из документации AWS)

Мы можем разделить его на две категории: построение модели и развертывание модели.

Сборка модели:

  • Когда мы отправим модель для обучения, будет создано обучающее задание.
  • Задание обучения создаст корзину S3 для хранения, откуда будут извлекаться входные данные.
  • После создания задания SageMaker запускает экземпляры Compute.
  • Затем он обучает модели на обучающем наборе и сохраняет выходные данные в корзине AWS S3.
  • Алгоритм сохраняется в критических системных процессах AWS SageMaker в наших экземплярах машинного обучения.
  • Реестр для отслеживания локальных заданий и их текущего состояния.
  • Облачные часы для настройки предупреждений или периодических обновлений или обучения работе.

Развертывание модели:

  • Amazon SageMaker Model Monitor отслеживает качество моделей машинного обучения в производстве. Мы можем настроить непрерывный мониторинг для задания пакетного преобразования, которое выполняется регулярно, или мониторинг по расписанию для асинхронного задания пакетного преобразования. С помощью Model Monitor мы можем установить оповещения, которые уведомляют нас об отклонениях в качестве модели.
  • Monitor data quality — Контролируйте дрейф в качестве данных.
  • Monitor model quality — Контролируйте дрейф в метриках качества модели, таких как точность.
  • Мониторинг смещения смещения для моделей в производстве — отслеживайте смещение в прогнозах вашей модели.
  • Мониторинг смещения атрибуции функций для моделей в производстве — отслеживание смещения атрибуции функций.
  • Здесь также используются корзины S3 для проверки и хранения результатов.
  • Более подробный подход можно увидеть на изображении ниже.

(Из документации AWS)

Работа с SageMaker

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

У конфигурации Sagemaker есть 2 пути: один — прямая быстрая настройка, где большинство наших политик и конфигураций будут предопределены и избавят нас от хлопот, связанных с прохождением каждого этапа и их настройкой.

SageMaker Ссылка для установки. Необходимо войти в систему как пользователь root, чтобы получить к нему доступ.

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

Конфигурации, которые будут настроены автоматически

  • Публичный доступ в Интернет и стандартное шифрование
  • Интеграция со студией SageMaker
  • Совместно используемые ноутбуки SageMaker Studio
  • Холст SageMaker
  • IAM-аутентификация

Стандартная настройка займет 10 минут, но даст вам возможность и гибкость вручную настроить каждую конфигурацию. Таким образом, вы можете масштабироваться в соответствии с нагрузкой.

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

  • В стандартной настройке нам нужно установить метод аутентификации, а затем установить разрешения. На следующем шаге нам нужно будет настроить наши сетевые протоколы, установив их либо в общедоступную, либо в виртуальную частную сеть (VPC), а также включив ключ шифрования.
  • Выберите версию своей лабораторной записной книжки Jupyter и то, как вы планируете поделиться ею с другими в качестве представления или редактора, а также какие привилегии вы хотите им назначить. Как мы видим, хранилище находится в корзине S3, и мы также можем зашифровать его при совместном использовании.

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

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