Тернарная логика как альтернатива квантизации: почему триты эффективнее битов

Habr AI · оригинал

Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

Статья анализирует ограничения современных форматов чисел с плавающей запятой (FP32, BF16, FP8) в контексте обучения нейросетей и предлагает переход на троичную логику. Автор аргументирует, что триты обеспечивают естественную разреженность и лучшую устойчивость градиентов по сравнению с бинарными аналогами.

Ценность: Материал предлагает фундаментальный сдвиг в архитектуре вычислений: вместо сложной квантизации битовых моделей предлагается использовать троичные нейроны, что потенциально снижает требования к памяти и повышает стабильность обучения.

Современная индустрия машинного обучения столкнулась с серьезным узким местом: пропускной способностью памяти видеокарт. Долгое время «золотым стандартом» считался формат FP32, обеспечивающий высокую точность вычислений градиентов. Однако при работе с моделями в миллиарды параметров объем данных, перегоняемых между памятью и ядрами, стал критическим. Вычислительные блоки простаивают в ожидании информации, что заставляет инженеров искать способы снижения разрядности чисел без потери качества инференса.

Одной из попыток решения проблемы стала схема смешанной точности (mixed precision). Оригинальные веса хранятся в FP32, но для вычислений создаются копии в форматах FP16 или BF16. Формат BF16, разработанный инженерами Google, увеличил разряд экспоненты до 8 бит, сохранив диапазон значений близким к FP32, но пожертвовав точностью округления. Это позволило избежать переполнения градиентов, характерного для FP16. Следующим шагом стало внедрение FP8 с подформатами E4M3 и E5M2, где для прямого прохода важна точность (больше мантиссы), а для обратного — широкий диапазон значений (больше экспоненты).

Переход к еще более низким разрядностям, таким как FP4, натолкнулся на физические ограничения. Четыре бита не позволяют выделить достаточное количество разрядов под экспоненту и мантиссу для стабильного обучения. В результате появился блочный формат MXFP4: 32 элемента объединяются в блок с общей 8-битной экспонентой, которая действует как «зум» для всего блока. Это удешевляет арифметику, так как перемножаются простые целые числа, а масштаб применяется один раз после накопления суммы.

Автор статьи предлагает взглянуть на проблему иначе: вместо упрощения битовых представлений использовать троичную логику. Фундаментальная проблема бинарного нейрона заключается в отсутствии состояния «молчания». Нейрон может только усиливать или ослаблять сигнал, что приводит к шуму от нерелевантных признаков или невозможности реализовать немонотонные функции. Трит же обладает тремя состояниями: [-1, 0, +1].

Наличие нулевого состояния позволяет нейросети стать избирательной. Слабые признаки отключаются, что подавляет шум и повышает обобщающую способность модели. Кроме того, это обеспечивает естественную разреженность (sparsity): неактивные нейроны не участвуют в вычислениях, что экономит ресурсы. В отличие от искусственной квантизации, где модель обучается на высокой точности, а затем сжимается, троичная нейросеть может быть нативно обучена на тритах.

Таким образом, переход на троичную логику предлагает не просто сжатие данных, а изменение самой природы вычислительного элемента. Это позволяет снизить требования к оперативной памяти и вычислительным мощностям на этапе обучения, устраняя необходимость в сложных схемах смешанной точности и блочных форматах. Источник: web:Habr AI — https://habr.com/ru/articles/1074678/