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

Тренування змішаної точності

Навчання змішаної точності пришвидшує навчання нейронної мережі та скорочує використання пам’яті, виконуючи більшість математичних обчислень із 16-бітною плаваючою комою замість 32-бітної.

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

Огляд

It lets the same GPU train bigger models faster with almost no loss in accuracy.

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

Традиційне навчання зберігає ваги та виконує математику в 32-розрядному обчисленні з плаваючою комою (FP32). Змішана точність використовує 16-розрядні формати нижчої точності (FP16 або bfloat16) для важких множень матриці, зберігаючи при цьому 32-розрядну «основну копію» вагових коефіцієнтів для стабільних оновлень. Оскільки 16-розрядні числа вдвічі менші, вони більше поміщаються в пам’ять графічного процесора, а тензорні ядра обробляють їх приблизно у 2–8 разів швидше. Заковика полягає у вузькому діапазоні FP16: крихітні градієнти можуть опускатися до нуля. Стандартним виправленням є масштабування втрат, яке множить втрати на великий коефіцієнт перед зворотним поширенням, щоб невеликі градієнти залишалися репрезентативними, а потім ділить їх назад перед оновленням ваги. Apex від NVIDIA та вбудований AMP (Automatic Mixed Precision) у PyTorch і TensorFlow автоматизують це.

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

FP16 має лише 5 бітів експоненти, що дає малий динамічний діапазон, який спричиняє заниження градієнта. Bfloat16 зберігає 8 бітів експоненти (відповідає діапазону FP32), але менше бітів мантиси, тому йому рідко потрібне масштабування втрат — основна причина Google TPU і сучасних графічних процесорів. Тензорні ядра прискорюють роботу шляхом множення 16-розрядних операндів, але накопичення часткових сум у FP32, зберігаючи точність там, де помилки підсумовування інакше ускладнилися б.

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

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

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

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

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

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

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

Майбутнє навчання змішаної точності

Точність постійно падає. Навчання FP8, яке підтримується графічними процесорами NVIDIA Hopper і Blackwell, стає стандартом для передових моделей, а дослідження FP4 і форматів мікромасштабування (MXFP) просуваються далі. Очікуйте, що фреймворки автоматично вибиратимуть точність кожного рівня, апаратне забезпечення для обробки все вужчих форматів і навчання з урахуванням квантування, щоб стирати межу між навчанням із низькою точністю та логічним висновком, зменшуючи вартість навчання моделей із трильйонами параметрів.

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

Torch.cuda.amp.autocast від PyTorch обертає навчальний цикл, щоб приблизно вдвічі зменшити обсяг пам’яті та подвоїти пропускну здатність на одному GPU

Навчання великих мовних моделей, таких як трансформатори у стилі GPT, у bfloat16 на TPU, щоб уникнути налаштування масштабування з втратами

Встановлення більшого розміру партії на споживчому GPU RTX шляхом перемикання навчання зображення ResNet з FP32 на FP16

Змішана точність FP8 на графічних процесорах NVIDIA H100 для скорочення витрат на попереднє навчання моделей передового масштабу

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

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

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

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

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

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 Mixed Precision Training 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 Mixed Precision Training?

Навчання змішаної точності пришвидшує навчання нейронної мережі та скорочує використання пам’яті, виконуючи більшість математичних обчислень із 16-бітною плаваючою комою замість 32-бітної. Це дозволяє тому самому GPU тренувати більші моделі швидше майже без втрати точності.

Чому навчання змішаної точності зберігає 32-розрядну «майстер-копію» ваг?

Оновлення ваги часто дуже незначні; накопичення їх у 16-бітному форматі призведе до втрати точності, тому повноточна головна копія зберігає точність оновлень.

Яку проблему вирішує масштабування втрат під час навчання FP16?

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

Яку перевагу має bfloat16 перед FP16?

Bfloat16 зберігає 8 бітів експоненти, як FP32, тому його динамічний діапазон великий, а градієнтне переповнення рідко.

Як тензорні ядра зберігають точність під час використання 16-бітних входів?

Тензорні ядра множать 16-розрядні операнди, але накопичують у 32-розрядних, запобігаючи зведенню помилок підсумовування.

Яка основна перевага використання 16-бітних значень замість 32-бітних під час навчання?

Числа половинного розміру вміщують більше даних у пам’ять графічного процесора та дозволяють спеціалізованому обладнанню обробляти матричні обчислення в кілька разів швидше.