Досягніть у чотири рази більшої пропускної здатності логічного висновку за втричі нижчої ціни за логічний висновок за допомогою екземплярів Amazon EC2 G5 для моделей NLP і CV PyTorch PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Досягніть у чотири рази більшої пропускної здатності логічного висновку за втричі нижчої ціни за логічний висновок за допомогою екземплярів Amazon EC2 G5 для моделей NLP і CV PyTorch

Обчислювальна хмара Amazon Elastic (Amazon EC2) Екземпляри G5 це перші й єдині екземпляри в хмарі, які містять графічні процесори NVIDIA A10G Tensor Core, які можна використовувати для широкого діапазону випадків використання інтенсивної графіки та машинного навчання (ML). З екземплярами G5 клієнти ML отримують високу продуктивність і економічно ефективну інфраструктуру для навчання та розгортання більших і складніших моделей для обробки природної мови (NLP), комп’ютерного бачення (CV) і варіантів використання двигуна рекомендацій.

Мета цієї публікації — продемонструвати переваги продуктивності екземплярів G5 для великомасштабних робочих навантажень ML. Ми робимо це шляхом порівняння ціни та ефективності (вимірюється в доларах за мільйон висновків) для моделей NLP і CV з примірниками G4dn. Ми починаємо з опису нашого підходу до порівняльного аналізу, а потім представляємо криві пропускної здатності та затримки для розмірів пакетів і точності типів даних. Порівняно з екземплярами G4dn, ми виявили, що екземпляри G5 забезпечують незмінно нижчу вартість за мільйон висновків як для режимів повної точності, так і для режимів змішаної точності для моделей NLP і CV, одночасно досягаючи вищої пропускної здатності та меншої затримки.

Бенчмаркінговий підхід

Щоб провести дослідження ціни та ефективності між G5 і G4dn, нам потрібно виміряти пропускну здатність, затримку та вартість за мільйон висновків як функцію розміру пакета. Ми також вивчаємо вплив повної точності на змішану. І граф моделі, і вхідні дані завантажуються в CUDA перед висновком.

Як показано на наведеній нижче схемі архітектури, ми спочатку створюємо відповідні базові образи контейнерів за допомогою CUDA для основного екземпляра EC2 (G4dn, G5). Щоб створити базові зображення контейнерів, ми починаємо з Контейнери глибокого навчання AWS, які використовують попередньо запаковані образи Docker для розгортання середовищ глибокого навчання за лічені хвилини. Зображення містять необхідні бібліотеки та інструменти глибокого навчання PyTorch. Ви можете додати свої власні бібліотеки та інструменти поверх цих зображень для вищого рівня контролю над моніторингом, відповідністю та обробкою даних.

Потім ми створюємо специфічний для моделі образ контейнера, який інкапсулює конфігурацію моделі, трасування моделі та пов’язаний код для запуску вперед. Усі зображення контейнера завантажуються в Amazon ECR щоб дозволити горизонтальне масштабування цих моделей для різних конфігурацій моделей. Ми використовуємо Служба простого зберігання Amazon (Amazon S3) як загальне сховище даних для завантаження конфігурації та завантаження результатів тестування для узагальнення. Ви можете використовувати цю архітектуру для відтворення та відтворення результатів порівняльного тесту та перепрофілювання для порівняльного тестування різних типів моделей (таких як моделі Hugging Face, моделі PyTorch та інші спеціальні моделі) для типів екземплярів EC2 (CPU, GPU, Inf1).

З налаштованим експериментом наша мета — вивчити затримку як функцію пропускної здатності. Ця крива важлива для розробки програми, щоб отримати оптимальну за вартістю інфраструктуру для цільової програми. Щоб досягти цього, ми моделюємо різні навантаження, ставлячи в чергу запити з кількох потоків, а потім вимірюючи час проходження для кожного виконаного запиту. Пропускна здатність вимірюється на основі кількості виконаних запитів за одиницю часу. Крім того, ви можете змінювати розміри партій та інші змінні, такі як довжина послідовності та повна точність або половинна точність, щоб всебічно охопити простір дизайну та отримати орієнтовні показники продуктивності. У нашому дослідженні через параметричну розгортку розміру пакета та запитів від багатопоточних клієнтів визначається крива пропускної здатності та затримки. Кожен запит можна групувати, щоб забезпечити повне використання прискорювача, особливо для невеликих запитів, які можуть не повністю використовувати обчислювальний вузол. Ви також можете застосувати цю настройку, щоб визначити розмір пакета на стороні клієнта для оптимальної продуктивності.

Підводячи підсумок, ми можемо представити цю проблему математично як: (Пропускна здатність, Затримка) = функція (Розмір пакету, Кількість потоків, Точність).

Це означає, що враховуючи вичерпний простір, кількість експериментів може бути великою. На щастя, кожен експеримент можна провести окремо. Рекомендуємо використовувати Пакет AWS щоб виконати цей горизонтально масштабований бенчмаркінг за стислий час без збільшення вартості порівняльного аналізу порівняно з лінійним підходом до тестування. Код для тиражування результатів присутній у GitHub сховище підготовлено для AWS Re:Invent 2021. Репозиторій є комплексним для проведення порівняльного аналізу на різних прискорювачах. Ви можете звернутися до GPU-аспекту коду для створення контейнера (Dockerfile-gpu), а потім зверніться до коду всередині Container-Root для конкретних прикладів для BERT і ResNet50.

Ми використали попередній підхід для розробки досліджень продуктивності двох типів моделей: Bert-base-uncased (110 мільйонів параметрів, NLP) і ResNet50 (25.6 мільйонів параметрів, CV). У наступній таблиці наведено деталі моделі.

Тип моделі Model ПОДРОБИЦІ
НЛП twmkn9/bert-base-uncased-squad2 110 мільйонів параметрів Довжина послідовності = 128
CV ResNet50 25.6 мільйонів параметрів

Крім того, для порівняння між типами даних (повна точність, половинна точність) ми використовуємо torch.cuda.amp, який надає зручні методи обробки змішаної точності, де деякі операції використовують torch.float32 тип даних (float) та використання інших операцій torch.float16 (половина). Наприклад, такі оператори, як лінійні шари та згортки, працюють набагато швидше з float16, тоді як інші, як скорочення, часто вимагають динамічного діапазону float32. Автоматична змішана точність намагається зіставити кожного оператора з відповідним типом даних, щоб оптимізувати час виконання мережі та обсяг пам’яті.

Результати порівняльного аналізу

Для справедливого порівняння ми вибрали G4dn.4xвеликий та G5.4xвеликий екземпляри зі схожими атрибутами, як зазначено в наведеній нижче таблиці.

Екземпляр Графічні процесори Пам'ять GPU (ГіБ) vCPU Пам'ять (ГіБ) Пам'ять екземпляра (ГБ) Продуктивність мережі (Гбіт/с) Пропускна здатність EBS (Гбіт/с) Ціни Linux On-Demand (us-east-1)
G5.4xвеликий 1 24 16 64 1x 600 NVMe SSD до 25 8 $ 1.204 / год
G4dn.4xвеликий 1 16 16 64 1x 225 NVMe SSD до 25 4.75 $ 1.624 / год

У наступних розділах ми порівнюємо продуктивність логічного висновку моделей BERT і RESNET50 із підходом розгортки сітки для конкретних розмірів пакетів (32, 16, 8, 4, 1) і точності типу даних (повна та половинна точність), щоб отримати пропускну здатність проти кривої затримки. Крім того, ми досліджуємо вплив пропускної здатності на розмір партії як для повної, так і для половинної точності. Нарешті, ми вимірюємо вартість за мільйон висновків як функцію розміру партії. Консолідовані результати цих експериментів підсумовуються далі в цій публікації.

Пропускна здатність проти затримки

На наступних малюнках порівнюються екземпляри G4dn і G5 для робочих навантажень NLP і CV як з повною, так і з половинною точністю. Порівняно з екземплярами G4dn, екземпляр G5 забезпечує пропускну здатність приблизно в п’ять разів (повна точність) і приблизно в 2.5 рази (половина точності) для базової моделі BERT і приблизно в 2–2.5 рази вищу для моделі ResNet50. Загалом G5 є кращим вибором із збільшенням розмірів партій для обох моделей для повної та змішаної точності з точки зору продуктивності.

На наступних графіках порівнюється пропускна здатність і затримка P95 із повною та половинною точністю для BERT.

Досягніть у чотири рази більшої пропускної здатності логічного висновку за втричі нижчої ціни за логічний висновок за допомогою екземплярів Amazon EC2 G5 для моделей NLP і CV PyTorch PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai. Досягніть у чотири рази більшої пропускної здатності логічного висновку за втричі нижчої ціни за логічний висновок за допомогою екземплярів Amazon EC2 G5 для моделей NLP і CV PyTorch PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

На наступних графіках порівнюється пропускна здатність і затримка P95 із повною та половинною точністю для ResNet50.

Досягніть у чотири рази більшої пропускної здатності логічного висновку за втричі нижчої ціни за логічний висновок за допомогою екземплярів Amazon EC2 G5 для моделей NLP і CV PyTorch PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai. Досягніть у чотири рази більшої пропускної здатності логічного висновку за втричі нижчої ціни за логічний висновок за допомогою екземплярів Amazon EC2 G5 для моделей NLP і CV PyTorch PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Пропускна здатність і затримка в порівнянні з розміром пакета

Наступні графіки показують пропускну здатність як функцію розміру партії. За малих розмірів пакетів прискорювач не працює на повну потужність, і зі збільшенням розміру пакета пропускна здатність збільшується за рахунок затримки. Крива продуктивності асимптотична до максимального значення, яке є функцією продуктивності прискорювача. Крива має дві відмінні риси: висхідну ділянку та плоску асимптотичну ділянку. Для даної моделі продуктивний прискорювач (G5) здатний розтягувати наростаючу секцію до більших розмірів пакетів, ніж G4dn, і асимптоти з вищою пропускною здатністю. Крім того, існує лінійний компроміс між затримкою та розміром пакета. Таким чином, якщо програма обмежена затримкою, ми можемо використовувати затримку P95 проти розміру пакета, щоб визначити оптимальний розмір пакета. Однак, якщо метою є максимізація пропускної здатності за найнижчої затримки, краще вибрати розмір пакета, який відповідає «коліну» між наростаючою та асимптотичною ділянками, оскільки будь-яке подальше збільшення розміру пакета призведе до такої ж пропускної здатності за гірша затримка. Щоб досягти найкращого співвідношення ціни та продуктивності, орієнтуючись на вищу пропускну здатність із найменшою затримкою, вам краще горизонтально масштабувати цей оптимум за допомогою кількох серверів висновків, а не просто збільшувати розмір пакета.

Досягніть у чотири рази більшої пропускної здатності логічного висновку за втричі нижчої ціни за логічний висновок за допомогою екземплярів Amazon EC2 G5 для моделей NLP і CV PyTorch PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Вартість проти розміру партії

У цьому розділі ми представляємо порівняльні результати витрат на висновки ($ за мільйон висновків) у порівнянні з розміром партії. З наступного малюнка ми можемо чітко помітити, що вартість (виміряна в дол. США за мільйон висновків) стабільно нижча з G5 порівняно з G4dn (повна і половинна точність).

Досягніть у чотири рази більшої пропускної здатності логічного висновку за втричі нижчої ціни за логічний висновок за допомогою екземплярів Amazon EC2 G5 для моделей NLP і CV PyTorch PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai. Досягніть у чотири рази більшої пропускної здатності логічного висновку за втричі нижчої ціни за логічний висновок за допомогою екземплярів Amazon EC2 G5 для моделей NLP і CV PyTorch PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

У наведеній нижче таблиці підсумовано порівняння пропускної здатності, затримки та вартості ($ за мільйон висновків) для моделей BERT і RESNET50 в обох режимах точності для певних розмірів пакетів. Незважаючи на вищу вартість екземпляра, G5 стабільно перевершує G4dn за всіма аспектами затримки, пропускної здатності та вартості ($ за мільйон висновків) для всіх розмірів пакетів. Якщо об’єднати різні показники у вартість ($ за мільйон висновків), то модель BERT (розмір пакету 32, повна точність) із G5 у 3.7 рази вигідніша, ніж G4dn, а з моделлю ResNet50 (розмір пакету 32, повна точність) – у 1.6 рази. разів вигідніше, ніж G4dn.

Model Розмір партії Точність

Пропускна здатність

(Розмір пакету X запитів/с)

Затримка (мс)

$/мільйон

Висновки (на вимогу)

Кошт-вигода

(G5 над G4dn)

. . . G5 G4dn G5 G4dn G5 G4dn
Берт-база-без корпусу 32 Повний 723 154 44 208 $0.6 $2.2 3.7X
Змішаний 870 410 37 79 $0.5 $0.8 1.6X
16 Повний 651 158 25 102 $0.7 $2.1 3.0X
Змішаний 762 376 21 43 $0.6 $0.9 1.5X
8 Повний 642 142 13 57 $0.7 $2.3 3.3X
Змішаний 681 350 12 23 $0.7 $1.0 1.4X
. 1 Повний 160 116 6 9 $2.8 $2.9 1.0X
Змішаний 137 102 7 10 $3.3 $3.3 1.0X
ResNet50 32 Повний 941 397 34 82 $0.5 $0.8 1.6X
Змішаний 1533 851 21 38 $0.3 $0.4 1.3X
16 Повний 888 384 18 42 $0.5 $0.9 1.8X
Змішаний 1474 819 11 20 $0.3 $0.4 1.3X
8 Повний 805 340 10 24 $0.6 $1.0 1.7X
Змішаний 1419 772 6 10 $0.3 $0.4 1.3X
. 1 Повний 202 164 5 6 $2.2 $2 0.9X
Змішаний 196 180 5 6 $2.3 $1.9 0.8X

Додаткові орієнтири висновків

Окрім базових результатів BERT і ResNet50 у попередніх розділах, ми представляємо додаткові результати порівняльного аналізу для інших широко використовуваних великих моделей NLP і CV у PyTorch. Перевага продуктивності G5 над G4dn була представлена ​​для моделей BERT Large з різною точністю та моделей Yolo-v5 для різних розмірів. Код для копіювання тесту див Приклади глибокого навчання NVIDIA для тензорних ядер. Ці результати показують переваги використання G5 над G4dn для широкого діапазону завдань логічного висновку, що охоплюють різні типи моделей.

Model Точність Розмір партії Довжина послідовності Пропускна здатність (відправлено/с) Пропускна здатність: G4dn Прискорення через G4dn
БЕРТ-великий FP16 1 128 93.5 40.31 2.3
БЕРТ-великий FP16 4 128 264.2 87.4 3.0
БЕРТ-великий FP16 8 128 392.1 107.5 3.6
БЕРТ-великий FP32 1 128 68.4 22.67 3.0
БЕРТ-великий 4 128 118.5 32.21 3.7
БЕРТ-великий 8 128 132.4 34.67 3.8
Model GFLOPS Кількість параметрів Попередня обробка (мс) Висновок (мс) Висновок (немаксимальне придушення) (NMS/зображення)
YOLOv5s 16.5 7.2M 0.2 3.6 4.5
YOLOv5m 49.1 21M 0.2 6.5 4.5
YOLOv5l 109.3 46M 0.2 9.1 3.5
YOLOv5x 205.9 86M 0.2 14.4 1.3

Висновок

У цій публікації ми показали, що для висновків із великими моделями NLP і CV PyTorch екземпляри EC2 G5 є кращим вибором порівняно з екземплярами G4dn. Хоча погодинна вартість на вимогу для екземплярів G5 вища, ніж для екземплярів G4dn, його вища продуктивність може досягти в 2–5 разів більшої пропускної здатності за будь-якої точності для моделей NLP і CV, що робить вартість мільйона висновків у 1.5–3.5 рази вигіднішою, ніж Примірники G4dn. Навіть для додатків із затримкою G5 у 2.5–5 разів кращий за G4dn для моделей NLP і CV.

Підсумовуючи, екземпляри AWS G5 є чудовим вибором для ваших потреб у висновках як з точки зору продуктивності, так і з точки зору ціни за висновки. Універсальність фреймворку CUDA, а також масштаб і глибина пулу екземплярів G5 на AWS надають вам унікальну можливість виконувати висновки в масштабі.


Про авторів

Досягніть у чотири рази більшої пропускної здатності логічного висновку за втричі нижчої ціни за логічний висновок за допомогою екземплярів Amazon EC2 G5 для моделей NLP і CV PyTorch PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Анкур Шрівастава є старшим архітектором рішень у команді ML Frameworks. Він зосереджується на допомозі клієнтам із самокерованим розподіленим навчанням і висновками в масштабі на AWS. Його досвід включає промислове прогнозне технічне обслуговування, цифрові двійники, імовірнісну оптимізацію дизайну та закінчив докторські дослідження з машинобудування в Університеті Райса та пост-докторські дослідження в Массачусетському технологічному інституті.

Досягніть у чотири рази більшої пропускної здатності логічного висновку за втричі нижчої ціни за логічний висновок за допомогою екземплярів Amazon EC2 G5 для моделей NLP і CV PyTorch PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Сундар Ранганатан є керівником відділу розвитку бізнесу, ML Frameworks у команді Amazon EC2. Він зосереджується на великомасштабних робочих навантаженнях ML у таких службах AWS, як Amazon EKS, Amazon ECS, Elastic Fabric Adapter, AWS Batch і Amazon SageMaker. Його досвід включає керівні ролі в управлінні продуктами та розробці продуктів у NetApp, Micron Technology, Qualcomm і Mentor Graphics.

Досягніть у чотири рази більшої пропускної здатності логічного висновку за втричі нижчої ціни за логічний висновок за допомогою екземплярів Amazon EC2 G5 для моделей NLP і CV PyTorch PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Махадеван Баласубраманіам є головним архітектором рішень для автономних обчислень із майже 20-річним досвідом роботи в галузі глибокого навчання на основі фізики, створення та розгортання цифрових близнюків для масштабних промислових систем. Махадеван отримав ступінь доктора філософії з машинобудування в Массачусетському технологічному інституті та має понад 25 патентів і публікацій.

Досягніть у чотири рази більшої пропускної здатності логічного висновку за втричі нижчої ціни за логічний висновок за допомогою екземплярів Amazon EC2 G5 для моделей NLP і CV PyTorch PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai. Амр Рагаб є головним архітектором рішень для прискорених платформ EC2 для AWS, який допомагає клієнтам виконувати обчислювальні навантаження в масштабі. У вільний час він любить подорожувати та шукати нові шляхи інтеграції технологій у повсякденне життя.

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

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