Рекомендации по работе с управляемыми теплыми пулами Amazon SageMaker Training

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

Обзор управляемых подогреваемых пулов SageMaker Training

SageMaker Model Training — это полностью управляемая функция, которая запускает экземпляры для каждого задания, обучает модель, запускает, а затем останавливает экземпляры после выполнения задания. Вам выставляется счет только за продолжительность работы с точностью до секунды. Эта полностью управляемая возможность дает вам возможность сосредоточиться на алгоритме машинного обучения (ML) и не беспокоиться о недифференцированной тяжелой работе, такой как управление инфраструктурой, при обучении ваших моделей.

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

  • Во-первых, это активные эксперименты с машинным обучением, проводимые специалистами по обработке и анализу данных. Создатель мудреца Амазонки учебную платформу, особенно при обучении больших моделей, таких как GPT3, которые требуют нескольких итераций, чтобы перейти в состояние, готовое к производству.
  • Второй — это программный запуск большого количества (порядка нескольких сотен или тысяч) последовательных заданий на однотипных экземплярах по расписанию. Например, поиск по параметрам или инкрементное обучение.

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

С помощью управляемых теплых пулов SageMaker Training специалисты по обработке и анализу данных и инженеры по машинному обучению могут выбрать сохранение тренировочных экземпляров SageMaker или кластеров с несколькими экземплярами в течение заранее определенного и реконфигурируемого времени (keep_alive_period_in_seconds) после завершения каждого обучающего задания. Таким образом, несмотря на то, что вы подвергаетесь штрафу за холодный запуск для первого задания обучения, запущенного на экземпляре или кластере, для всех последующих заданий обучения экземпляры уже запущены и работают. В результате эти последующие обучающие задания, которые начинаются на экземпляре до keep_alive_period_in_seconds expires не влечет за собой дополнительных затрат времени на холодный запуск. Это может сократить время запуска задания обучения примерно до менее чем 20 секунд (P90).

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

По сути, с управляемыми теплыми пулами SageMaker Training вы получаете сочетание использования управляемого экземпляра SageMaker с возможностью выбора и выделения ресурсов и самостоятельного управления использованием в течение коротких промежутков времени. Эти интервалы настраиваются перед заданием, но если во время keep_alive_period_in_seconds интервал, вам нужно уменьшить или увеличить его, вы можете сделать это. Увеличивается до keep_alive_period_in_seconds может выполняться с интервалом до 60 минут, при этом максимальный период для экземпляра или кластера составляет 7 дней.

Чтобы начать работу с теплыми бассейнами, сначала запросить увеличение квоты теплого пула, затем укажите keep_alive_period_in_seconds параметр при поступлении на учебную работу.

тесты

Мы выполнили контрольные тесты для измерения задержки запуска задания с использованием образа TensorFlow размером 1.34 ГБ, 2 ГБ данных и различных режимов ввода обучающих данных (Amazon FSx, Fast File Mode, File Mode). Тесты проводились на различных типах инстансов из семейств m4, c4, m5 и c5 в регионе us-east-2. Задержка запуска измерялась как время от создания задания до начала фактического задания обучения на экземплярах. Первые задания, которые запускали кластер и создавали теплый пул, имели задержку запуска 2–3 минуты. Эта более высокая задержка связана со временем, затрачиваемым на подготовку инфраструктуры, загрузку образа и загрузку данных. Последующие задания, в которых использовался кластер теплого пула, имели задержку запуска примерно 20 секунд для быстрого файлового режима (FFM) или Amazon FSx и 70 секунд для файлового режима (FM). Эта дельта является результатом того, что FM требует загрузки всего набора данных из Amazon S3 до начала задания.

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

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

Режим ввода данных Задержка запуска P90 (секунды)
Первая работа Работа в теплом бассейне (начиная со второй работы)
ФСх 136 19
Быстрый файловый режим 143 21
Файловый режим 176 70

Рекомендации по использованию теплых бассейнов

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

Когда следует использовать теплые бассейны?

Теплые бассейны рекомендуются в следующих случаях:

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

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

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

Задания обучения, повторно использующие теплый пул, запускаются быстрее, чем первое задание, создавшее теплый пул. Это связано с тем, что экземпляры машинного обучения продолжают работать между заданиями с кэшированным образом обучающего контейнера Docker, чтобы пропустить извлечение контейнера из Реестр Amazon Elastic Container (Амазон ЭКР). Однако даже при повторном использовании теплого пула определенные этапы инициализации выполняются для всех заданий. Оптимизация этих шагов может сократить время запуска задания (как первого, так и последующих заданий). Рассмотрим следующее:

  • Режим ввода обучающих данных может повлиять на время запуска – Каналы ввода управляемых обучающих данных воссоздаются для каждого учебного задания, что увеличивает задержку при запуске задания. Таким образом, выполнение первоначальных экспериментов с меньшим набором данных позволит сократить время запуска (и время обучения). На более поздних этапах экспериментов, когда требуется большой набор данных, рассмотрите возможность использования типа режима ввода с минимальным или фиксированным временем инициализации. Например, режим ввода ФАЙЛ копирует весь набор данных из Простой сервис хранения Amazon (Amazon S3) в обучающий экземпляр, что занимает много времени для больших наборов данных (даже с теплыми пулами). Быстрый файловый режим лучше подходит для уменьшения задержки при запуске, поскольку перед запуском рабочей нагрузки необходимо прочитать только метаданные объекта S3 из Amazon S3. Amazon FSx для блескаили Эластичная файловая система Amazon (Amazon EFS) режим ввода файловой системы, имеет фиксированное время инициализации независимо от количества файлов в файловой системе, что удобно при работе с большим набором данных.
    Для получения дополнительной информации о том, как выбрать входной канал, см. Выберите лучший источник данных для своей учебной работы по Amazon SageMaker.
  • Уменьшить установку пакетов во время выполнения – Любая установка программного обеспечения, которая происходит во время запуска контейнера, например pip Python или apt-get операционной системы, увеличивает задержку задания обучения. Чтобы свести к минимуму эту задержку при запуске, необходимо найти компромисс между гибкостью и простотой установки во время выполнения и установкой во время сборки контейнера. Если вы используете свой собственный контейнер Docker с SageMaker, см. Адаптация собственного контейнера Docker для работы с SageMaker. Если вы полагаетесь на готовые образы контейнеров SageMakerвам нужно будет расширить готовый контейнер и явно управлять этими контейнерами. Учтите это, если ваши установки во время выполнения значительно увеличивают задержку при запуске.
  • Избегайте частого обновления образа Docker – Если вы используете свой собственный контейнер Docker с SageMaker, старайтесь не обновлять его при каждом запуске задания. Если образ Docker меняется между отправками заданий, теплый пул будет использоваться повторно, но в процессе запуска потребуется повторно получить образ контейнера из Amazon ECR вместо повторного использования кэшированного образа контейнера. Если образ Docker необходимо обновить, ограничьте обновления последним слоем Docker, чтобы воспользоваться преимуществом кэширования слоя Docker. В идеале следует удалить содержимое Dockerfile, которое может измениться в ходе итераций, например гиперпараметры, определения наборов данных и сам код машинного обучения. Чтобы повторять код машинного обучения без необходимости перестраивать образы Docker при каждом изменении, вы можете принять парадигму контейнера фреймворка, рекомендованную в SageMaker Training Toolkit. Если вы хотите разработать контейнер фреймворка со своим собственным кодом, обратитесь к этому Учебное пособие по Amazon SageMaker.

Делитесь теплыми пулами между несколькими пользователями

При работе с большой командой специалистов по данным вы можете совместно использовать теплые пулы, которые соответствие критериям работы, вроде того же Управление идентификацией и доступом AWS (IAM) роль или образ контейнера.

Давайте посмотрим на примерную временную шкалу. Пользователь-1 запускает задание обучения, которое завершается и приводит к созданию нового теплого пула. Когда пользователь-2 запускает обучающее задание, задание будет повторно использовать существующий теплый пул, что приведет к быстрому запуску задания. Пока задание пользователя-2 выполняется с использованием теплого пула, если другой пользователь запускает обучающее задание, будет создан второй теплый пул.

Такое поведение при повторном использовании помогает снизить затраты за счет совместного использования «горячих» пулов между пользователями, запускающими похожие задания. Если вы хотите избежать совместного использования теплых пулов между пользователями, задания пользователей не должны иметь соответствие критериям работы (например, они должны использовать другую роль IAM).

Уведомлять пользователей о завершении задания

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

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

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

Заключение

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

Для начала см. Обучение с использованием управляемых теплых пулов SageMaker.


Об авторах

Роми ДаттаДоктор Роми Датта  является старшим менеджером по управлению продуктами в команде Amazon SageMaker, отвечающей за обучение, обработку и хранение функций. Он работает в AWS более 4 лет, занимая несколько руководящих должностей по управлению продуктами в SageMaker, S3 и IoT. До прихода в AWS он работал на различных руководящих должностях в области управления продуктами, проектирования и эксплуатации в IBM, Texas Instruments и Nvidia. Он имеет степень магистра и доктора философии. получил степень бакалавра электротехники и вычислительной техники Техасского университета в Остине и степень магистра делового администрирования Школы бизнеса Бута Чикагского университета.

Рекомендации по обучению Amazon SageMaker «Управляемые теплые пулы» PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Арун Нагараджан является главным инженером команды Amazon SageMaker, специализирующейся на обучении и MLOps. Он работал в команде SageMaker с момента запуска, ему нравилось вносить свой вклад в различные области SageMaker, включая вывод в реальном времени и продукты Model Monitor. Ему нравится исследовать природу на северо-западе Тихого океана и лазить по горам.

Рекомендации по обучению Amazon SageMaker «Управляемые теплые пулы» PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Эми Ю является менеджером по разработке программного обеспечения в AWS SageMaker. Она занимается объединением команды инженеров-программистов для создания, обслуживания и разработки новых возможностей платформы обучения SageMaker, которая помогает клиентам более эффективно и легко обучать свои модели машинного обучения. У нее есть страсть к технологиям машинного обучения и искусственного интеллекта, особенно связанных с изображением и видением из ее аспирантуры. В свободное время она любит заниматься музыкой и искусством со своей семьей.

Рекомендации по обучению Amazon SageMaker «Управляемые теплые пулы» PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай. Сифей Ли — инженер-программист в Amazon AI, где она работает над созданием платформ машинного обучения Amazon и входила в группу по запуску Amazon SageMaker. В свободное время она любит заниматься музыкой и читать.

Рекомендации по обучению Amazon SageMaker «Управляемые теплые пулы» PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Дженна Чжао работает инженером-разработчиком программного обеспечения в AWS SageMaker. Она увлечена технологиями машинного обучения и искусственного интеллекта и сосредоточилась на создании платформы обучения SageMaker, которая позволяет клиентам быстро и легко обучать модели машинного обучения. Вне работы любит путешествовать и проводить время с семьей.

Рекомендации по обучению Amazon SageMaker «Управляемые теплые пулы» PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Парас Мехра является старшим менеджером по продуктам в AWS. Он сосредоточен на помощи в создании обучения и обработки Amazon SageMaker. В свободное время Парас любит проводить время со своей семьей и кататься на велосипеде по району залива. Вы можете найти его на LinkedIn.

Рекомендации по обучению Amazon SageMaker «Управляемые теплые пулы» PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Гили Начум — старший архитектор решений AI/ML, работающий в команде Amazon Machine Learning в регионе EMEA. Гили увлечен проблемами обучения моделей глубокого обучения и тем, как машинное обучение меняет мир, каким мы его знаем. В свободное время Гили любит играть в настольный теннис.

Рекомендации по обучению Amazon SageMaker «Управляемые теплые пулы» PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Оливье Крючан является специалистом по машинному обучению и архитектором решений в AWS, базирующейся во Франции. Оливье помогает клиентам AWS — от небольших стартапов до крупных предприятий — разрабатывать и развертывать приложения машинного обучения производственного уровня. В свободное время он любит читать исследовательские работы и исследовать пустыню с друзьями и семьей.

Рекомендации по обучению Amazon SageMaker «Управляемые теплые пулы» PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Эмили Уэббер присоединился к AWS сразу после запуска SageMaker и с тех пор пытается рассказать об этом миру! Помимо создания новых возможностей машинного обучения для клиентов, Эмили любит медитировать и изучать тибетский буддизм.

Отметка времени:

Больше от Машинное обучение AWS