Минимизируйте задержку вывода в реальном времени с помощью стратегий маршрутизации Amazon SageMaker | Веб-сервисы Amazon

Минимизируйте задержку вывода в реальном времени с помощью стратегий маршрутизации Amazon SageMaker | Веб-сервисы Amazon

Создатель мудреца Амазонки упрощает развертывание моделей машинного обучения (ML) для вывода в реальном времени и предлагает широкий выбор экземпляров ML, охватывающих процессоры и ускорители, такие как Вывод AWS. Будучи полностью управляемой услугой, вы можете масштабировать развертывание моделей, минимизировать затраты на логические выводы и более эффективно управлять моделями в рабочей среде с меньшими эксплуатационными нагрузками. Конечная точка вывода в реальном времени SageMaker состоит из конечной точки HTTPs и экземпляров ML, которые развертываются в нескольких зонах доступности для обеспечения высокой доступности. SageMaker автоматическое масштабирование приложения может динамически регулировать количество экземпляров машинного обучения, предоставленных для модели, в ответ на изменения рабочей нагрузки. Конечная точка равномерно распределяет входящие запросы по экземплярам ML с помощью циклического алгоритма.

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

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

Стратегия SageMaker LOR

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

На следующей интерактивной диаграмме показана политика маршрутизации по умолчанию, при которой запросы, поступающие к конечным точкам модели, случайным образом перенаправляются экземплярам ML.

Минимизируйте задержку вывода в реальном времени с помощью стратегий маршрутизации Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

Минимизируйте задержку вывода в реальном времени с помощью стратегий маршрутизации Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

Как настроить стратегии маршрутизации SageMaker

SageMaker теперь позволяет вам устанавливать RoutingStrategy параметр при создании EndpointConfiguration для конечных точек. разные RoutingStrategy значения, поддерживаемые SageMaker:

  • LEAST_OUTSTANDING_REQUESTS
  • RANDOM

Ниже приведен пример развертывания модели в конечной точке вывода, в которой включен LOR:

  1. Создайте конфигурацию конечной точки, установив RoutingStrategy as LEAST_OUTSTANDING_REQUESTS:
    endpoint_config_response = sm_client.create_endpoint_config( EndpointConfigName=endpoint_config_name, ProductionVariants=[ { "VariantName": "variant1", "ModelName": model_name, "InstanceType": "instance_type", "InitialInstanceCount": initial_instance_count, ….. "RoutingConfig": { 'RoutingStrategy': 'LEAST_OUTSTANDING_REQUESTS'} }, ],
    )

  2. Создайте конечную точку, используя конфигурацию конечной точки (без изменений):
    create_endpoint_response = sm_client.create_endpoint( EndpointName="endpoint_name", EndpointConfigName="endpoint_config_name"
    )

Результаты

Мы провели тестирование производительности, чтобы измерить задержку сквозного вывода и пропускную способность кодеген2-7B модель, размещенная на экземплярах ml.g5.24xl с маршрутизацией по умолчанию и конечными точками интеллектуальной маршрутизации. Модель CodeGen2 принадлежит к семейству авторегрессионных языковых моделей и генерирует исполняемый код при наличии подсказок на английском языке.

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

Пусконаладка Количество одновременных пользователей Количество экземпляров
1 4 1
2 20 5
3 40 10
4 60 15
5 80 20

Мы измерили сквозную задержку P99 для обеих конечных точек и наблюдали улучшение задержки на 4–33 % при увеличении количества экземпляров с 5 до 20, как показано на следующем графике.

Минимизируйте задержку вывода в реальном времени с помощью стратегий маршрутизации Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Аналогичным образом мы наблюдали улучшение пропускной способности на 15–16% в минуту на каждый экземпляр, когда количество экземпляров было увеличено с 5 до 20.

Минимизируйте задержку вывода в реальном времени с помощью стратегий маршрутизации Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Это показывает, что интеллектуальная маршрутизация способна улучшить распределение трафика между конечными точками, что приводит к улучшению сквозной задержки и общей пропускной способности.

Заключение

В этом посте мы объяснили стратегии маршрутизации SageMaker и новую опцию включения маршрутизации LOR. Мы объяснили, как включить LOR и какую пользу он может принести при развертывании вашей модели. Наши тесты производительности показали улучшение задержки и пропускной способности во время обработки выводов в реальном времени. Дополнительную информацию о функциях маршрутизации SageMaker см. документации. Мы рекомендуем вам оценить рабочие нагрузки вывода и определить, оптимально ли вы настроены на стратегию маршрутизации.


Об авторах

Минимизируйте задержку вывода в реальном времени с помощью стратегий маршрутизации Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Джеймс Парк — архитектор решений в Amazon Web Services. Он работает с Amazon.com над проектированием, созданием и развертыванием технологических решений на AWS, а также проявляет особый интерес к искусственному интеллекту и машинному обучению. В свободное время он любит искать новые культуры, новый опыт и оставаться в курсе последних технологических тенденций. Вы можете найти его на LinkedIn.

Минимизируйте задержку вывода в реальном времени с помощью стратегий маршрутизации Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Венугопал Пай — архитектор решений в AWS. Он живет в Бангалоре, Индия, и помогает клиентам, использующим цифровые технологии, масштабировать и оптимизировать свои приложения на AWS.

Минимизируйте задержку вывода в реальном времени с помощью стратегий маршрутизации Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Дэвид Нигенда является старшим инженером по разработке программного обеспечения в команде Amazon SageMaker, в настоящее время работает над улучшением рабочих процессов машинного обучения в производственной среде, а также над запуском новых функций логического вывода. В свободное время старается не отставать от своих детей.

Минимизируйте задержку вывода в реальном времени с помощью стратегий маршрутизации Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Дипти Рагха — инженер-разработчик программного обеспечения в команде Amazon SageMaker. Ее текущая работа сосредоточена на создании функций для эффективного размещения моделей машинного обучения. В свободное время она любит путешествовать, ходить в походы и выращивать растения.

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

Минимизируйте задержку вывода в реальном времени с помощью стратегий маршрутизации Amazon SageMaker | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Дхавал Патель является главным архитектором машинного обучения в AWS. Он работал с организациями, начиная от крупных предприятий и заканчивая стартапами среднего размера, над проблемами, связанными с распределенными вычислениями и искусственным интеллектом. Он специализируется на глубоком обучении, включая домены NLP и Computer Vision. Он помогает клиентам добиться высокопроизводительного логического вывода модели в SageMaker.

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

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