Как Amazon Music использует SageMaker с NVIDIA для оптимизации производительности тренировки и вывода МО и снижения затрат

Использование Amazon Music SageMaker с NVIDIA для улучшения эффективности тренировки и вывода МО, а также снижения затрат

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

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

Amazon SageMaker предоставляет полный набор услуг, которые позволяют Amazon Music создавать, обучать и развертывать в AWS Cloud с минимальными усилиями. Заботясь о неоднозначной основной нагрузке, SageMaker позволяет вам сконцентрироваться на работе с моделями машинного обучения (ML) и не беспокоиться о таких вещах, как инфраструктура. В рамках модели общей ответственности SageMaker гарантирует, что предоставляемые ими сервисы надежны, производительны и масштабируемы, а вы должны увериться в том, что применение моделей ML наилучшим образом использует возможности, предоставляемые SageMaker.

В этой статье мы исследуем путь, который вышла Amazon Music, чтобы оптимизировать производительность и затраты при использовании SageMaker и NVIDIA Triton Inference Server и TensorRT. Мы подробно рассмотрим, как работает казалось бы простая, но сложная строка поиска, обеспечивая безупречное путешествие во вселенную Amazon Music с минимальными задержками из-за опечаток и с актуальными результатами поиска в реальном времени.

Amazon SageMaker и NVIDIA: Обеспечение быстрых и точных возможностей векторного поиска и проверки орфографии

Amazon Music предлагает огромную библиотеку из более 100 миллионов композиций и миллионов эпизодов подкастов. Однако поиск нужной песни или подкаста может быть сложным, особенно если вы не знаете точного названия, исполнителя или названия альбома, или запрос для поиска очень широкий, например “подкасты новостей”.

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

Внедрение моделей трансформера в поисково-извлекающую систему (в процесс генерации погружения запроса, необходимого для векторного поиска, и в генеративную модель Seq2Seq трансформера в проверке орфографии) может привести к значительному увеличению общей задержки, негативно влияющей на клиентский опыт. Поэтому для нас стала первоочередной задачей оптимизация задержки инференса в режиме реального времени для моделей векторного поиска и проверки орфографии.

Amazon Music и NVIDIA объединили усилия, чтобы предоставить лучший возможный клиентский опыт в строке поиска, используя SageMaker для реализации быстрых и точных возможностей проверки орфографии и предоставления реального времени семантических предложений для поиска с использованием техники векторного поиска. Решение включает использование размещения SageMaker, основанного на G5-инстансах, использующих графические процессоры GeForce A10G Tensor Core от NVIDIA, контейнера Triton Inference Server, поддерживаемого SageMaker, и формата модели TensorRT NVIDIA. Сокращение задержки инференса модели проверки орфографии до 25 миллисекунд в периоды пикового трафика, сокращение задержки генерации погружения поискового запроса в среднем на 63% и снижение затрат на 73% по сравнению с выводом на базе ЦП позволило Amazon Music повысить производительность строки поиска.

Кроме того, при обучении искусственного интеллекта для достижения точных результатов Amazon Music получил внушительное 12-кратное ускорение времени обучения их модели-трансформатора BART для проверки последовательностей на соответствие правилам орфографии, что позволило сэкономить время и деньги путем оптимизации использования их графических процессоров.

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

Оптимизация обучения с графическими процессорами NVIDIA Tensor Core

Для достижения полного потенциала графического процессора NVIDIA Tensor Core при обучении больших языковых моделей недостаточно просто получить доступ к нему. Во время обучения необходимо выполнить ключевые этапы оптимизации, чтобы полностью использовать возможности графического процессора. Если графический процессор используется неэффективно, это безусловно приведет к неэффективному использованию ресурсов, длительному времени обучения и увеличению операционных затрат.

В начальной стадии обучения модели BART для исправления ошибок в написании (bart-base) на инсталляции SageMaker ml.p3.24xlarge (8 графических процессоров NVIDIA V100 Tensor Core) загрузка графического процессора Amazon Music составляла около 35%. Чтобы максимально использовать выгоды ускоренного графического процессора NVIDIA в обучении моделей машинного обучения, AWS и инженеры решений NVIDIA помогли Amazon Music выявить области для оптимизации, особенно относительно размера пакета данных (batch size) и точности обучения (precision). Эти два ключевых параметра влияют на эффективность, скорость и точность обучения моделей глубокого обучения.

В результате оптимизации удалось добиться более эффективного использования графического процессора V100, который оставался на уровне около 89%, что значительно снизило время обучения Amazon Music с 3 дней до 5-6 часов. Путем изменения размера пакета данных с 32 на 256 и использования оптимизационных техник, таких как использование автоматического смешанного точностного обучения (automatic mixed precision training) вместо использования только 32-битных чисел с плавающей точкой (FP32), Amazon Music смогла сэкономить время и деньги.

На следующей диаграмме показано увеличение использования графического процессора на 54% после оптимизации.

На следующей диаграмме показано ускорение времени обучения.

Увеличение размера пакета данных позволило графическому процессору NVIDIA обрабатывать значительно больше данных одновременно с использованием нескольких Tensor Core, что привело к ускорению времени обучения. Однако важно поддерживать баланс с памятью, так как большие размеры пакетов требуют больше памяти. Как увеличение размера пакета данных, так и использование смешанной точности могут быть критичными для раскрытия возможностей графических процессоров NVIDIA Tensor Core.

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

Коррекция ошибок в написании: вывод модели BART

С помощью инстансов SageMaker G5 и сервера вывода Triton Inference от NVIDIA (программного обеспечения для обеспечения вывода моделей), а также используя NVIDIA TensorRT, набор инструментов для вывода глубокого обучения высокой производительности, Amazon Music ограничивает задержку вывода сервера модели BART для проверки орфографии (bart-base) всего 25 миллисекунд во время пика нагрузки. Это включает накладные расходы, такие как балансировка нагрузки, предварительная обработка, вывод модели и последующая обработка.

Сервер вывода Triton Inference от NVIDIA предоставляет два типа бэкендов: один для размещения моделей на графических процессорах, а другой (на основе Python) позволяет использовать собственный пользовательский код в этапах предобработки и постобработки. На следующей диаграмме показана схема с использованием модели-среднего (model ensemble scheme).

Amazon Music создал свой конвейер вывода BART (inference pipeline) путем выполнения предобработки (токенизация текста) и постобработки (преобразование токенов в текст) на центральных процессорах, в то время как выполнение моделирования выполняется на графических процессорах NVIDIA A10G Tensor Core. Python-бэкенд находится между этапами предобработки и постобработки, и отвечает за взаимодействие с моделями BART, преобразованными с помощью TensorRT, а также кодировщиками/декодировщиками. TensorRT повышает производительность вывода с помощью калибровки точности, слияния слоев и тензоров, автоматической настройки ядра, динамической памяти тензоров, выполнения множественных потоков и фьюжена по времени.

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

Поиск вектора: Генерация встраивания запроса, вывод модели предложения BERT

Следующая диаграмма показывает улучшение временной задержки на 60% (обслуживание р90 800–900 TPS) при использовании платформы NVIDIA AI Inference по сравнению с базовым вариантом на CPU.

Следующая диаграмма показывает улучшение затрат на 70% при использовании платформы NVIDIA AI Inference по сравнению с базовым вариантом на CPU.

Следующая схема иллюстрирует SDK для быстрого вывода глубокого обучения. Он включает в себя оптимизатор и исполнительную среду глубокого обучения, которые обеспечивают низкую задержку и высокую пропускную способность для приложений вывода.

Для достижения этих результатов Amazon Music экспериментировала с различными параметрами развертывания Triton, используя Triton Model Analyzer, инструмент, который помогает найти наилучшую конфигурацию модели NVIDIA Triton для развертывания эффективного вывода. Для оптимизации вывода модели Triton предлагает такие функции, как динамическая пакетная обработка и параллельное выполнение моделей, а также поддержку гибкости для других возможностей. Динамическая пакетная обработка собирает запросы вывода, безупречно группируя их в группы, чтобы максимизировать производительность, при этом обеспечивая мгновенные ответы для пользователей Amazon Music. Возможность параллельного выполнения моделей дополнительно улучшает производительность вывода, размещая несколько копий модели на одном и том же GPU. Наконец, используя Triton Model Analyzer, Amazon Music смогла тщательно настроить параметры динамической пакетной обработки и одновременного выполнения моделей, чтобы найти оптимальные настройки, которые максимизируют производительность вывода с использованием моделирования трафика.

Вывод

Оптимизация конфигураций с использованием Triton Inference Server и TensorRT на SageMaker позволила Amazon Music достичь выдающихся результатов как для обучающих, так и для выводных конвейеров. Платформа SageMaker – это комплексная открытая платформа для индустриального использования ИИ, обеспечивающая быстрое внедрение и многофункциональность для поддержки всех основных случаев применения ИИ на аппаратном и программном обеспечении. Оптимизация использования GPU V100 для обучения и переход от ЦП к инстанциям G5 с использованием графических процессоров NVIDIA A10G Tensor Core, а также использование оптимизированного программного обеспечения NVIDIA, такого как Triton Inference Server и TensorRT, позволяют компаниям, таким как Amazon Music, экономить время и деньги, повышая производительность как в обучении, так и в выводе, что непосредственно переводится в лучший опыт для клиентов и снижение операционных расходов.

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

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

Чтобы узнать больше о искусственном интеллекте NVIDIA в AWS, обратитесь к следующим материалам: