Числа с плавающей запятой лежат в основе подавляющего большинства компьютерных вычислений, особенно в сферах искусственного интеллекта (ИИ) и машинного обучения. Они позволяют моделям эффективно обрабатывать данные, обеспечивая баланс между точностью и скоростью вычислений. Развитие вычислительных технологий требует новых форматов, которые оптимизируют использование памяти и ускоряют вычислительные процессы без значительных потерь точности. Одним из перспективных форматов стал FP8 — 8-битный формат чисел с плавающей запятой, который может улучшить производительность вычислений и сократить энергопотребление.

Исторический контекст
До появления стандарта IEEE 754 (1985 г.) работа с числами с плавающей запятой была сложной и нестабильной. Каждая вычислительная система использовала собственные методы обработки таких чисел, что приводило к несовместимости программ и ошибкам вычислений. Введение IEEE 754 стандартизировало представление чисел с плавающей запятой, обеспечив единый подход к их обработке. Этот стандарт определил структуру чисел, включая знаковый бит, экспоненту и мантиссу, а также установил правила округления и обработки исключительных ситуаций.
Сначала операции с плавающей запятой выполнялись программно, что замедляло вычисления. Позже появились специализированные математические сопроцессоры, такие как Intel 8087, которые значительно ускорили эти операции. В дальнейшем функциональность этих модулей была интегрирована в центральные процессоры, что способствовало развитию высокопроизводительных вычислений, особенно в графических и научных задачах.
Числа с плавающей запятой в ИИ и машинном обучении
В машинном обучении точность чисел играет важную роль. Для обучения моделей необходимы вычисления с высокой точностью, поскольку малейшие ошибки в представлении чисел могут накапливаться, влияя на итоговую эффективность модели. Однако использование 32-битных и 64-битных форматов требует значительных вычислительных ресурсов, увеличивает энергопотребление и снижает скорость обработки данных.
Для решения этой проблемы были разработаны форматы FP16 и BF16 (bfloat16), которые позволяют сократить объем памяти и ускорить вычисления. BF16 — это 16-битный формат с 8-битной экспонентой (как у FP32) и 7-битной мантиссой, что позволяет сохранить широкий динамический диапазон при меньшей точности. Последние исследования показывают, что FP8 может обеспечить еще более эффективный баланс между точностью и производительностью, хотя его практическое применение пока ограничено экспериментальными реализациями и специализированными системами.
Точность и квантование
Снижение точности представления чисел — один из методов оптимизации работы нейросетей. Среди наиболее популярных форматов сегодня используются FP32, FP16, BF16, INT8 и экспериментальный FP8.
FP32 (32-битный формат) обеспечивает высокую точность, но требует значительных вычислительных мощностей и объема памяти.
FP16 (16-битный формат) снижает нагрузку на оборудование, но в некоторых случаях приводит к потерям точности из-за ограниченного динамического диапазона.
BF16 (brain floating-point 16) сохраняет тот же динамический диапазон, что и FP32, благодаря 8-битной экспоненте, но с меньшей точностью мантиссы. Это делает его особенно полезным для обучения моделей, где важно избежать переполнения.
INT8 (8-битный целочисленный формат) эффективен для инференса, но требует дополнительной калибровки для сохранения качества модели.
FP8 представлен двумя вариантами: E4M3 и E5M2. В первом используется 4-битная экспонента и 3-битная мантисса, а во втором — 5-битная экспонента и 2-битная мантисса. Формат E4M3 лучше подходит для весов и активационных тензоров, а E5M2 — для градиентов.
Особенности и ограничения FP8
Формат E4M3 отличается от стандартных представлений тем, что не поддерживает значения infinity и NaN для расширения динамического диапазона. Это создает дополнительные сложности при обработке исключительных ситуаций, требуя специальных механизмов эмуляции в программных фреймворках.
Важно отметить, что до завершения стандартизации IEEE различные производители используют слегка отличающиеся реализации FP8. Например, AMD MI300X поддерживает FP8 (E4M3 и E5M2) с кодировкой, которая отличается от формата NVIDIA. Аналогично, Open Compute Project определяет свой MX формат для FP8 с небольшими вариациями.
Исследования NVIDIA показывают, что FP8 приближается к точности FP16 при инференсе, достигая сопоставимых результатов при правильной настройке. Однако полноценное обучение моделей в FP8 требует дополнительных техник стабилизации:
Масштабирование потерь (loss scaling) для предотвращения исчезновения градиентов
Стохастическое округление для снижения накопления ошибок
Смешанная точность, когда критические операции выполняются в FP16 или FP32
Поддержка оборудования
Современные графические процессоры активно внедряют поддержку форматов с пониженной точностью, включая FP8:
NVIDIA
GPU Hopper (H100) оснащены тензорными ядрами четвертого поколения с поддержкой FP8. Новейшая архитектура Blackwell использует тензорные ядра пятого поколения, которые расширяют поддержку низкоточных форматов, включая FP4 и FP6, помимо FP8.
Производительность Blackwell:
B100 (700 Вт, воздушное охлаждение): ~1750 TFLOP/s в FP16
B200 (1000 Вт, воздушное охлаждение): ~2250 TFLOP/s в FP16
B200 (1200 Вт, жидкостное охлаждение): до ~2500 TFLOP/s в FP16
При переходе на FP8 теоретическая пропускная способность может удваиваться для вычислительно-ограниченных задач.

AMD
Процессоры Instinct MI300X поддерживают нативные операции FP8 (E4M3/E5M2) через программный стек ROCm 6.4.1, обеспечивая конкуренцию с решениями NVIDIA в сегменте ИИ-ускорителей.
Intel
Ускорители Gaudi 3 предлагают до 1.8 PFLOP/s производительности в операциях FP8 GEMM, представляя альтернативу доминирующим на рынке решениям.
Поддержка FP8 в современных GPU играет важную роль для центров обработки данных, мобильных устройств и автономных систем. Внутренние тесты на серверах с 8×H100 показывают, что модель Llama 3 в формате FP8 с квантованием демонстрирует потребление около 0.39 Дж/токен при batch size 128.
Текущее состояние стандартизации
Форматы FP8 проходят стандартизацию в рамках рабочей группы IEEE P3109. Проект был одобрен 15 февраля 2023 года, однако процедуры голосования и ратификации еще продолжаются.
Параллельно с IEEE, индустрия не ждет завершения формальной стандартизации. В 2023 году сообщество Open Compute Project представило инициативу MX format, которая включает FP8 (наряду с 4- и 6-битными форматами) как стандарт для ИИ-ускорителей. Это указывает на то, что производители уже движутся к общим форматам (например, NVIDIA и AMD поддерживают E4M3/E5M2), подготавливая экосистему еще до финализации стандарта IEEE.
В настоящее время промышленное использование FP8 в основном ограничено задачами инференса. Полноценное обучение крупных моделей в FP8 остается экспериментальной областью, доступной через специализированные фреймворки, такие как NVIDIA Transformer Engine.
Практические применения
Практические применения FP8 охватывают несколько областей современных вычислений. В облачных вычислениях снижение требований к памяти и пропускной способности позволяет размещать большие модели на меньшем количестве ускорителей, что значительно сокращает операционные расходы дата-центров. Поставщики облачных услуг получают возможность обслуживать больше клиентов на существующей инфраструктуре, повышая экономическую эффективность своих решений.
Для встраиваемых систем уменьшенные требования к вычислительным ресурсам открывают новые возможности запуска сложных нейросетей на устройствах с ограниченным энергопотреблением. Это особенно критично для систем автономного вождения, где необходимо обрабатывать данные с множества датчиков в реальном времени, и для мобильных приложений, где время работы от батареи остается важным фактором пользовательского опыта.
В области обучения больших языковых моделей экспериментальные реализации демонстрируют потенциал сокращения времени обучения и энергозатрат при сохранении качества модели. Однако на практике это требует применения дополнительных техник стабилизации и тщательной настройки гиперпараметров, что пока ограничивает широкое промышленное внедрение.
Альтернативные подходы и конкуренты
Наряду с FP8 активно исследуются другие методы снижения точности вычислений, каждый из которых имеет свои преимущества в определенных сценариях использования:
INT4 квантование уже используется для ускорения инференса больших моделей (с тщательной калибровкой для сохранения точности) и показывает особенную эффективность там, где важна скорость отклика системы.
Posit-форматы представляют принципиально иную математическую основу для представления чисел с переменной точностью, потенциально обеспечивая лучший баланс между точностью и диапазоном представимых значений. Однако они остаются экспериментальными без широкой аппаратной поддержки.
Логарифмические форматы демонстрируют перспективы для специфических типов вычислений, особенно там, где требуется обработка данных с широким динамическим диапазоном. Как и posit-форматы, они пока находятся на стадии исследований без практического применения в продакшене.
Будущие тенденции
Развитие чисел с плавающей запятой не останавливается на FP8. Ведутся исследования гибридных форматов, сочетающих преимущества различных представлений чисел. Квантовые и нейроморфные вычисления также могут повлиять на требования к точности вычислений.
Алгоритмические улучшения направлены на создание методов коррекции ошибок и адаптивной точности вычислений, что позволит более широко использовать низкоточные форматы без потери качества моделей.
Заключение
FP8 представляет собой перспективное направление развития вычислений в области ИИ, предлагая сочетание повышенной производительности, сниженного энергопотребления и оптимального использования памяти. Однако текущее состояние технологии требует осторожной оценки: промышленное применение пока ограничено задачами инференса, а полноценное обучение моделей требует дополнительных техник стабилизации.
Продолжающаяся стандартизация IEEE P3109 и параллельные инициативы индустрии, такие как OCP MX format, вместе с расширением аппаратной поддержки от ведущих производителей указывают на растущую зрелость технологии. По мере решения текущих технических ограничений FP8 может стать важным инструментом для создания более эффективных и энергоэкономичных систем искусственного интеллекта.