В 2021 году мы запустили Проактивные сервисы поддержки AWS в качестве части Поддержка предприятий AWS план. С момента его появления мы помогли сотням клиентов оптимизировать их рабочие нагрузки, установить ограничения и улучшить видимость затрат и использования их рабочих нагрузок машинного обучения (ML).
В этой серии сообщений мы делимся извлеченными уроками об оптимизации затрат в Создатель мудреца Амазонки. В этом посте мы сосредоточимся на предварительной обработке данных с использованием Обработка Amazon SageMaker и Обработчик данных Amazon SageMaker рабочие места.
Предварительная обработка данных играет ключевую роль в ориентированном на данные подходе ИИ. Однако подготовка необработанных данных для обучения и оценки машинного обучения часто является утомительной и сложной задачей с точки зрения вычислительных ресурсов, времени и человеческих усилий. Подготовка данных обычно должна быть интегрирована из разных источников и иметь дело с отсутствующими или зашумленными значениями, выбросами и т. д.
Кроме того, в дополнение к обычным задачам извлечения, преобразования и загрузки (ETL), командам машинного обучения иногда требуются более продвинутые возможности, такие как создание быстрых моделей для оценки данных и получения оценок важности функций или оценки модели после обучения в рамках конвейера MLOps.
SageMaker предлагает две функции, специально разработанные для решения этих проблем: SageMaker Processing и Data Wrangler. SageMaker Processing позволяет легко выполнять предварительную обработку, постобработку и оценку модели в полностью управляемой инфраструктуре. Data Wrangler сокращает время, необходимое для агрегирования и подготовки данных, упрощая процесс интеграции источников данных и разработки функций с помощью единого визуального интерфейса и полностью распределенной среды обработки данных.
Обе функции SageMaker обеспечивают большую гибкость благодаря нескольким вариантам ввода-вывода, хранения и вычислений. Однако неправильная установка этих параметров может привести к ненужным затратам, особенно при работе с большими наборами данных.
В этом посте мы проанализируем факторы ценообразования и предоставим рекомендации по оптимизации затрат для заданий SageMaker Processing и Data Wrangler.
Обработка SageMaker
SageMaker Processing — это управляемое решение для выполнения рабочих нагрузок обработки данных и оценки моделей. Вы можете использовать его на этапах обработки данных, таких как разработка функций, проверка данных, оценка модели и интерпретация модели в рабочих процессах ML. С помощью SageMaker Processing вы можете создавать свои собственные сценарии обработки и создавать собственный контейнер или использовать контейнер, управляемый SageMaker, с такими распространенными платформами, как scikit-learn, Lime, Spark и другими.
SageMaker Processing взимает плату за выбранный вами тип инстанса в зависимости от продолжительности использования и выделенного хранилища, подключенного к этому инстансу. В части 1 мы показали, как начать использовать Анализ затрат AWS определить возможности оптимизации затрат в SageMaker.
Вы можете отфильтровать затраты на обработку, применив фильтр к типу использования. Названия этих типов использования следующие:
REGION-Processing:instanceType
(например,USE1-Processing:ml.m5.large
)REGION-Processing:VolumeUsage.gp2
(например,USE1-Processing:VolumeUsage.gp2
)
Чтобы просмотреть стоимость обработки SageMaker в Cost Explorer, начните с фильтрации с помощью SageMaker для Сервис, А для Тип использования, вы можете выбрать все часы работы экземпляров обработки, введя processing:ml
префикс и выбор списка в меню.
Избегайте затрат на обработку и разработку конвейера
Перед определением правильного размера и оптимизацией продолжительности выполнения задания SageMaker Processing мы проверяем наличие высокоуровневых метрик о прошлых запусках задания. Вы можете выбрать один из двух способов сделать это.
Во-первых, вы можете получить доступ к Обработка на консоли SageMaker.
Кроме того, вы можете использовать API list_processing_jobs.
Статус задания обработки может быть InProgress
, Completed
, Failed
, Stopping
или Stopped
.
При разработке новых конвейеров MLOps часто встречается большое количество неудачных заданий. Однако вы всегда должны тестировать и прилагать все усилия для проверки заданий перед их запуском в SageMaker, поскольку за используемые ресурсы взимается плата. Для этой цели вы можете использовать SageMaker Processing в локальный режим. Локальный режим — это функция SageMaker SDK, позволяющая создавать средства оценки, процессоры и конвейеры и развертывать их в локальной среде разработки. Это отличный способ протестировать сценарии перед их запуском в среде, управляемой SageMaker. Локальный режим поддерживается как управляемыми контейнерами SageMaker, так и теми, которые вы предоставляете сами. Чтобы узнать больше о том, как использовать локальный режим с Конвейеры Amazon SageMaker, Ссылаться на Локальный режим.
Оптимизация затрат, связанных с вводом-выводом
Задания SageMaker Processing предлагают доступ к трем источникам данных в рамках управляемого ввод обработки: Простой сервис хранения Amazon (Амазон С3), Амазонка Афинаи Амазонка Redshift. Для получения дополнительной информации см. ОбработкаS3Input, AthenaDatasetОпределениеи Определение RedshiftDatasetDefinition, Соответственно.
Прежде чем приступить к оптимизации, важно отметить, что хотя задания SageMaker Processing поддерживают эти источники данных, они не являются обязательными. В своем коде обработки вы можете реализовать любой метод загрузки данных доступа из любого источника (при условии, что экземпляр обработки может получить к ним доступ).
Чтобы лучше понять производительность обработки и определить возможности оптимизации, мы рекомендуем следующее: лучшие практики ведения журнала в вашем сценарии обработки. SageMaker публикует журналы обработки в Amazon CloudWatch.
В следующем примере журнала заданий мы видим, что обработка скрипта заняла 15 минут (между Start custom script
и End custom script
).
Однако на консоли SageMaker мы видим, что задание заняло 4 дополнительные минуты (почти 25% от общего времени выполнения задания).
Это связано с тем, что в дополнение к тому времени, которое занял наш скрипт обработки, загрузка и выгрузка данных, управляемых SageMaker, также заняла время (4 минуты). Если это окажется значительной частью затрат, рассмотрите альтернативные способы ускорения загрузки, такие как использование Boto3 API с многопроцессорной обработкой для одновременной загрузки файлов или использование сторонних библиотек, таких как WebDataset или s5cmd, для более быстрой загрузки с Amazon S3. . Для получения дополнительной информации см. Распараллеливание рабочих нагрузок S3 с помощью s5cmd. Обратите внимание, что такие методы могут привести к взиманию платы в Amazon S3 из-за передача данных.
Обработка заданий также поддерживает Режим трубы. С помощью этого метода SageMaker направляет входные данные из источника непосредственно в контейнер обработки в именованные каналы без использования тома хранилища машинного обучения, тем самым устраняя время загрузки данных и меньший объем диска. Однако для этого требуется более сложная модель программирования, чем просто чтение из файлов на диске.
Как упоминалось ранее, SageMaker Processing также поддерживает Athena и Amazon Redshift в качестве источников данных. При настройке задания обработки с этими источниками SageMaker автоматически копирует данные в Amazon S3, а экземпляр обработки извлекает данные из местоположения Amazon S3. Однако по завершении задания процесс управляемой очистки не выполняется, а скопированные данные по-прежнему остаются в Amazon S3, и за их хранение может взиматься дополнительная плата. Поэтому при использовании источников данных Athena и Amazon Redshift обязательно реализуйте процедуру очистки, например функцию Lambda, которая работает по расписанию или в Лямбда-шаг как часть конвейера SageMaker.
Как и загрузка, выгрузка артефактов обработки также может быть возможностью для оптимизации. Когда выходные данные задания обработки настраиваются с помощью ProcessingS3Output
параметр, вы можете указать, какой S3UploadMode
использовать. В S3UploadMode
значение параметра по умолчанию EndOfJob
, который заставит SageMaker загрузить результаты после завершения задания. Однако, если ваше задание обработки создает несколько файлов, вы можете установить S3UploadMode
в Continuous
, тем самым обеспечивая загрузку артефактов одновременно с продолжением обработки и сокращая время выполнения задания.
Экземпляры заданий обработки нужного размера
Выбор правильного типа и размера экземпляра является основным фактором оптимизации стоимости заданий SageMaker Processing. Вы можете изменить размер экземпляра, перейдя на другую версию в том же семействе экземпляров или перейдя в другое семейство экземпляров. При миграции в рамках одного семейства экземпляров вам нужно учитывать только CPU/GPU и память. Для получения дополнительной информации и общих рекомендаций по выбору правильных ресурсов обработки см. Обеспечение эффективных вычислительных ресурсов в Amazon SageMaker.
Чтобы точно настроить выбор экземпляра, мы начинаем с анализа показателей задания обработки в CloudWatch. Для получения дополнительной информации см. Мониторинг Amazon SageMaker с помощью Amazon CloudWatch.
CloudWatch собирает необработанные данные из SageMaker и преобразует их в удобочитаемые показатели практически в реальном времени. Хотя эта статистика хранится в течение 15 месяцев, консоль CloudWatch ограничивает поиск метриками, которые были обновлены за последние 2 недели (это гарантирует отображение только текущих вакансий). Метрики заданий обработки можно найти в пространстве имен /aws/sagemaker/ProcessingJobs, а собранные метрики CPUUtilization
, MemoryUtilization
, GPUUtilization
, GPUMemoryUtilization
и DiskUtilization
.
На следующем снимке экрана показан пример задания обработки в CloudWatch, которое мы видели ранее.
В этом примере мы видим усредненные значения ЦП и памяти (это значение по умолчанию в CloudWatch): среднее использование ЦП составляет 0.04%, памяти 1.84% и использование диска 13.7%. Для правильного размера всегда учитывайте максимальное использование ЦП и памяти (в этом примере максимальное использование ЦП составляло 98% в первые 3 минуты). Как правило, если максимальное использование ЦП и памяти постоянно меньше 40%, вы можете безопасно разрезать машину пополам. Например, если вы использовали инстанс ml.c5.4xlarge, вы можете перейти на ml.c5.2xlarge, что сократит ваши затраты на 50 %.
Вакансии обработчика данных
Data Wrangler - это функция Студия Amazon SageMaker которое обеспечивает воспроизводимое и масштабируемое решение для исследования и обработки данных. Вы используете интерфейс Data Wrangler для интерактивного импорта, анализа, преобразования и придания характеристик своим данным. Эти шаги записываются в рецепт (файл .flow), который затем можно использовать в задании Data Wrangler. Это помогает вам повторно применять одни и те же преобразования данных к вашим данным, а также масштабировать их до распределенного задания пакетной обработки данных либо как часть конвейера машинного обучения, либо независимо.
Руководство по оптимизации приложения Data Wrangler в Studio см. во второй части этой серии.
В этом разделе мы сосредоточимся на оптимизации заданий Data Wrangler.
Data Wrangler использует SageMaker Spark обрабатывает задания с контейнером, управляемым Data Wrangler. Этот контейнер выполняет указания из файла .flow в задании. Как и в случае любых заданий обработки, Data Wrangler взимает плату за выбранные вами экземпляры в зависимости от продолжительности использования и предоставленного хранилища, подключенного к этому экземпляру.
В Cost Explorer вы можете отфильтровать стоимость заданий Data Wrangler, применив фильтр к типу использования. Названия этих типов использования:
REGION-processing_DW:instanceType
(например,USE1-processing_DW:ml.m5.large
)REGION-processing_DW:VolumeUsage.gp2
(например,USE1-processing_DW:VolumeUsage.gp2
)
Чтобы просмотреть стоимость Data Wrangler в Cost Explorer, отфильтруйте сервис для использования SageMaker, а для Тип использования, выбрать processing_DW
префикс и выберите список в меню. Это покажет вам расходы, связанные как с использованием инстанса (в часах), так и с объемом хранилища (ГБ). (Если вы хотите увидеть затраты Studio Data Wrangler, вы можете отфильтровать тип использования по Studio_DW
префикс.)
Правильный размер и расписание экземпляров заданий Data Wrangler
На данный момент Data Wrangler поддерживает только экземпляры m5 со следующими размерами экземпляров: ml.m5.4xlarge, ml.m5.12xlarge и ml.m5.24xlarge. Вы можете использовать функцию распределенной работы, чтобы точно настроить стоимость работы. Например, предположим, что вам нужно обработать набор данных, для которого требуется 350 ГиБ оперативной памяти. 4xlarge (128 ГиБ) и 12xlarge (256 ГиБ) могут не обрабатываться, и вам придется использовать экземпляр m5.24xlarge (768 ГиБ). Однако вы можете использовать два инстанса m5.12xlarge (2 * 256 ГиБ = 512 ГиБ) и снизить стоимость на 40 % или три инстанса m5.4xlarge (3 * 128 ГиБ = 384 ГиБ) и сэкономить 50 % ресурсов m5.24xlarge. стоимость экземпляра. Следует отметить, что это приблизительные значения, и что распределенная обработка может привести к некоторым накладным расходам, которые повлияют на общее время выполнения.
При изменении типа экземпляра обязательно обновите Конфигурация искры соответственно. Например, если у вас есть начальное задание экземпляра ml.m5.4xlarge, настроенное со свойствами spark.driver.memory
установить на 2048 и spark.executor.memory
установить на 55742, а затем масштабировать до ml.m5.12xlarge, эти значения конфигурации необходимо увеличить, иначе они станут узким местом в задании обработки. Вы можете обновить эти переменные в графическом интерфейсе Data Wrangler или в файле конфигурации, добавленном к пути конфигурации (см. следующие примеры).
Еще одна интересная особенность Data Wrangler — возможность установить запланированное задание. Если вы периодически обрабатываете данные, вы можете создать расписание для автоматического запуска задания обработки. Например, вы можете создать расписание, которое автоматически запускает задание обработки при получении новых данных (например, см. Экспорт в Amazon S3 or Экспорт в магазин функций Amazon SageMaker). Однако следует помнить, что при создании расписания Data Wrangler создает eventRule
в EventBridge. Это означает, что с вас также будет взиматься плата за созданные вами правила событий (а также за экземпляры, используемые для запуска задания обработки). Для получения дополнительной информации см. Цены на Amazon EventBridge.
Заключение
В этом посте мы предоставили рекомендации по анализу затрат и передовым методам предварительной обработки.
данных с помощью заданий SageMaker Processing и Data Wrangler. Как и в случае с предварительной обработкой, при построении, обучении и запуске моделей машинного обучения существует множество параметров и параметров конфигурации, которые могут привести к ненужным затратам. Поэтому, поскольку машинное обучение зарекомендовало себя как мощный инструмент в разных отраслях, рабочие нагрузки машинного обучения должны оставаться экономически эффективными.
SageMaker предлагает широкий и глубокий набор функций для облегчения каждого шага конвейера машинного обучения.
Эта надежность также предоставляет возможности для непрерывной оптимизации затрат без ущерба для производительности или гибкости.
Об авторах
Дипали Раджале является старшим специалистом по AI/ML в AWS. Она работает с корпоративными клиентами, предоставляя технические рекомендации с рекомендациями по развертыванию и обслуживанию решений AI/ML в экосистеме AWS. Она работала с широким кругом организаций над различными вариантами использования глубокого обучения, включающими НЛП и компьютерное зрение. Она увлечена тем, чтобы дать организациям возможность использовать генеративный ИИ для улучшения их опыта использования. В свободное время любит кино, музыку и литературу.
Ури Розенберг является техническим менеджером специалиста по искусственному интеллекту и машинному обучению в Европе, на Ближнем Востоке и в Африке. Находясь в Израиле, Ури работает над тем, чтобы предоставить корпоративным клиентам все, что связано с машинным обучением, для проектирования, создания и эксплуатации в масштабе. В свободное время любит кататься на велосипеде, ходить в походы и наблюдать за закатами (минимум раз в день).
- SEO-контент и PR-распределение. Получите усиление сегодня.
- ПлатонАйСтрим. Анализ данных Web3. Расширение знаний. Доступ здесь.
- Чеканка будущего с Эдриенн Эшли. Доступ здесь.
- Покупайте и продавайте акции компаний PREIPO® с помощью PREIPO®. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/part-3-analyze-amazon-sagemaker-spend-and-determine-cost-optimization-opportunities-based-on-usage-part-3-processing-and-data-wrangler-jobs/
- :имеет
- :является
- :нет
- $UP
- 1
- 100
- 13
- 15%
- 2021
- 7
- a
- способность
- в состоянии
- О нас
- доступ
- доступа
- через
- дополнение
- дополнительный
- продвинутый
- влиять на
- Африка
- После
- AI
- AI / ML
- Все
- позволяет
- причислены
- Несмотря на то, что
- всегда
- Amazon
- Амазонка Redshift
- Создатель мудреца Амазонки
- Amazon Web Services
- an
- анализ
- анализировать
- анализ
- и
- Другой
- любой
- API
- приложение
- Применение
- подхода
- МЫ
- AS
- At
- автоматически
- в среднем
- AWS
- основанный
- BE
- , так как:
- до
- ЛУЧШЕЕ
- лучшие практики
- Лучшая
- между
- большой
- изоферменты печени
- приносить
- строить
- Строительство
- by
- CAN
- возможности
- захваченный
- случаев
- изменения
- заряженный
- расходы
- проверка
- Выберите
- Выбирая
- клиент
- код
- Общий
- обычно
- неотразимый
- зАВЕРШАЕТ
- сложный
- компромат
- вычисление
- Вычисление
- компьютер
- Компьютерное зрение
- Конфигурация
- Рассматривать
- Консоли
- Container
- Контейнеры
- продолжается
- (CIJ)
- Цена
- рентабельным
- Расходы
- может
- Создайте
- создает
- Создающий
- Текущий
- изготовленный на заказ
- Клиенты
- Порез
- данным
- Подготовка данных
- обработка данных
- Наборы данных
- день
- сделка
- занимавшийся
- глубоко
- глубокое обучение
- По умолчанию
- требующий
- развертывание
- развертывание
- Проект
- предназначенный
- Определять
- развивающийся
- Развитие
- различный
- непосредственно
- распределенный
- do
- скачать
- водитель
- два
- продолжительность
- каждый
- Ранее
- легко
- восток
- экосистема
- эффективный
- усилие
- или
- уничтожение
- расширение прав и возможностей
- расширение прав и возможностей
- позволяет
- позволяет
- Проект и
- повышать
- обеспечивает
- входящий
- Предприятие
- Окружающая среда
- особенно
- налаживает
- Оценки
- Европе
- оценивать
- оценка
- События
- Каждая
- пример
- Примеры
- опыт
- исследование
- исследователь
- извлечение
- облегчающий
- факт
- фактор
- факторы
- Oшибка
- семья
- быстрее
- Особенность
- Особенности
- Файл
- Файлы
- фильтр
- фильтрация
- Во-первых,
- Трансформируемость
- поток
- Фокус
- после
- следующим образом
- Что касается
- найденный
- каркасы
- от
- полностью
- функция
- Gain
- Общие
- генеративный
- Генеративный ИИ
- получить
- большой
- руководство
- Половина
- Есть
- he
- помощь
- помог
- помогает
- ее
- High
- на высшем уровне
- его
- исторический
- имеет
- ЧАСЫ
- Как
- How To
- Однако
- HTML
- HTTP
- HTTPS
- человек
- Сотни
- определения
- if
- осуществлять
- Импортировать
- значение
- важную
- улучшать
- in
- неверно
- расширились
- самостоятельно
- промышленности
- информация
- Инфраструктура
- начальный
- вход
- размышления
- пример
- интегрированный
- интеграции.
- Интерфейс
- интерпретация
- в
- вводить
- Введение
- с участием
- Израиль
- вопросы
- IT
- ЕГО
- саму трезвость
- работа
- Джобс
- JPG
- хранится
- большой
- Фамилия
- новее
- запустили
- запуск
- вести
- УЧИТЬСЯ
- узнали
- изучение
- Меньше
- Уроки
- Уроки, извлеченные
- Кредитное плечо
- библиотеки
- такое как
- известь
- рамки
- Список
- литература
- загрузка
- локальным
- расположение
- журнал
- искать
- машина
- обучение с помощью машины
- Сохранение
- основной
- сделать
- управляемого
- менеджер
- обязательный
- многих
- максимальный
- Май..
- означает
- Память
- упомянутый
- Меню
- метод
- методы
- Метрика
- средняя
- Ближний Восток
- может быть
- мигрирующий
- минимальный
- Минут
- отсутствующий
- ML
- млн операций в секунду
- режим
- модель
- Модели
- момент
- месяцев
- БОЛЕЕ
- двигаться
- Кино
- с разными
- Музыка
- Названный
- имена
- Необходимость
- потребности
- Новые
- НЛП
- нет
- номер
- of
- предлагают
- Предложения
- .
- on
- консолидировать
- те,
- только
- работать
- Возможности
- Возможность
- оптимизация
- Оптимизировать
- оптимизирующий
- Опции
- or
- заказ
- организации
- в противном случае
- наши
- внешний
- выходной
- общий
- собственный
- параметр
- часть
- страстный
- путь
- производительность
- трубопровод
- основной
- план
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- После
- Блог
- мощный
- практиками
- подготовка
- Подготовить
- подготовка
- цены
- Проактивная
- процесс
- Процессы
- обработка
- процессоры
- производит
- Программирование
- свойства
- доказывает
- обеспечивать
- при условии
- приводит
- обеспечение
- Публикует
- цель
- САЙТ
- Оперативная память
- ассортимент
- Сырье
- Reading
- рецепт
- рекомендовать
- уменьшить
- снижает
- Связанный
- оставаться
- повторяемый
- требовать
- требуется
- Полезные ресурсы
- соответственно
- Итоги
- обзоре
- правую
- прочность
- Роли
- Правило
- условиями,
- Run
- Бег
- безопасно
- sagemaker
- то же
- Сохранить
- масштабируемые
- Шкала
- график
- считаться
- scikit учиться
- скрипты
- SDK
- Поиск
- Раздел
- посмотреть
- выбор
- выбор
- старший
- Серии
- обслуживание
- Услуги
- набор
- установка
- настройки
- несколько
- Поделиться
- она
- должен
- показывать
- показал
- показанный
- Шоу
- аналогичный
- просто
- упрощение
- просто
- одновременно
- с
- одинарной
- Размер
- Размеры
- меньше
- So
- Решение
- Решения
- некоторые
- Источник
- Источники
- Искриться
- специалист
- конкретно
- скорость
- тратить
- Начало
- и политические лидеры
- статистика
- Статус:
- Шаг
- Шаги
- По-прежнему
- диск
- потоки
- студия
- такие
- поставка
- поддержка
- поддерживать активную
- Поддержанный
- Поддержка
- принимает
- Сложность задачи
- задачи
- команды
- Технический
- terms
- тестXNUMX
- чем
- который
- Ассоциация
- Источник
- их
- Их
- тогда
- Там.
- тем самым
- следовательно
- Эти
- они
- вещи
- сторонние
- этой
- те
- три
- время
- в
- приняли
- инструментом
- Всего
- Обучение
- Transform
- преобразований
- два
- напишите
- Типы
- нежелательный
- Обновление ПО
- обновление
- Загрузка
- Применение
- использование
- используемый
- использования
- через
- VALIDATE
- Проверка
- ценностное
- Наши ценности
- различный
- версия
- Вид
- видимость
- видение
- объем
- хотеть
- законопроект
- наблюдение
- Путь..
- способы
- we
- Web
- веб-сервисы
- Недели
- ЧТО Ж
- были
- когда
- который
- широкий
- Широкий диапазон
- будете
- в
- без
- работавший
- Рабочие процессы
- работает
- Ты
- ВАШЕ
- себя
- зефирнет