Ускорение крупномасштабного обучения нейронных сетей на процессорах с помощью ThirdAI и AWS Graviton | Веб-сервисы Amazon

Ускорение крупномасштабного обучения нейронных сетей на процессорах с помощью ThirdAI и AWS Graviton | Веб-сервисы Amazon

Этот гостевой пост написан Виханом Лакшманом, Таруном Медини и Аншумали Шриваставой из ThirdAI.

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

Компания ThirdAI Corp., основанная в 2021 году, представляет собой стартап, целью которого является демократизация технологий искусственного интеллекта посредством инноваций в алгоритмах и программном обеспечении, которые фундаментально меняют экономику глубокого обучения. Мы разработали разреженную систему глубокого обучения, известную как БОЛТ, специально разработанный для обучения и развертывания моделей на стандартном оборудовании ЦП, а не на дорогостоящих и энергоемких ускорителях, таких как графические процессоры. Многие из наших клиентов имеют сообщил о сильном удовлетворении благодаря способности ThirdAI обучать и развертывать модели глубокого обучения для решения критических бизнес-задач в экономичной инфраструктуре ЦП.

В этом посте мы исследуем потенциал процессора AWS Graviton3 для ускорения обучения нейронных сетей для уникального механизма глубокого обучения на базе ЦП ThirdAI.

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

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

Плотная нейронная архитектура с жирными линиями, показывающими, какие нейроны выбраны.

Учитывая, что многие из наших целевых клиентов работают в облаке (и среди них большинство использует AWS), мы были рады опробовать процессор AWS Graviton3, чтобы посмотреть, отразится ли впечатляющее улучшение цены и производительности полупроводниковых инноваций Amazon на нашей уникальной рабочей нагрузке. разреженного обучения нейронных сетей и тем самым обеспечить дополнительную экономию для клиентов. Хотя и исследовательское сообщество, и команда AWS Graviton добились впечатляющих успехов в ускорении вывод нейронной сети Что касается экземпляров ЦП, мы в ThirdAI, насколько нам известно, первыми серьезно изучаем, как эффективно обучать нейронные модели на ЦП.

Как показали наши результаты, мы наблюдали значительное ускорение обучения с помощью AWS Graviton3 по сравнению с сопоставимыми экземплярами Intel и NVIDIA в нескольких репрезентативных рабочих нагрузках моделирования.

Типы экземпляров

Для нашей оценки мы рассмотрели два сопоставимых экземпляра ЦП AWS: компьютер c6i.8xlarge на базе процессора Intel Ice Lake и компьютер c7g.8xlarge на базе AWS Graviton3. В следующей таблице приведены подробные сведения о каждом экземпляре.

Пример VCPU ОЗУ (ГБ) процессор Цена по требованию (US-east-1)
c7g.8xlarge 32 64 АМС Гравитон3 $ 1.1562 / час
c6i.8xбольшой 32 64 Intel Ice Lake $ 1.36 / час
g5g.8xlarge (графический процессор) 32 64 с памятью графического процессора 16 ГБ Процессоры AWS Graviton2 с 1 графическим процессором NVIDIA T4G $ 1.3720 / час

Оценка 1: Экстремальная классификация

Для нашей первой оценки мы сосредоточимся на проблеме экстремальной многозначной классификации (XMC), все более популярной парадигмы машинного обучения (ML) с рядом практических приложений в поиске и рекомендациях (в том числе на Amazon). В нашей оценке мы ориентируемся на общественность. Задача рекомендации продуктов Amazon-670K, который по входному продукту идентифицирует похожие продукты из коллекции, насчитывающей более 670,000 XNUMX элементов.

В этом эксперименте мы сравниваем движок BOLT ThirdAI с TensorFlow 2.11 и PyTorch 2.0 на вышеупомянутом аппаратном обеспечении: Intel Ice Lake, AWS Graviton3 и графическом процессоре NVIDIA T4G. Для наших экспериментов на Intel и AWS Graviton мы используем AWS Deep Learning AMI (Ubuntu 18.04) версии 59.0. Для оценки графического процессора мы используем Оптимизированный для NVIDIA GPU Arm64 AMI, доступный через AWS Marketplace. Для этой оценки мы используем Архитектура модели СЛАЙД, который обеспечивает как конкурентоспособную производительность в этой экстремальной задаче классификации, так и высокую производительность обучения на процессорах. Для наших сравнений TensorFlow и PyTorch мы реализуем аналогичную версию архитектуры многоуровневого персептрона (MLP) SLIDE с плотными матричными умножениями. Мы обучаем каждую модель в течение пяти эпох (полные проходы по набору обучающих данных) с фиксированным размером пакета 256 и скоростью обучения 0.001. Мы заметили, что все модели достигли одинаковой точности испытаний — 33.6%.

На следующей диаграмме сравнивается время обучения BOLT от ThirdAI с TensorFlow 2.11 и PyTorch 2.0 в тесте экстремальной классификации Amazon670k. Все модели обеспечивают одинаковую точность испытаний. Мы видим, что AWS Graviton3 значительно повышает производительность BOLT «из коробки» без необходимости каких-либо настроек — примерно на 40%. BOLT от ThirdAI на AWS Graviton3 также обеспечивает значительно более быстрое обучение, чем модели TensorFlow или PyTorch, обученные на графическом процессоре. Обратите внимание, что в тесте NVIDIA GPU нет результата ThirdAI, поскольку BOLT предназначен для работы на процессорах. Мы не включили тесты ЦП TensorFlow и PyTorch из-за непомерно длительного времени обучения.

Amazon 670k Время обучения Гистограмма, сравнивающая экземпляры c6i.8xlarge и c7g.8xlarge

В следующей таблице приведены данные о времени обучения и точности тестирования для каждого процессора/специализированного процессора (GPU).

процессор Двигатель Время обучения (с) Точность теста
Intel Ice Lake (c6i.8xlarge) БОЛТ 1470 33.6
AWS Гравитон3 (c7g.8xlarge) БОЛТ 935 33.6
NVIDIA T4G (g5g.8xlarge) TensorFlow 7550 33.6
NVIDIA T4G (g5g.8xlarge) PyTorch 5130 33.6

Оценка 2: Анализ настроений Yelp Polarity

Для нашей второй оценки мы сосредоточимся на популярных Визг Полярность Эталон анализа настроений, который предполагает классификацию обзора как положительного или отрицательного. Для этой оценки мы сравниваем ThirdAI Универсальные глубокие трансформаторы (УДТ) модель против доработанной ДистилБЕРТ network — сжатая предварительно обученная языковая модель, которая обеспечивает производительность, близкую к современной, с уменьшенной задержкой вывода. Поскольку точная настройка моделей DistilBERT на ЦП займет непомерно много времени (по крайней мере, несколько дней), мы сравниваем модели ThirdAI на базе ЦП с точной настройкой DistilBERT на графическом процессоре. Мы обучаем все модели с размером пакета 256 за один проход данных (одна эпоха). Отметим, что мы можем добиться несколько более высокой точности с помощью BOLT с дополнительными проходами по данным, но мы ограничиваемся одним проходом в этой оценке для обеспечения единообразия.

Как показано на следующем рисунке, AWS Graviton3 снова значительно ускоряет обучение модели UDT ThirdAI. Более того, UDT способен достичь точности тестирования, сравнимой с DistilBERT, затрачивая меньше времени на обучение и без необходимости использования графического процессора. Отметим, что в последнее время также была проведена работа в оптимизация тонкой настройки полярности Yelp на процессорах. Однако наши модели по-прежнему обеспечивают больший прирост эффективности и позволяют избежать затрат на предварительное обучение, которые являются значительными и требуют использования аппаратных ускорителей, таких как графические процессоры.

Время тренировки Yelp Polarity C7g против c6i

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

процессор Двигатель Модель Время обучения (с) Точность теста Задержка вывода (мс)
Intel Icelake (c6i.8xlarge) БОЛТ UDT 47 93.2 <1
Гравитон3 (c7g.8xlarge) БОЛТ UDT 29 92.9 <1
Графический процессор T4G (g5g.8xlarge) TensorFlow ДистилБЕРТ 4200 93.3 8.7
Графический процессор T4G (g5g.8xlarge) PyTorch ДистилБЕРТ 3780 93.4 8.3

Оценка 3: Многоклассовая классификация текста (DBPedia).

Для нашей окончательной оценки мы сосредоточимся на проблеме многоклассовой классификации текста, которая включает в себя присвоение метки данному входному тексту из набора, состоящего из более чем двух выходных классов. Мы ориентируемся на ДБПедия тест, который состоит из 14 возможных выходных классов. Опять же, мы видим, что AWS Graviton3 ускоряет производительность UDT по сравнению с сопоставимым экземпляром Intel примерно на 40%. Мы также видим, что BOLT достигает результатов, сравнимых с моделью на основе трансформатора DistilBERT, точно настроенной на графическом процессоре, при этом достигая задержки менее миллисекунды.

Третье время тренировки AI BOLT на c7g против c6i

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

процессор Двигатель Модель Время обучения (с) Точность теста Задержка вывода (мс)
Intel Icelake (c6i.8xlarge) БОЛТ UDT 23 98.23 <1
Гравитон3 (c7g.8xlarge) БОЛТ UDT 14 98.10 <1
Графический процессор T4G (g5g.8xlarge) TensorFlow ДистилБЕРТ 4320 99.23 8.6
Графический процессор T4G (g5g.8xlarge) PyTorch ДистилБЕРТ 3480 99.29 8

Начните работу с ThirdAI на AWS Graviton

Мы разработали наше программное обеспечение BOLT для совместимости со всеми основными архитектурами ЦП, включая AWS Graviton3. Фактически нам не пришлось вносить какие-либо изменения в наш код для работы на AWS Graviton3. Таким образом, вы можете использовать ThirdAI для обучения и развертывания моделей на AWS Graviton3 без дополнительных усилий. Кроме того, как подробно описано в нашем недавнем исследовательский документ, мы разработали набор новых математических методов для автоматической настройки специализированных гиперпараметров, связанных с нашими разреженными моделями, что позволяет нашим моделям сразу же начать хорошо работать.

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

Заключение

В этом посте мы исследовали потенциал процессора AWS Graviton3 для ускорения обучения нейронных сетей для уникального механизма глубокого обучения на базе ЦП ThirdAI. Наши тесты по поиску, классификации текста и рекомендациям показывают, что AWS Graviton3 может ускорить рабочие нагрузки по обучению моделей ThirdAI на 30–40 % по сравнению с сопоставимыми экземплярами x86 с улучшением цены и производительности почти на 50 %. Кроме того, поскольку экземпляры AWS Graviton3 доступны по более низкой цене, чем аналогичные машины Intel и NVIDIA, и позволяют сократить время обучения и вывода, вы можете еще больше раскрыть ценность модели использования AWS с оплатой по факту использования, используя более низкую стоимость. машины на более короткие промежутки времени.

Мы очень довольны экономией цены и производительности благодаря AWS Graviton3 и постараемся передать эти улучшения нашим клиентам, чтобы они могли насладиться более быстрым обучением машинного обучения и получением логических выводов с улучшенной производительностью на недорогих процессорах. Как клиенты AWS, мы довольны скоростью, с которой AWS Graviton3 позволяет нам экспериментировать с нашими моделями, и мы с нетерпением ждем возможности использовать более передовые полупроводниковые инновации от AWS в будущем. Техническое руководство по Гравитону — это хороший ресурс, который следует учитывать при оценке рабочих нагрузок машинного обучения для запуска на Graviton. Вы также можете попробовать экземпляры Graviton t4g. бесплатная пробная версия.

Содержание и мнения в этом сообщении принадлежат стороннему автору, и AWS не несет ответственности за содержание или точность этого сообщения. На момент написания блога самым последним экземпляром был c6i, поэтому сравнение проводилось с экземплярами c6i.


Об авторе

Вихан Лакшман – Вихан Лакшман — научный сотрудник компании ThirdAI Corp., занимающийся разработкой систем ресурсоэффективного глубокого обучения. До прихода в ThirdAI он работал учёным-прикладником в Amazon и получил степени бакалавра и магистра в Стэнфордском университете. Вихан также является получателем исследовательской стипендии Национального научного фонда.

Тарун Медини – Тарун Медини — соучредитель и технический директор ThirdAI Corp. Он защитил докторскую диссертацию по специальности «Алгоритмы хеширования для поиска и извлечения информации» в Университете Райса. До ThirdAI Тарун работал в Amazon и Target. Тарун является лауреатом многочисленных наград за свои исследования, в том числе стипендии BP Института Кена Кеннеди, стипендии Американского общества индийских инженеров и стипендии для выпускников Университета Райса.

Аншумали Шривастава – Аншумали Шривастава — доцент кафедры информатики Университета Райса. Он также является основателем и генеральным директором ThirdAI Corp, компании, которая превращает искусственный интеллект в товарное оборудование посредством инноваций в программном обеспечении. Его широкие исследовательские интересы включают вероятностные алгоритмы для ресурсоэкономного глубокого обучения. В 2018 году журнал Science News назвал его одним из 10 лучших ученых в возрасте до 40 лет, за которыми стоит следить. Он является лауреатом премии CAREER Национального научного фонда, премии молодого исследователя от Управления научных исследований ВВС, премии за исследования в области машинного обучения от Amazon и премии за исследования в области данных от Adobe. Он получил множество наград, в том числе награду за лучшую бумагу на NIPS 2014 и MLSys 2022, а также награду за самую воспроизводимую бумагу на SIGMOD 2019. Его работа над эффективными технологиями машинного обучения на процессорах освещалась популярной прессой, включая Wall Street Journal, New York Times, TechCrunch, NDTV и т. д.

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

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