Технічний КЕРІВНИЦТВО

Тензорні ядра

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

2 хвилини читанняОстаннє оновлення

Огляд

They are the main reason a single GPU can train and run large neural networks orders of magnitude faster than general-purpose compute would allow.

Глибоке занурення

Представлені в архітектурі Volta у 2017 році, Tensor Cores — це спеціальні схеми, які обчислюють множення невеликої матриці плюс додавання (D = A x B + C) за одну операцію, замість того, щоб виконувати кожне множення по одному на стандартних ядрах CUDA. Оскільки практично кожен рівень нейронної мережі зводиться до множення матриці, це відповідає математичним показникам, які насправді потребує ШІ. Кожне покоління GPU розширювало те, що вони обробляли: Volta створила плитки 4x4 FP16, тоді як пізніші архітектури Ampere, Hopper і Blackwell додали формати нижчої точності, такі як TF32, BF16, INT8, FP8 і FP4. Нижча точність означає більше чисел, що обробляються за такт, значно підвищуючи пропускну здатність для навчання та висновків, зберігаючи при цьому прийнятну точність.

Технічне розуміння

Tensor Core множить дві малі матриці та накопичує результат за один об’єднаний крок, використовуючи той факт, що ті самі вхідні значення повторно використовуються для багатьох вихідних елементів. Зазвичай він зчитує вхідні дані зі зниженою точністю (FP16, BF16 або FP8), але накопичує поточну суму з вищою точністю (часто FP32), щоб обмежити помилку округлення. Бібліотеки програмного забезпечення, як-от cuBLAS і cuDNN, і фреймворки, як-от PyTorch, автоматично розміщують великі матриці в ці маленькі блоки, тож моделі отримують прискорення без кодування вручну.

Стратегічний вплив

Вартість і бюджет

Архітектурні рішення збільшують продуктивність і експлуатаційні витрати протягом багатьох років.

Чіткіші рішення

Технічна освіта допомагає командам вибрати правильний стек, а не лише найновіший.

Контроль якості

Кращий інженерний вибір зменшує проблеми з надійністю у виробництві.

Майбутнє тензорних ядер

Тензорні ядра продовжують рухатися до дедалі нижчої точності: Хоппер додав FP8, а Блекуелл представив 4-розрядний FP4 із масштабуванням, керованим апаратним забезпеченням, приблизно подвоюючи пропускну здатність на кожному кроці для важких робочих навантажень. Очікуйте більш жорсткої підтримки розрідженості (пропуск нульових ваг), форматів мікромасштабування, які додають масштабні коефіцієнти до невеликих блоків чисел, і більш глибокої інтеграції з системами пам’яті, щоб ядра залишалися живими. У міру зростання моделей основним полем битви за продуктивність апаратного забезпечення штучного інтелекту залишається матричний механізм, а не сира тактова частота.

Реалізація в реальному світі

Навчання великих мовних моделей, таких як трансформатори у стилі GPT, де мільярди множень матриць за крок виконуються на тензорних ядрах у BF16 або FP8.

Запуск висновків у реальному часі для чат-ботів і генераторів зображень із використанням квантування INT8 або FP8 для обслуговування більшої кількості користувачів на GPU.

Прискорення NVIDIA DLSS у відеоіграх, де нейронна мережа покращує кадри з нижчою роздільною здатністю за допомогою тензорних ядер кожного кадру.

Прискорення наукових обчислень, таких як згортання білків (AlphaFold) і моделі погоди, які були переформульовані як нейронні навантаження з великими матрицями.

Ризики та огорожі

Оптимізація одного тесту може приховати ширші слабкі сторони системи.

Витрати на інфраструктуру та обслуговування часто недооцінюються.

Прогалини в безпеці та спостережуваності можуть зростати в міру ускладнення систем.

Дорожня карта впровадження

1

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

2

Тест за реалістичних умов навантаження та даних.

3

Моніторинг інструментів на наявність помилок, дрейфу та впливу користувача.

4

Перед масштабуванням підготуйте шляхи відкату та реагування на інциденти.

Продовжуйте досліджувати

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Tensor Cores quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Розпочати вікторину

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Наступний посібник

Тензорний паралелізм для великих моделей

Часті запитання

What is Tensor Cores?

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

Для прискорення якої основної математичної операції розроблено Tensor Cores?

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

Яка архітектура GPU NVIDIA вперше представила тензорні ядра?

Tensor Cores дебютувала з архітектурою Volta у 2017 році, починаючи з операцій матриці FP16 4x4.

Чому тензорні ядра часто використовують знижену точність, наприклад FP16 або FP8?

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

Щоб зберегти точність, яку точність зазвичай використовують тензорні ядра для поточної суми (накопичення)?

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

Як повсякденні фреймворки AI, такі як PyTorch, використовують Tensor Cores?

Базові бібліотеки автоматично розбивають великі матриці на фрагменти розміром із Tensor-Core, тому фреймворки отримують прискорення без кодування вручну.