Перейти к содержимому

AWS Batch добавил квоты на общие GPU для SageMaker

Короткий ответ

В AWS Batch появился механизм планирования quota management. Администратор делит мощность GPU на квоты по командам или проектам, а простаивающие ресурсы автоматически уходят другим квотам. Вытеснение возвращает одолженное и сначала запускает приоритетные задачи SageMaker Training, так что вручную договариваться не нужно.

Что это значит для операций

Это важно, только если ваша компания обучает или дообучает модели на GPU, которыми пользуются несколько человек или проектов. Если в команде на 10-200 человек так и есть, квоты заменят переписки в Slack о том, кто занял видеокарты: выдайте каждому проекту квоту, отметьте, какие могут одалживать и занимать, а возврат мощности оставьте планировщику. Если вы лишь обращаетесь к размещённым моделям через API, менять ничего не нужно. В источнике нет ни цен, ни сведений о доступности по регионам, поэтому перед планированием загляните в руководство пользователя AWS Batch.

AWS описала новую возможность планирования в AWS Batch под названием quota management в заметке на AWS Machine Learning Blog. Она опирается на поддержку задач SageMaker Training в AWS Batch, которая уже занимается очередями, планированием и повторными запусками для обучения ML-моделей.

Что она делает

Администратор делит мощность GPU на квоты - по одной на команду, проект или тип нагрузки. У каждой квоты есть лимит и стратегия на случай простоя:

  • RESERVE держит мощность до прихода собственных задач квоты.
  • LEND предлагает простаивающую мощность другим квотам, у которых есть ожидающая работа.
  • LEND_AND_BORROW одалживает в простое и занимает, когда у квоты есть задачи, способные использовать дополнительную мощность.

Каждая квота работает как виртуальная очередь внутри очереди задач. Планировщик отдаёт предпочтение квотам, которые не дошли до своих лимитов. Если квота одолжила мощность, а её собственные задачи пришли, AWS Batch выполняет вытеснение между квотами (cross-share preemption) и забирает ресурсы обратно, и администратору не нужно искать задачи-заёмщики.

Есть и второй режим - вытеснение внутри квоты (in-share preemption). Когда он включён, задачи с низким приоритетом, которые запланированы, запускаются или уже выполняются, можно прервать, чтобы высокоприоритетные задачи из начала очереди стартовали раньше. Новый API UpdateServiceJob позволяет исследователю поднять приоритет уже отправленной задачи.

Настройка

Нужна политика планирования с политикой квот, сервисная среда, которая задаёт ограничения мощности по конкретным инстансам, и очередь задач SageMaker Training, связанная с обоими элементами. К очереди затем подключаются квоты. Задачи отправляются через модуль aws_batch в SageMaker Python SDK v3, а примеры для CLI и консоли авторы отсылают искать в руководстве пользователя.

Пример из заметки

AWS создаёт три квоты, и каждая ограничена одним инстансом ml.g5.xlarge:

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

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

Также в заметке сказано, что возможность работает с планами обучения SageMaker AI (training plans), поэтому зарезервированную мощность можно делить между командами.

Источник: AWS Machine Learning Blog

Инструменты из этой новости

  • Slack - цена, кто пользуется, альтернативы
Следующий шаг

Visibility Analyzer

Новость об ИИ не скажет, как ассистенты видят ваш сайт. Это проверяет Visibility Analyzer на живом сайте: в каких ответах вас цитируют, до каких страниц ассистенты не добираются и что чинить первым. Запуск бесплатный.

Запустить бесплатный аудит видимости

Запуск бесплатный, карта не нужна.

Стоимость
Бесплатно
Срок
Один прогон, минуты

Бесплатный тариф: два анализа в день, без карты.

Ещё по теме