Прискорення навчання великомасштабної нейронної мережі на ЦП за допомогою ThirdAI і AWS Graviton | Веб-сервіси Amazon

Прискорення навчання великомасштабної нейронної мережі на ЦП за допомогою ThirdAI і AWS Graviton | Веб-сервіси Amazon

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

Широкомасштабне глибоке навчання нещодавно призвело до революційних досягнень у величезній кількості галузей. Незважаючи на те, що цей приголомшливий прогрес у штучному інтелекті залишається вагомим, фінансові витрати та споживання енергії, необхідні для навчання цих моделей, виявилися критично вузьким місцем через потребу в спеціалізованому апаратному забезпеченні, як-от графічні процесори. Традиційно навіть для нейронних моделей невеликого розміру потрібні дорогі апаратні прискорювачі для навчання, що обмежує кількість організацій, які мають фінансові можливості для повного використання переваг цієї технології.

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

У цій публікації ми досліджуємо потенціал процесора AWS Graviton3 для прискорення навчання нейронної мережі для унікального механізму глибокого навчання ThirdAI на основі ЦП.

Переваги високопродуктивних ЦП

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

Щільна нейронна архітектура з жирними лініями, що показують, які нейрони вибрано

З огляду на те, що багато наших цільових клієнтів працюють у хмарі, і серед них більшість використовує 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.8xвеликий 32 64 AWS Graviton3 $ 1.1562 / год
c6i.8xвеликий 32 64 Крижане озеро Intel $ 1.36 / год
g5g.8xlarge (GPU) 32 64 із 16 ГБ пам’яті GPU Процесори AWS Graviton2 з 1 графічним процесором NVIDIA T4G $ 1.3720 / год

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

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

У цьому експерименті ми порівнюємо движок ThirdAI BOLT з 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. Для оцінки GPU ми використовуємо Оптимізований для NVIDIA GPU Arm64 AMI, доступний через AWS Marketplace. Для цієї оцінки ми використовуємо Архітектура моделі SLIDE, який забезпечує конкурентоспроможність у цьому екстремальному класифікаційному завданні та високу ефективність навчання на ЦП. Для наших порівнянь 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, навчені на GPU. Зауважте, що немає результатів ThirdAI у бенчмарку GPU NVIDIA, оскільки BOLT розроблено для роботи на процесорах. Ми не включаємо тести процесорів TensorFlow і PyTorch через непомірно довгий час навчання.

Amazon 670k Час навчання Гістограма порівняння екземплярів c6i.8xlarge та c7g.8xlarge

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

процесор двигун Час навчання (с) Точність тесту
Intel Ice Lake (c6i.8xlarge) БОЛТ 1470 33.6
AWS Graviton3 (c7g.8xlarge) БОЛТ 935 33.6
NVIDIA T4G (g5g.8xlarge) TensorFlow 7550 33.6
NVIDIA T4G (g5g.8xlarge) PyTorch 5130 33.6

Оцінка 2: аналіз настроїв Yelp Polarity

Для нашої другої оцінки ми зосереджуємось на популярних Yelp Polarity тест аналізу настроїв, який передбачає класифікацію відгуку як позитивного чи негативного. Для цієї оцінки ми порівнюємо ThirdAI Універсальні глибокі трансформатори (UDT) модель проти тонко налаштованої DistilBERT мережа, стиснута попередньо навчена мовна модель, яка забезпечує майже найсучаснішу продуктивність із зменшеною затримкою висновку. Оскільки точне налаштування моделей DistilBERT на ЦП займе надзвичайно багато часу (принаймні кілька днів), ми порівнюємо моделі ThirdAI на основі ЦП з моделями DistilBERT, налаштованими на ГП. Ми навчаємо всі моделі з розміром пакета 256 для одного проходу через дані (одна епоха). Ми зазначаємо, що ми можемо досягти трохи вищої точності з BOLT за допомогою додаткових проходів через дані, але ми обмежуємося одним проходом у цій оцінці для узгодженості.

Як показано на наступному малюнку, AWS Graviton3 знову значно прискорює навчання моделі UDT від ThirdAI. Крім того, UDT може досягти точності тестування, порівнянної з DistilBERT, за частку часу навчання та без потреби у графічному процесорі. Зауважимо, що нещодавно була також проведена робота в оптимізація тонкого налаштування полярності Yelp на процесорах. Проте наші моделі все ще забезпечують більший приріст ефективності та уникають витрат на попереднє навчання, яке є значним і вимагає використання апаратних прискорювачів, таких як графічні процесори.

Час навчання Yelp Polarity C7g проти c6i

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

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

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

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

Третій час навчання AI BOLT на c7g проти c6i

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

процесор двигун Model Час навчання (с) Точність тесту Затримка висновку (мс)
Intel Icelake (c6i.8xlarge) БОЛТ UDT 23 98.23 <1
Гравітон3 (c7g.8xlarge) БОЛТ UDT 14 98.10 <1
Графічний процесор T4G (g5g.8xlarge) TensorFlow DistilBERT 4320 99.23 8.6
Графічний процесор T4G (g5g.8xlarge) PyTorch DistilBERT 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 і будемо прагнути передати ці вдосконалення нашим клієнтам, щоб вони могли насолоджуватися швидшим навчанням ML і висновками з покращеною продуктивністю на недорогих ЦП. Як клієнти AWS, ми в захваті від швидкості, з якою AWS Graviton3 дозволяє нам експериментувати з нашими моделями, і ми з нетерпінням чекаємо подальшого використання передових кремнієвих інновацій від AWS. Технічне керівництво Graviton це хороший ресурс, який слід враховувати під час оцінки робочих навантажень ML для роботи на Graviton. Ви також можете спробувати екземпляри Graviton t4g безкоштовне випробування.

Вміст і думки в цьому дописі належать сторонньому автору, і AWS не несе відповідальності за зміст або точність цього допису. На момент написання блогу найновішим екземпляром був c6i, тому порівняння проводилося з екземплярами c6i.


Про автора

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

Тарун Медіні – Тарун Медіні є співзасновником і технічним директором ThirdAI Corp. Він отримав ступінь доктора філософії за темою «Алгоритми хешування для пошуку та пошуку інформації» в Університеті Райса. До ThirdAI Тарун працював в Amazon і Target. Тарун є лауреатом численних нагород за свої дослідження, зокрема стипендію Інституту Кена Кеннеді BP Fellowship, стипендію Американського товариства індійських інженерів і стипендію університету Райса.

Аншумалі Шрівастава – Аншумалі Шрівастава – доцент кафедри інформатики Університету Райса. Він також є засновником і генеральним директором ThirdAI Corp, компанії, яка демократизує штучний інтелект на стандартному апаратному забезпеченні за допомогою програмних інновацій. Його широкі дослідницькі інтереси включають ймовірнісні алгоритми для ресурсозберігаючих глибинного навчання. У 2018 році Science News назвав його одним із 10 найкращих учених віком до 40 років, за якими слід спостерігати. Він є лауреатом нагороди Національного наукового фонду CAREER Award, нагороди Young Investigator Award від Управління наукових досліджень ВВС, нагороди Amazon за дослідження машинного навчання та нагороди Data Science Research Award від Adobe. Він здобув численні нагороди за папери, зокрема нагороди за найкращий папір на NIPS 2014 та MLSys 2022, а також нагороду за найбільш відтворюваний папір на SIGMOD 2019. Його робота над ефективними технологіями машинного навчання на ЦП висвітлювалася популярною пресою, зокрема Wall Street Journal, New York Times, TechCrunch, NDTV тощо.

Часова мітка:

Більше від AWS Машинне навчання