FP4
Узнай, как квантование FP4 сжимает модели ИИ, снижает потребление памяти и ускоряет вывод. Сравни форматы NVFP4, MXFP4, FP8, INT4 и FP16.
FP4 — это семейство 4-битных форматов с плавающей точкой, используемых для сжатия и ускорения AI-моделей с помощью квантизации моделей. Обычно каждое значение представляется одним знаковым битом, двумя битами экспоненты и одним битом мантиссы — это называется E2M1. По сравнению с FP16 формат FP4 значительно снижает обмен данными с памятью и требования к хранилищу, помогая поддерживаемым GPU быстрее обрабатывать большие модели. Формат NVIDIA NVFP4 с низкой точностью — известная реализация, разработанная для оборудования поколения Blackwell. (developer.nvidia.com)
Как работает FP4#
При наличии всего 16 возможных битовых шаблонов обычный FP4 не может точно представлять широкий диапазон значений, встречающихся в нейронных сетях. Поэтому современные реализации разделяют тензоры на небольшие блоки и сохраняют общий масштаб для каждого блока. Например, схема квантизации NVFP4 от NVIDIA использует блоки из 16 значений E2M1, а открытая спецификация форматов микромасштабирования OCP определяет MXFP4 с метаданными микромасштабирования.
Во время вычислений движок инференса квантует значения более высокой точности, выполняет поддерживаемые матричные операции в FP4 и при необходимости возвращает результаты в формате с более высокой точностью. Текущая поддержка инференса NVFP4 в TorchAO использует динамическую квантизацию активаций и двойное масштабирование весов и активаций. (docs.nvidia.com)
Сравнение FP4 с родственными форматами#
- FP16, или половинная точность: обеспечивает значительно более широкий числовой диапазон и обычно проще в развёртывании, но использует в четыре раза больше битов на значение.
- FP8: обычно обеспечивает более высокую точность и стабильность обучения, чем FP4, но требует примерно вдвое больше памяти.
- BF16: часто используется для обучения, поскольку широкий диапазон экспоненты снижает риск переполнения. Исследование FP4 All the Way, опубликованное в 2025 году, показало, что обучение в FP4 с тщательно настроенным масштабированием может приблизиться к производительности BF16.
- INT4: использует целочисленные уровни, а не экспоненты с плавающей точкой. FP4 может более естественно представлять значения разных порядков величины, тогда как INT4 хорошо подходит для сжатия только весов.
- NVFP4 по сравнению с MXFP4: NVFP4 использует меньшие блоки и масштабные коэффициенты более высокой точности, обычно повышая точность при умеренных затратах на метаданные.
FP4 также может обозначать не связанный с этим процессорный разъём AMD FP4. В AI FP4 означает арифметику с плавающей точкой и разрядностью четыре бита, а не более ранний корпус процессора для ноутбуков.
Практические применения#
-
Инференс генеративных изображений: NVIDIA продемонстрировала генерацию изображений в FP4 на GPU RTX 50 Series, снизив потребление памяти и ускорив рабочие нагрузки диффузии, используемые в генеративном AI.
-
Обучение и обслуживание больших моделей: системы Blackwell использовали NVFP4 в обучении MLPerf для повышения пропускной способности больших языковых моделей. FP4 аналогичным образом может принести пользу будущим системам компьютерного зрения, ограниченным пропускной способностью памяти и требующим инференса в реальном времени. (developer.nvidia.com)
Эффективное использование FP4#
По состоянию на июль 2026 года матричные операции FP4 с аппаратным ускорением требуют GPU NVIDIA Blackwell или новее; H100 основан на архитектуре Hopper и не поддерживает нативное ускорение FP4. Разработчикам следует проверить совместимость с помощью матрицы поддержки оборудования TensorRT, проверить точность после преобразования и рассмотреть квантизационно-ориентированное обучение с использованием рабочего процесса QAT в TorchAO, если квантизация после обучения приводит к чрезмерному ухудшению качества. (docs.nvidia.com)
Ultralytics в настоящее время предоставляет готовый к промышленному использованию экспорт в FP16 и INT8 для YOLO26. Этот аналогичный рабочий процесс создаёт оптимизированный движок TensorRT:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
engine = model.export(format="engine", quantize=16)
results = YOLO(engine).predict("https://ultralytics.com/images/bus.jpg")В интеграции Ultralytics с TensorRT описаны поддерживаемые варианты точности, а режим бенчмаркинга YOLO помогает сравнивать точность и задержку. Для экспериментального развёртывания FP4 следуй рекомендациям TensorRT-RTX по точности и используй методы для конкретных форматов, такие как Micro-Rotated GPTQ, поскольку FP4 не всегда обеспечивает более высокую точность или скорость, чем хорошо оптимизированный рабочий процесс INT4 или FP8.






