Як Amazon Search досягає низької затримки та високої пропускної здатності T5 за допомогою NVIDIA Triton на AWS PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Як Amazon Search досягає низької затримки та високої пропускної здатності T5 за допомогою NVIDIA Triton на AWS

Бачення Amazon Search – надати клієнтам можливість шукати без зусиль. Наша корекція орфографії допоможе вам знайти те, що ви хочете, навіть якщо ви не знаєте точного написання призначених слів. У минулому ми використовували класичні алгоритми машинного навчання (ML) з ручною інженерією функцій для виправлення орфографії. Щоб зробити наступний стрибок у продуктивності виправлення орфографії, ми використовуємо низку підходів глибокого навчання, включаючи моделі від послідовності до послідовності. Моделі глибокого навчання (DL) потребують обчислень як під час навчання, так і для висновків, і ці витрати історично зробили моделі DL непрактичними у виробничих умовах у масштабах Amazon. У цій публікації ми представляємо результати експерименту з оптимізації висновку, де ми долаємо ці перешкоди та досягаємо прискорення висновку на 534% для популярного Hugging Face T5 Transformer.

виклик

Трансформатор передачі тексту в текст (T5, Вивчення меж трансферного навчання за допомогою уніфікованого перетворювача тексту в текст, Reffel et al) є найсучаснішою архітектурою моделі обробки природної мови (NLP). T5 є перспективною архітектурою для виправлення орфографії, яка, як ми виявили, добре працює в наших експериментах. Моделі T5 легко досліджувати, розробляти та навчати завдяки платформі глибокого навчання з відкритим кодом і поточним академічним та корпоративним дослідженням.

Однак важко досягти продуктивного висновку з низькою затримкою за допомогою T5. Наприклад, один висновок за допомогою PyTorch T5 займає 45 мілісекунд на одному з чотирьох графічних процесорів NVIDIA V100 Tensor Core, які оснащені екземпляром Amazon Elastic Compute Cloud (EC2) p3.8xlarge. (Усі повідомлені цифри висновку стосуються введення 9 маркерів і виведення 11 маркерів. Затримка архітектури T5 чутлива до довжини як входу, так і виходу.)

Низька затримка, економічно ефективний висновок T5 у масштабі — це відома складність, про яку повідомляли кілька клієнтів AWS за межами Amazon Search, що підвищує нашу мотивацію зробити цей пост. Щоб перейти від офлайнових наукових досягнень до виробничої служби, орієнтованої на клієнтів, Amazon Search стикається з такими проблемами:

  • Затримка – Як реалізувати висновок T5 за затримку P50 менше ніж 99 мілісекунд
  • Пропускна здатність – Як обробляти великомасштабні одночасні запити на висновок
  • Ефективність витрат – Як тримати витрати під контролем

У решті цієї публікації ми пояснюємо, як стек оптимізації висновку NVIDIA, а саме NVIDIA TensorRT компілятор і відкритий вихідний код Сервер NVIDIA Triton Inference— вирішує ці завдання. Прочитайте Прес-реліз NVIDIA щоб дізнатися про оновлення.

NVIDIA TensorRT: зниження витрат і затримок завдяки оптимізації висновку

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

NVIDIA TensorRT — це пакет SDK для високопродуктивного глибокого навчання. TensorRT забезпечує як оптимізований час виконання, використовуючи низькорівневі оптимізовані ядра, доступні на графічних процесорах NVIDIA, так і модельний графік лише для висновку, який перебудовує обчислення висновку в оптимізованому порядку.

У наступному розділі ми поговоримо про деталі, що відбуваються за TensorRT, і про те, як він прискорює продуктивність.

Як Amazon Search досягає низької затримки та високої пропускної здатності T5 за допомогою NVIDIA Triton на AWS PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

  1. Знижена точність максимізує пропускну здатність за допомогою FP16 або INT8 шляхом квантування моделей, зберігаючи коректність.
  2. Злиття шарів і тензорів оптимізує використання пам'яті та пропускної здатності графічного процесора, об'єднуючи вузли в ядрі, щоб уникнути затримки запуску ядра.
  3. Автоналаштування ядра вибирає найкращі шари даних та алгоритми на основі цільової платформи GPU та форм ядра даних.
  4. Динамічна тензорна пам'ять мінімізує обсяг пам’яті, звільняючи непотрібне споживання пам’яті проміжних результатів і ефективно повторно використовує пам’ять для тензорів.
  5. Багатопотокове виконання використовує масштабований дизайн для обробки кількох вхідних потоків паралельно із виділеними потоками CUDA.
  6. Злиття часу оптимізує повторювані нейронні мережі з плином часу за допомогою динамічно згенерованих ядер.

T5 використовує трансформаторні шари як будівельні блоки для своєї архітектури. Останній випуск NVIDIA TensorRT 8.2 вводить нові оптимізації для моделей T5 і GPT-2 для висновку в реальному часі. У наведеній нижче таблиці ми бачимо прискорення за допомогою TensorRT на деяких загальнодоступних моделях T5, які працюють на екземплярах Amazon EC2G4dn, на основі графічних процесорів NVIDIA T4 і EC2 G5, що працюють на графічних процесорах NVIDIA A10G.

 

Model Екземпляр Затримка базової лінії Pytorch (мс) Затримка TensorRT 8.2 (мс) Прискорення порівняно з базовим рівнем ВЧ
FP32 FP32 FP16 FP32 FP16
кодер дешифратор Кінець в кінець кодер дешифратор Кінець в кінець кодер дешифратор Кінець в кінець Кінець в кінець Кінець в кінець
t5-малий g4dn.xlarge 5.98 9.74 30.71 1.28 2.25 7.54 0.93 1.59 5.91 407.40% 519.34%
g5.xlarge 4.63 7.56 24.22 0.61 1.05 3.99 0.47 0.80 3.19 606.66% 760.01%
t5-основа g4dn.xlarge 11.61 19.05 78.44 3.18 5.45 19.59 3.15 2.96 13.76 400.48% 569.97%
g5.xlarge 8.59 14.23 59.98 1.55 2.47 11.32 1.54 1.65 8.46 530.05% 709.20%

Додаткову інформацію про оптимізацію та реплікацію доданої продуктивності див Оптимізація T5 і GPT-2 для висновку в реальному часі за допомогою NVIDIA TensorRT.

Важливо зазначити, що компіляція зберігає точність моделі, оскільки вона працює з середовищем висновку та плануванням обчислень, залишаючи науку про модель незмінною – на відміну від стиснення зняття ваги, такого як дистиляція або обрізання. NVIDIA TensorRT дозволяє поєднувати компіляцію з квантуванням для подальшого виграшу. Квантування має подвійні переваги на новітньому апаратному забезпеченні NVIDIA: воно зменшує використання пам’яті та дозволяє використовувати тензорні ядра NVIDIA, специфічні для DL осередки, які запускають об’єднану матрицю-множення-додавання зі змішаною точністю.

У випадку експерименту Amazon Search з моделлю Hugging Face T5, заміна PyTorch на TensorRT для визначення моделі збільшує швидкість на 534%.

NVIDIA Triton: Обслуговування висновку з низькою затримкою та високою пропускною здатністю

Сучасні рішення для обслуговування моделей можуть перетворити офлайн-навчені моделі в продукти на основі машинного машинного навчання, призначені для клієнтів. Щоб підтримувати розумні витрати в такому масштабі, важливо підтримувати низькі витрати на обслуговування (обробка HTTP, попередня та постобробка, зв’язок між процесором і графічним процесором) і повністю використовувати можливості паралельної обробки графічних процесорів.

NVIDIA Triton — це програмне забезпечення для обробки висновків, яке пропонує широку підтримку середовищ виконання моделі (NVIDIA TensorRT, ONNX, PyTorch, XGBoost серед інших) та серверних елементів інфраструктури, включаючи графічні процесори, центральний процесор та AWS Inferentia.

Практикуючі ML люблять Triton з кількох причин. Його динамічна пакетна здатність дозволяє накопичувати запити на висновок під час визначеної користувачем затримки та в межах максимального розміру пакету, визначеного користувачем, так що висновки GPU групуються, амортизуючи накладні витрати на зв’язок CPU-GPU. Зауважте, що динамічне пакетне надсилання відбувається на стороні сервера і протягом дуже коротких проміжків часу, тому клієнт, який запитує, все ще має синхронний виклик майже в реальному часі. Користувачі Triton також насолоджуються його потужністю одночасного виконання моделі. Графічні процесори — це потужні багатозадачні пристрої, які чудово виконують інтенсивні обчислювальні навантаження паралельно. Triton максимізує використання і пропускну здатність графічного процесора, використовуючи потоки CUDA для одночасного запуску кількох екземплярів моделі. Ці екземпляри моделі можуть бути різними моделями з різних фреймворків для різних випадків використання або прямою копією тієї ж моделі. Це означає пряме підвищення пропускної здатності, якщо у вас достатньо простої пам’яті GPU. Крім того, оскільки Triton не прив’язаний до конкретної системи розробки DL, це дозволяє вченим повністю висловити себе в інструменті на свій вибір.

Завдяки Triton на AWS Amazon Search очікує кращого обслуговування Amazon.com клієнтів і відповідати вимогам щодо затримки за низькою ціною. Тісна інтеграція між середовищем виконання TensorRT і сервером Triton полегшує розробку. Використання хмарної інфраструктури AWS дозволяє збільшити або зменшити масштаб за лічені хвилини на основі вимог до пропускної здатності, підтримуючи при цьому високу планку або надійність і безпеку.

Як AWS знижує вхідний бар’єр

Хоча Amazon Search провів цей експеримент на інфраструктурі Amazon EC2, існують інші служби AWS для полегшення розробки, навчання та розміщення найсучасніших рішень глибокого навчання.

Наприклад, AWS і NVIDIA співпрацювали, щоб випустити керовану реалізацію Triton Inference Server у Amazon SageMaker ; для отримання додаткової інформації див Розгорніть швидкий і масштабований AI за допомогою NVIDIA Triton Inference Server в Amazon SageMaker. AWS також співпрацювала з Hugging Face для розробки керованої оптимізованої інтеграції між Amazon SageMaker і Hugging Face Transformers, фреймворком з відкритим вихідним кодом, на основі якого походить модель Amazon Search T5; читайте більше на https://aws.amazon.com/machine-learning/hugging-face/.

Ми заохочуємо клієнтів із додатками глибокого навчання CPU та GPU, чутливими до затримок, розглянути NVIDIA TensorRT і Triton на AWS. Дайте нам знати, що ви будуєте!

Захоплені глибоким навчанням і створенням рішень на основі глибокого навчання для Amazon Search? Перегляньте наші сторінка кар'єри.


Про авторів

Як Amazon Search досягає низької затримки та високої пропускної здатності T5 за допомогою NVIDIA Triton на AWS PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.RJ є інженером у команді Search M5, який керує зусиллями зі створення великомасштабних систем глибокого навчання для навчання та висновків. Поза роботою він досліджує різні кухні та займається ракетками.

Як Amazon Search досягає низької затримки та високої пропускної здатності T5 за допомогою NVIDIA Triton на AWS PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Гемант Пугалія є прикладним науковцем у Search M5. Він працює над застосуванням новітньої обробки природної мови та дослідження глибокого навчання, щоб покращити якість обслуговування клієнтів на Amazon по всьому світу. Його наукові інтереси включають обробку природної мови та великомасштабні системи машинного навчання. Поза роботою любить ходити в походи, готує та читає.

Як Amazon Search досягає низької затримки та високої пропускної здатності T5 за допомогою NVIDIA Triton на AWS PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Енді Сан є інженером-програмістом і технічним керівником з виправлення орфографії в пошуковій системі. Його наукові інтереси включають оптимізацію затримки висновку глибокого навчання та створення платформ швидкого експериментування. Поза роботою захоплюється кіно та акробатикою.

Як Amazon Search досягає низької затримки та високої пропускної здатності T5 за допомогою NVIDIA Triton на AWS PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Ле Кай є інженером-програмістом у Amazon Search. Він працює над покращенням ефективності виправлення орфографії в пошуку, щоб допомогти клієнтам зробити покупки. Він зосереджується на високопродуктивному онлайновому висновку та оптимізації розподіленого навчання для моделі глибокого навчання. Поза роботою любить кататися на лижах, ходити в гори та їздити на велосипеді.

Як Amazon Search досягає низької затримки та високої пропускної здатності T5 за допомогою NVIDIA Triton на AWS PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Ентоні Ко зараз працює інженером-програмістом у Search M5 Пало-Альто, Каліфорнія. Він працює над створенням інструментів і продуктів для розгортання моделі та оптимізації висновків. Поза роботою любить готувати і грати в ракетки.

Як Amazon Search досягає низької затримки та високої пропускної здатності T5 за допомогою NVIDIA Triton на AWS PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Олів'є Крюшан є спеціалістом з машинного навчання архітектором рішень у AWS, що базується у Франції. Олів’є допомагає клієнтам AWS – від невеликих стартапів до великих підприємств – розробляти та впроваджувати програми машинного навчання виробничого рівня. У вільний час він любить читати наукові роботи та досліджувати пустелю з друзями та родиною.

Як Amazon Search досягає низької затримки та високої пропускної здатності T5 за допомогою NVIDIA Triton на AWS PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Аніш Мохан є архітектором машинного навчання в NVIDIA і технічним керівником у сфері ML і DL зі своїми клієнтами в регіоні Великого Сіетла.

Як Amazon Search досягає низької затримки та високої пропускної здатності T5 за допомогою NVIDIA Triton на AWS PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Цзяхон Лю є архітектором рішень у команді постачальників хмарних послуг у NVIDIA. Він допомагає клієнтам у прийнятті рішень машинного навчання та штучного інтелекту, які використовують прискорені обчислення NVIDIA для вирішення їхніх проблем навчання та висновків. У вільний час він любить орігамі, DIY-проекти та грає в баскетбол.

Як Amazon Search досягає низької затримки та високої пропускної здатності T5 за допомогою NVIDIA Triton на AWS PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Еліут Тріана є менеджером зі зв'язків з розробниками в NVIDIA. Він об’єднує лідерів продуктів, розробників і науковців Amazon і AWS з технологами та лідерами продуктів NVIDIA для прискорення робочих навантажень Amazon ML/DL, продуктів EC2 і служб AWS AI. Крім того, Еліут — пристрасний гірський велосипедист, лижник і гравець у покер.

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

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