Смешанная точность: FP16, BF16, TF32
Обмен точности на пропускную способность
«Смешанная точность: 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 — локальная установка не требуется.
Все уроки этого курса
- Что вычисляют тензорные ядра
- Смешанная точность: FP16, BF16, TF32
- Фрагментный API WMMA
- Компромиссы численной устойчивости