В 2021 году мы запустили Проактивные сервисы поддержки AWS в качестве части Поддержка предприятий AWS план. С момента его появления мы помогли сотням клиентов оптимизировать их рабочие нагрузки, установить ограничения и улучшить видимость затрат и использования их рабочих нагрузок машинного обучения (ML).
В этой серии сообщений мы делимся извлеченными уроками об оптимизации затрат в Создатель мудреца Амазонки. В этом посте мы сосредоточимся на учебных заданиях SageMaker.
Вакансии для обучения SageMaker
Задания обучения SageMaker — это асинхронные пакетные процессы со встроенными функциями для обучения и оптимизации моделей машинного обучения.
С помощью учебных заданий SageMaker вы можете использовать собственный алгоритм или выбрать один из более чем 25 встроенных алгоритмов. SageMaker поддерживает различные источники данных и шаблоны доступа, распределенное обучение, включая гетерогенные кластеры, а также функции управления экспериментами и автоматическую настройку модели.
Стоимость задания обучения зависит от используемых вами ресурсов (экземпляров и хранилища) в течение времени (в секундах) работы этих экземпляров. Сюда входит время, необходимое для обучения, и, если вы используете функция теплого бассейна, период поддержания активности, который вы настроили. В Часть 1, мы показали, как начать использовать Анализ затрат AWS определить возможности оптимизации затрат в SageMaker. Вы можете фильтровать затраты на обучение, применив фильтр по типу использования. Названия этих типов использования следующие:
REGION-Train:instanceType
(например,USE1-Train:ml.m5.large
)REGION-Train:VolumeUsage.gp2
(например,USE1-Train:VolumeUsage.gp2
)
Чтобы просмотреть разбивку затрат на обучение в Cost Explorer, вы можете ввести train:
как префикс для Тип использования. Если вы отфильтруете только использованные часы (см. следующий снимок экрана), Cost Explorer создаст два графика: затраты и использование. Это представление поможет вам расставить приоритеты в возможностях оптимизации и определить, какие экземпляры являются долгосрочными и дорогостоящими.
Прежде чем оптимизировать существующую работу по обучению, мы рекомендуем следовать передовым практикам, изложенным в разделе Оптимизация затрат на машинное обучение с помощью Amazon SageMaker: проверьте свой код локально и используйте локальный режим для тестирования по возможности используйте предварительно обученные модели и рассмотрите управляемая точечная тренировка (что позволяет оптимизировать затраты до 90 % по сравнению с инстансами по требованию).
При запуске задания по требованию оно проходит пять этапов: запуск, загрузка, обучение, загрузка и завершение. Вы можете увидеть эти этапы и описания на странице задания по обучению в консоли SageMaker.
С точки зрения ценообразования с вас взимается плата за этапы загрузки, обучения и загрузки.
Анализ этих этапов — первый шаг к определению того, где оптимизировать затраты на обучение. В этом посте мы обсудим этапы загрузки и обучения.
Этап загрузки
В предыдущем примере этап загрузки занял менее минуты. Однако если загрузка данных является важной частью затрат на обучение, вам следует учитывать используемый источник данных и методы доступа. Задания обучения SageMaker изначально поддерживают три источника данных: Эластичная файловая система Amazon (Амазон ЭФС), Простой сервис хранения Amazon (Амазон S3) и Amazon FSx для блеска. Для Amazon S3 SageMaker предлагает три управляемых способа доступа вашего алгоритма к обучению: файловый режим (когда данные загружаются в блочное хранилище экземпляра), конвейерный режим (данные передаются в экземпляр в потоковом режиме, тем самым устраняя продолжительность фазы загрузки). и режим Fast File (сочетает в себе простоту использования существующего режима File с производительностью режима Pipe). Подробные инструкции по выбору правильного источника данных и методов доступа см. Выберите лучший источник данных для своей учебной работы по Amazon SageMaker.
При использовании управляемого точечного обучения любые повторные этапы загрузки, произошедшие из-за прерывания, не взимаются (поэтому с вас взимается плата за продолжительность загрузки данных только один раз).
Важно отметить, что хотя учебные задания SageMaker поддерживают упомянутые нами источники данных, они не являются обязательными. В своем обучающем коде вы можете реализовать любой метод загрузки обучающих данных из любого источника (при условии, что обучающий экземпляр имеет к ним доступ). Существуют дополнительные способы ускорить загрузку, например использование API Boto3 с многопроцессорной обработкой для одновременной загрузки файлов или использование сторонних библиотек, таких как WebDataset или s5cmd, для более быстрой загрузки с Amazon S3. Для получения дополнительной информации см. Распараллеливание рабочих нагрузок S3 с помощью s5cmd.
Этап обучения
Оптимизация стоимости этапа обучения состоит из оптимизации двух векторов: выбора подходящей инфраструктуры (семейства и размера инстансов) и оптимизации самого обучения. Мы можем грубо разделить экземпляры обучения на две категории: ускоренные на основе графического процессора, в основном для моделей глубокого обучения, и на основе ЦП для распространенных платформ машинного обучения. Рекомендации по выбору правильного семейства экземпляров для обучения см. Обеспечение эффективных вычислительных ресурсов в Amazon SageMaker. Если для вашего обучения требуются экземпляры графических процессоров, мы рекомендуем обратиться к видео Как выбрать экземпляры графического процессора Amazon EC2 для глубокого обучения.
В качестве общего руководства: если для вашей рабочей нагрузки требуется графический процессор NVIDIA, мы обнаружили, что клиенты получают значительную экономию средств, используя два Эластичное вычислительное облако Amazon Типы экземпляров (Amazon EC2): мл.g4dn и мл.g5. ml.g4dn оснащен NVIDIA T4 и предлагает особенно низкую стоимость памяти. Экземпляр ml.g5 оснащен тензорным ядром NVIDIA A10g и имеет самую низкую стоимость флопа за CUDA (fp32).
AWS предлагает специальные функции экономии средств для обучения глубокому обучению:
Чтобы правильно подобрать размер и оптимизировать свой экземпляр, сначала следует взглянуть на Amazon CloudWatch метрики, которые генерируют учебные задания. Для получения дополнительной информации см. Задания SageMaker и метрики конечной точки. Вы можете и дальше использовать CloudWatch метрики настраиваемого алгоритма для мониторинга эффективности обучения.
Эти показатели могут указывать на узкие места или избыточное выделение ресурсов. Например, если вы наблюдаете высокую загрузку ЦП при низкой загрузке графического процессора, вы можете решить проблему, используя гетерогенные кластеры. Другим примером может быть постоянное низкое использование ЦП на протяжении всего задания — это может привести к уменьшению размера экземпляра.
Если вы используете распределенное обучение, вам следует протестировать различные методы распространения (башня, Ring-AllReduce, зеркалирование и т. д.), чтобы проверить максимальное использование и соответствующим образом настроить параметры вашей платформы (пример см. Рекомендации по ускоренному обучению TensorFlow 1.x на Amazon SageMaker). Важно подчеркнуть, что вы можете использовать API распространения SageMaker и такие библиотеки, как Параллельное использование распределенных данных SageMaker, Параллельная модель SageMakerи Параллельное разделение данных SageMaker, которые оптимизированы для инфраструктуры AWS и помогают снизить затраты на обучение.
Обратите внимание, что распределенное обучение не обязательно масштабируется линейно и может привести к некоторым накладным расходам, которые повлияют на общее время выполнения.
Для моделей глубокого обучения другой метод оптимизации использует смешанную точность. Смешанная точность может ускорить обучение, тем самым сокращая как время обучения, так и использование памяти, практически не влияя на точность модели. Для получения дополнительной информации см. Обучение с параллелизмом данных и параллелизмом моделей в разделе Распределенное обучение в Amazon SageMaker.
Наконец, оптимизация параметров, специфичных для платформы, может оказать существенное влияние на оптимизацию процесса обучения. SageMaker автоматическая настройка модели находит гиперпараметры, которые работают лучше всего по выбранной вами объективной метрике. Установка времени обучения в качестве объективной метрики и конфигурации платформы в виде гиперпараметров может помочь устранить узкие места и сократить общее время обучения. Пример оптимизации настроек TensorFlow по умолчанию и устранения узкого места ЦП см. Aerobotics повышает скорость обучения в 24 раза на выборку с помощью Amazon SageMaker и TensorFlow.
Еще одна возможность оптимизировать время загрузки и обработки — рассмотреть возможность обучения на подмножестве ваших данных. Если ваши данные состоят из нескольких повторяющихся записей или функций с низким приростом информации, вы можете провести обучение на подмножестве данных и сократить время загрузки и обучения, а также использовать меньший экземпляр и Магазин эластичных блоков Amazon (Amazon EBS). Для примера см. Используйте подход, ориентированный на данные, чтобы свести к минимуму объем данных, необходимых для обучения моделей Amazon SageMaker.. Кроме того, Обработчик данных Amazon SageMaker может упростить анализ и создание обучающих выборок. Для получения дополнительной информации см. Создавайте случайные и стратифицированные выборки данных с помощью Amazon SageMaker Data Wrangler..
Отладчик SageMaker
Чтобы обеспечить эффективное обучение и использование ресурсов, SageMaker может профилировать вашу работу по обучению, используя Amazon SageMaker Отладчик. Предложения отладчика встроенные правила для оповещений о распространенных проблемах, влияющих на ваше обучение, таких как узкое место ЦП, увеличение памяти графического процессора или узкое место ввода-вывода, или вы можете создать свои собственные правила. Вы можете получить доступ и проанализировать созданный отчет в Студия Amazon SageMaker. Для получения дополнительной информации см. Пользовательский интерфейс отладчика Amazon SageMaker в экспериментах Amazon SageMaker Studio. На следующем снимке экрана показано представление отладчика в Studio.
Вы можете детализировать операторы и функции Python (раздел Топ операций на GPU раздел), которые запускаются для выполнения задания обучения. Встроенные правила отладчика для профилирования проблем, связанных с работой платформы наблюдения, включая чрезмерное время инициализации обучения из-за загрузки данных до начала обучения и выбросы длительности шагов в циклах обучения. Следует отметить, что хотя использование встроенных правил является бесплатным, стоимость пользовательских правил взимается в зависимости от экземпляра, который вы настраиваете на время выполнения задания обучения, и подключенного к нему хранилища.
Заключение
В этом посте мы предоставили рекомендации по анализу затрат и передовым методам обучения моделей машинного обучения с помощью учебных заданий SageMaker. Поскольку машинное обучение зарекомендовало себя как мощный инструмент во всех отраслях, обучение и использование моделей ML должно оставаться экономически эффективным. SageMaker предлагает широкий и глубокий набор функций для упрощения каждого этапа конвейера машинного обучения и предоставляет возможности оптимизации затрат без ущерба для производительности и гибкости.
Об авторах
Дипали Раджале является старшим специалистом по AI/ML в AWS. Она работает с корпоративными клиентами, предоставляя технические рекомендации с рекомендациями по развертыванию и обслуживанию решений AI/ML в экосистеме AWS. Она работала с широким кругом организаций над различными вариантами использования глубокого обучения, включающими НЛП и компьютерное зрение. Она увлечена тем, чтобы дать организациям возможность использовать генеративный ИИ для улучшения их опыта использования. В свободное время любит кино, музыку и литературу.
Ури Розенберг — технический менеджер по искусственному интеллекту и машинному обучению в Европе, на Ближнем Востоке и в Африке. Базируясь в Израиле, Ури работает над тем, чтобы дать корпоративным клиентам возможность проектировать, создавать и эксплуатировать все, что связано с машинным обучением, в больших масштабах. В свободное время он любит кататься на велосипеде, ходить в походы и увеличивать энтропию.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- ПлатонАйСтрим. Анализ данных Web3. Расширение знаний. Доступ здесь.
- Чеканка будущего с Эдриенн Эшли. Доступ здесь.
- Покупайте и продавайте акции компаний PREIPO® с помощью PREIPO®. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/part-4-analyze-amazon-sagemaker-spend-and-determine-cost-optimization-opportunities-based-on-usage-part-4-training-jobs/
- :имеет
- :является
- :нет
- :куда
- $UP
- 1
- 100
- 2021
- 24
- 7
- a
- в состоянии
- О нас
- ускоренный
- доступ
- соответственно
- точность
- через
- дополнительный
- адрес
- влиять на
- затрагивающий
- Африка
- AI
- AI / ML
- Оповещение
- алгоритм
- алгоритмы
- Все
- причислены
- Несмотря на то, что
- Amazon
- Amazon EC2
- Создатель мудреца Амазонки
- Студия Amazon SageMaker
- Amazon Web Services
- количество
- an
- анализ
- анализировать
- и
- Другой
- любой
- API
- Применить
- Применение
- подхода
- МЫ
- AS
- At
- Автоматический
- AWS
- основанный
- BE
- до
- ЛУЧШЕЕ
- лучшие практики
- большой
- Заблокировать
- изоферменты печени
- Breakdown
- приносить
- строить
- встроенный
- by
- CAN
- случаев
- категории
- заряженный
- Выберите
- Выбирая
- код
- комбинаты
- Общий
- Заполненная
- Вычисление
- компьютер
- Компьютерное зрение
- Конфигурация
- Рассматривать
- последовательный
- состоит
- Консоли
- Основные
- Цена
- экономия на издержках
- рентабельным
- дорогостоящий
- Расходы
- покрытый
- Создайте
- создание
- изготовленный на заказ
- Клиенты
- данным
- глубоко
- глубокое обучение
- По умолчанию
- развертывание
- Проект
- подробный
- Определять
- различный
- обсуждать
- распределенный
- распределенное обучение
- распределение
- приносит
- не
- вниз
- скачать
- два
- продолжительность
- каждый
- простота
- простота в использовании
- восток
- экосистема
- эффективный
- уничтожение
- расширение прав и возможностей
- расширение прав и возможностей
- Конечная точка
- повышать
- обеспечивать
- Enter
- Предприятие
- оборудованный
- налаживает
- Европе
- пример
- существующий
- опыт
- эксперимент
- исследователь
- облегчающий
- фактор
- семья
- БЫСТРО
- быстрее
- Особенность
- Особенности
- Файл
- Файлы
- фильтр
- находит
- Во-первых,
- Первый взгляд
- Фокус
- после
- следующим образом
- Что касается
- найденный
- Рамки
- каркасы
- Бесплатно
- от
- Функции
- далее
- Gain
- Общие
- порождать
- генерируется
- порождающий
- генеративный
- Генеративный ИИ
- получить
- идет
- GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР
- Графические процессоры
- Графики
- руководство
- Есть
- he
- помощь
- помог
- ее
- High
- Выделите
- его
- ЧАСЫ
- Как
- How To
- Однако
- HTML
- HTTP
- HTTPS
- Сотни
- определения
- if
- Влияние
- воздействуя
- осуществлять
- важную
- улучшать
- in
- включает в себя
- В том числе
- Увеличение
- повышение
- указывать
- промышленности
- информация
- Инфраструктура
- пример
- в
- вводить
- Введение
- с участием
- Израиль
- вопрос
- вопросы
- IT
- ЕГО
- саму трезвость
- работа
- Джобс
- JPG
- Сохранить
- запустили
- вести
- узнали
- изучение
- Меньше
- Уроки
- Уроки, извлеченные
- Кредитное плечо
- библиотеки
- такое как
- литература
- в местном масштабе
- посмотреть
- Низкий
- низший
- машина
- обучение с помощью машины
- Сохранение
- управляемого
- управление
- менеджер
- обязательный
- максимальный
- Память
- упомянутый
- метод
- методы
- метрический
- Метрика
- средняя
- Ближний Восток
- может быть
- минимальный
- минут
- смешанный
- ML
- режим
- модель
- Модели
- монитор
- БОЛЕЕ
- в основном
- Кино
- с разными
- Музыка
- имена
- обязательно
- потребности
- НЛП
- нет
- Nvidia
- цель
- произошло
- of
- Предложения
- on
- On-Demand
- ONE
- только
- работать
- Операционный отдел
- Операторы
- Возможности
- Возможность
- оптимизация
- Оптимизировать
- оптимизированный
- оптимизирующий
- or
- заказ
- организации
- внешний
- за
- общий
- собственный
- страница
- Параллельные
- параметры
- часть
- особенно
- страстный
- паттеранами
- Выполнять
- производительность
- период
- перспектива
- фаза
- труба
- трубопровод
- Часть
- план
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- бассейн
- возможное
- После
- Блог
- мощный
- практиками
- Точность
- цены
- Расставляйте приоритеты
- Проактивная
- процесс
- Процессы
- обработка
- Профиль
- профилирование
- при условии
- приводит
- обеспечение
- Питон
- случайный
- ассортимент
- рекомендовать
- уменьшить
- снижение
- оставаться
- удаление
- удаление
- повторный
- отчету
- требовать
- обязательный
- требуется
- ресурс
- Полезные ресурсы
- правую
- грубо
- условиями,
- Run
- Бег
- sagemaker
- экономия
- экономия
- Шкала
- секунды
- Раздел
- посмотреть
- видя
- выбор
- старший
- Серии
- Услуги
- набор
- установка
- настройки
- сегментированный
- Поделиться
- она
- должен
- показал
- Шоу
- значительный
- просто
- упростить
- с
- Размер
- меньше
- So
- Решения
- некоторые
- Источник
- Источники
- специалист
- конкретный
- скорость
- тратить
- Спотовая торговля
- и политические лидеры
- Начало
- начинается
- Шаг
- диск
- потоковый
- студия
- такие
- поддержка
- поддерживать активную
- Поддержка
- принимает
- Технический
- tensorflow
- тестXNUMX
- Тестирование
- чем
- который
- Ассоциация
- их
- Там.
- тем самым
- Эти
- они
- вещи
- сторонние
- этой
- те
- три
- Через
- по всему
- время
- раз
- в
- приняли
- инструментом
- Башня
- Train
- Обучение
- два
- напишите
- Типы
- ui
- Загрузка
- Применение
- использование
- используемый
- через
- VALIDATE
- различный
- Видео
- Вид
- видимость
- видение
- объем
- Смотреть
- способы
- we
- Web
- веб-сервисы
- ЧТО Ж
- когда
- который
- широкий
- Широкий диапазон
- будете
- без
- работавший
- работает
- X
- Ты
- ВАШЕ
- YouTube
- зефирнет