CUDA Academy · Урок

Смешанная точность: FP16, BF16, TF32

Обмен точности на пропускную способность

Урок 2 из 413 шагов

«Смешанная точность: FP16, BF16, TF32» — бесплатный урок CUDA Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения CUDA Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс CUDA Academy содержит 4 уроков всего.

Биты в обмен на скорость

Tensor Core получают скорость благодаря смешанной точности: используются меньшие числовые форматы, поэтому за один такт аппаратное обеспечение выполняет гораздо больше арифметики. ⚡

Цена FP32

Стандартный FP32 использует 32 бита на значение. Он точен, но требует много ресурсов, поэтому перемещение и умножение большого количества значений FP32 расходует пропускную способность и время.

Знакомьтесь: FP16

FP16 использует всего 16 бит: меньшую экспоненту и меньше бит мантиссы. Половинный размер позволяет одновременно перемещать и умножать больше значений.

У FP16 небольшой диапазон

FP16 экономит место, но узкая экспонента даёт небольшой динамический диапазон. Очень большие или очень маленькие значения могут переполниться или исчезнуть, превратившись в ноль.

Знакомьтесь: BF16

BF16 также занимает 16 бит, но сохраняет полный диапазон экспоненты FP32, жертвуя битами мантиссы. Его диапазон совпадает с FP32, но точность ниже.

Почему BF16 выигрывает при обучении

Поскольку BF16 имеет широкий диапазон FP32, градиенты редко переполняются. Поэтому BF16 часто выбирают для безопасного обучения больших нейронных сетей.

Знакомьтесь: TF32

TF32 — это 19-битный формат Tensor Core: экспонента FP32 с укороченной мантиссой. Он ускоряет вычисления, оставаясь для вашего кода похожим на FP32.

Накопитель остаётся широким

Независимо от формата входных данных Tensor Core обычно накапливают частичные суммы в FP32. Скорость обеспечивают входные данные, а надёжность — текущая сумма.

Диапазон и точность

Главная идея такова: FP16 и BF16 используют одинаковые 16 бит, но распределяют их по-разному. Один формат отдаёт приоритет точности, другой — диапазону.

Выбор формата

Используйте BF16 или TF32, когда важен диапазон, а FP16 — когда вы можете управлять масштабированием. Подходящий формат зависит от ваших данных, а не только от скорости.

Объявление половинной точности

В CUDA C++ тип FP16 имеет короткое имя. Эта строка объявляет одно значение типа half, готовое для вычислений на Tensor Core.

__half x = __float2half(1.5f);

Быстрая проверка

Какой формат сохраняет полный диапазон экспоненты FP32, используя всего 16 бит?

Итоги

Вы увидели, как смешанная точность обменивает биты на пропускную способность: FP16 отдаёт приоритет точности, BF16 — диапазону, а TF32 ускоряет вычисления в стиле FP32. Накопление с широким диапазоном сохраняет надёжность результатов. ✨

Можно начать бесплатно

Изучай C++ с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Смешанная точность: FP16, BF16, TF32» бесплатный?

Да — полный текст урока «Смешанная точность: FP16, BF16, TF32» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс CUDA Academy, подпишись на CoddyKit PRO. Курс CUDA Academy содержит 4 уроков всего.

Чему я научусь в уроке «Смешанная точность: FP16, BF16, TF32»?

Обмен точности на пропускную способность Ты практикуешь CUDA Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать CUDA Academy?

Предыдущий опыт не требуется. CUDA Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Смешанная точность: FP16, BF16, TF32»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке CUDA Academy?

Да. Каждый урок CUDA Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что вычисляют тензорные ядра
  2. Смешанная точность: FP16, BF16, TF32
  3. Фрагментный API WMMA
  4. Компромиссы численной устойчивости
← Назад к CUDA Academy