FP8
Современные нейросети содержат миллиарды параметров, и каждое число нужно хранить и перемножать. FP8 использует в 4 раза меньше памяти, чем float32, и в 2 раза меньше, чем float16, а операции выполняются быстрее. Это особенно важно при обучении больших языковых моделей и их развертывании на серверах: удешевляет эксперименты и делает передовые архитектуры доступнее.
Принцип работы прост: вместо «миллиметровой» точности — «сантиметры». FP8 округляет числа, но «умно»: распределяет биты между экспонентой и мантиссой и применяет масштабирующие коэффициенты, которые автоматически подстраиваются под каждый слой сети во время обучения. Благодаря этому качество почти не уступает float16, а скорость выше и памяти нужно меньше.
NVIDIA использует FP8 в ускорителях Hopper и Ada Lovelace, например H100. При обучении моделей вроде Llama это позволяет вдвое сократить число GPU по сравнению с float16, и качество остается практически прежним. Снижается и энергопотребление, что сокращает затраты на охлаждение дата-центров.
FP8 — компромисс между точностью и эффективностью. Он не заменяет другие форматы, но для массовых задач становится стандартом, позволяющим строить мощные модели с меньшими затратами.
Поделиться