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

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

  • Какие различные варианты обработки данных существуют в SageMaker
  • Как решить, какой из них использовать?

ПРИМЕЧАНИЕ. Этот блог посвящен только возможностям обработки данных в SageMaker и не охватывает другие предложения из области аналитики в AWS.

Какие существуют различные варианты обработки данных в SageMaker?

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

  1. Обработчик данных Amazon SageMaker
  2. Ноутбуки SageMaker Studio
  3. Склеивание интерактивного сеанса в блокноте SageMaker Studio
  4. Amazon EMR через ноутбуки SageMaker Studio
  5. Обработка Amazon SageMaker

Как решить, какой из них использовать?

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

  • Опыт разработчиков
  • Применимость этапа жизненного цикла машинного обучения
  • Поддерживаемые типы данных и диапазоны размеров наборов данных
  • Объем настройки
  • Расходы

Ваш ответ на вышеуказанные вопросы решит, подходит ли вам этот вариант. Есть ли какие-либо другие области, которые вы считаете очень важными, но не упомянутые выше? Дай мне знать в комментариях.

С учетом сказанного давайте начнем с нашего анализа для каждого из предложений.

1. Обработчик данных Amazon SageMaker

TLDR: используйте SageMaker Data Wrangler, когда:

- Вы хотите испытать способ подготовки данных Low-Code/No-Code.

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

Amazon SageMaker Data Wrangler — это функция, доступная в Amazon SageMaker Studio, которая предоставляет комплексное решение для импорта, подготовки, преобразования, придания характеристик и анализа данных.

Опыт разработчиков

Это функция только пользовательского интерфейса. API для Data Wrangler отсутствует. Вы можете получить к нему доступ только из SageMaker Studio. Вы можете думать об этом как о возможности подготовки данных Low-Code/No-Code. Что-то, что подойдет как для бизнес-пользователя, так и для специалиста по данным. Вы получаете 300+ встроенных правил преобразования данных, которые вы можете применять к своему набору данных в режиме реального времени для преобразования ваших данных. Вы также получаете возможность экспортировать все этапы преобразования данных в виде кода, и все это делается с помощью SageMaker Data Wrangler.

Применимость этапа жизненного цикла машинного обучения

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

Поддерживаемые типы данных и размеры наборов данных

На момент написания этого он поддерживает только табличные данные. Он может принимать форматы CSV, Parquet, JSON, JSONL и ORC. Нет четкого ограничения на объем данных, которые он может обрабатывать. Но поскольку это предложение пользовательского интерфейса, хорошей идеей будет импортировать образец набора данных в этот пользовательский интерфейс, выполнить преобразования, экспортировать поток преобразования в виде кода, а затем запустить его для полного набора данных в качестве задания автоматизации. Фактически, обработчик данных уже предоставляет вам весь код для автоматизации, просто отредактируйте местоположение источника данных в экспортированном коде, чтобы он указывал на полный набор данных, а не на образец.

Объем настройки

Если нет правила преобразования, соответствующего вашим требованиям, вы можете написать собственный код на Python (определяемая пользователем функция), PySpark, pandas или PySpark (SQL). Обработчик данных технически представляет собой контейнер, работающий на экземпляре SageMaker Managed EC2. Вы можете изменить тип экземпляра в соответствии с вашими требованиями.

Расходы

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

Совет для профессионалов. Не забывайте закрывать приложение для обработки данных из Studio, когда оно не используется. Проверьте Завершение работы Data Wrangler для получения более подробной информации.

2. Блокноты SageMaker Studio

TLDR: используйте блокноты SageMaker Studio, когда:

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

Размеры наборов данных не очень велики (чтобы избежать длительных ячеек ноутбука).

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

Опыт разработчиков

Вы можете использовать эту возможность, просто запустив блокнот в SageMaker Studio и выбрав либо готовый образ SageMaker Studio, либо собственный пользовательский образ студии. Вы можете увеличивать или уменьшать размер экземпляра (виртуальный ЦП, память), на котором работает ноутбук, что позволяет масштабировать его по мере необходимости.

Применимость этапа жизненного цикла машинного обучения

Хотя эта возможность в основном доступна для использования на этапе экспериментов, Studio недавно добавила также возможность запуска ноутбука как автоматизированного задания.

Поддерживаемые типы данных и размеры наборов данных

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

Расходы

Это будет зависеть от того, какой тип инстанса вы выберете для запуска образа студии. Помните, что ваш блокнот работает внутри изображения. По умолчанию Studio запускает все ядра, привязанные к процессору, на ml.t3.medium, а все ядра, привязанные к графическому процессору, — на ml.g4dn.xlarge. но вы можете типы экземпляров.

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

3. Склеивание интерактивных сеансов в блокнотах SageMaker

TLDR: используйте интерактивный сеанс Glue, когда:

- Вы хотите испытать бессерверную подготовку данных в SageMaker.

- Вы хотите использовать Spark

Опыт разработчиков

Вы можете использовать эту возможность, выбрав соответствующий образ SageMaker Studio (SparkAnalytics 1.0, SparkAnalytics 2.0) и ядро ​​(Glue Python [PySpark и Ray] и Glue Spark) в записных книжках SageMaker Studio. Просто запустите новый блокнот, выберите правильный образ и ядро ​​и начните выполнять код обработки данных в блокноте. Выполнение кода происходит на бессерверном управляемом искровом кластере SageMaker.

Применимость этапа жизненного цикла машинного обучения

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

Поддерживаемые типы данных и размеры наборов данных

Так как это все обработка на основе искры под капотом, все типы данных, поддерживаемые искрой, также поддерживаются здесь. Он может обрабатывать 10 ТБ данных для обработки. Он также поддерживает Ray в качестве фреймворка, так что снова будут работать поддерживаемые Ray типы данных.

Объем настройки

Несмотря на то, что это бессерверное предложение, вы можете предоставить свои дополнительные библиотеки и несколько py-файлов при отправке заданий на обработку. Ознакомьтесь с этим кодом для справки.

Расходы

При использовании интерактивных сеансов AWS Glue на ноутбуках SageMaker Studio с вас взимается отдельная плата за использование ресурсов на ноутбуках AWS Glue и Studio. Ознакомьтесь с разделом Цены на интерактивные сеансы AWS Glue для получения более подробной информации.

4. Amazon EMR через SageMaker Studio

TLDR: используйте EMR с SageMaker Studio, когда:

- У вас есть петабайты данных для обработки.

- Вы хотите использовать крупномасштабную распределенную обработку на Spark

- Вы уже знакомы со стеком инфраструктуры Hadoop.

Опыт разработчиков

Вы можете использовать эту возможность с SageMaker Studio. Просто запустите новый блокнот, выберите соответствующий образ (Data Science, SparkMagic) и ядро ​​(PySpark, Python3) и подключитесь к существующему кластеру EMR либо в рамках одной учетной записи, либо между учетными записями. Вы можете отправить задание обработки EMR прямо из записной книжки, и задание будет запущено удаленно в кластере EMR.

Применимость этапа жизненного цикла машинного обучения

Вы можете использовать это на этапе экспериментов, а также в рамках автоматизации, поскольку SageMaker Pipelines также имеет шаг EMR.

Поддерживаемые типы данных и размеры наборов данных

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

Объем настройки

Вы можете настроить среду выполнения (ваш кластер EMR) в соответствии с вашими требованиями. SageMaker.

Расходы

Вы платите за использование ноутбука в Студии до момента его запуска. Подробности смотрите в разделе Цены на SageMaker Studio. Наряду с этим вы также платите за выполнение задания обработки EMR. Подробности смотрите в разделе Цены EMR.

Совет для профессионалов. Поскольку и EMR, и интерактивный сеанс Glue обеспечивают обработку на основе искры, когда выбирать?

Выберите сеанс EMR вместо сеанса Glue Interactive, если:

- У вас есть петабайты данных для обработки

- Вы уже знакомы со стеком инфраструктуры Hadoop.

- Вы хотите иметь больший контроль над средой выполнения с точки зрения настройки

Выберите сеанс Glue Interactive вместо EMR, если:

- У вас есть ТБ данных для обработки

- Вы не хотите самостоятельно управлять искровой инфраструктурой

- У вас меньше настроек для выполнения в вашей среде выполнения

5. Обработка Amazon SageMaker

TLDR: используйте обработку SageMaker, когда:

Вы хотите подготовить данные, написав/используя код обработки данных и библиотеки

Вы хотите добиться максимальной степени настройки среди всех вариантов обработки данных в SageMaker.

Вы хотите использовать распределенную обработку на основе искры.

Вы хотите, чтобы обработка была полностью автоматизирована.

Amazon SageMaker Обработка универсального предложения кластер по запросу от SageMaker, которое можно использовать для запуска любого кода с любым контейнером и зависимостями по вашему выбору. Он также предоставляет два управляемых контейнера: Контейнер Scikit-Learn и Контейнер Spark. Для каждого задания обработки SageMaker запускает эфемерный кластер, запускает ваше задание обработки, а затем выключает кластер, как только задание завершено.

Опыт разработчиков

По сути, это API, поэтому лучший способ работать с ним — использовать API, используя только код.

Применимость этапа жизненного цикла машинного обучения

Его полезно использовать после того, как вы разобрались с кодом обработки и хотите запустить его на своем необработанном наборе данных. Таким образом, лучшее применение этой функции — автоматизация конвейеров обработки/обучения данных. Хотя вы все еще можете попробовать использовать его для постепенного создания кода обработки на этапе исследования, но время прогрева кластера замедлит вас.

Поддерживаемые типы данных и размеры наборов данных

Поскольку это просто кластер по запросу, не имеет значения, какой тип данных у вас есть, вы можете выбрать обработку любого типа данных в SageMaker Processing. Что касается размеров набора данных, он может с комфортом обрабатывать до 100 ГБ данных.

Объем настройки

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

Расходы

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

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

Заключение

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