В будущей графической архитектуре AMD может быть реализована возможность обработки формата данных с плавающей запятой BFloat16. Это обнаружили пользователи сети Reddit, исследуя обновленные библиотеки AMD ROCm в сервисе хостинга IT-проектов GitHub.

AMD BFloat16

Bfloat16 — это формат чисел с плавающей запятой, занимающий 16 бит в памяти компьютера. По сравнению с 16-битным форматом FP16 он имеет иную структуру и, как следствие, собственные достоинства и недостатки. Bfloat16 можно описать формулой [1: 8: 7], где 1 бит знака, 8 бит ширина экспоненты и 7 бит точности или мантиссы плюс еще один неявный бит мантиссы. В свою очередь, структура FP16 выглядит как [1: 5: 10], предлагая меньше экспоненциальных битов (5 против 8).

За счет этого Bfloat16 обладает гораздо большим динамическим диапазоном, нежели FP16. Такой диапазон, например, полезен для градиентов, которые могут находиться за пределами динамического диапазона FP16 или для точного представления целых чисел, благодаря кодированию int8 в BFloat16 без потери точности.

Поддержка BFloat16 в первую очередь будет полезна ученным и исследователям, использующим GPU-ускорители для своих задач, поскольку данный формат широко используется в вычислениях, связанных с искусственным интеллектом и машинным обучением. Добавление BFloat16, скорее, задел на будущее для AMD. Вычислительные операции в современном рендеринге 3D-игр вряд ли выиграют от BFloat16 по сравнению с FP16. Однако BFloat16 принесет огромные дивиденды научному сообществу.