Почему 1.58 бита — это не предел
Тернальные большие языковые модели (LLM) хранят веса в виде трех символов: {-1, 0, +1}. Теоретический минимум информации для кодирования одного такого веса составляет log₂3 ≈ 1.585 бит. Однако на практике используется упаковка «пять тернов в один байт» (five-trit packing), что из-за округления до степени двойки дает 1.625 бит на вес. Этот метод предполагает, что все три символа встречаются с равной вероятностью.
Реальность: веса — это в основном нули
Авторы исследования проанализировали распределение весов в 29 тернальных моделях и обнаружили критическое отклонение от равномерности: нулевые значения составляют до 51.5% всех весов. Игнорирование этой асимметрии приводит к неэффективному использованию памяти. На основе этого вывода предложена новая схема BITCOS (BITwise Compression with Sparse Optimization).
Как работает BITCOS
Формат BITCOS использует адаптивную к распределению структуру, состоящую из плотной битовой карты присутствия (bitmap) и компактного вектора знаков. Стоимость хранения рассчитывается по формуле 2 - z бит на вес, где z — плотность нулей. Это позволяет сжимать данные эффективнее стандартной упаковки в 26 из 29 протестированных моделей, достигая рекордных 1.485 бит на вес на самых разреженных моделях.
Производительность и оптимизация
BITCOS не просто сжимает данные, но и оптимизирован для быстрого распаковки на современном оборудовании. Авторы представили специализированные последовательности распаковки для архитектур AVX-512, AVX2 и графических процессоров Intel Xe2. Сравнение с текущими state-of-the-art ядрами умножения матриц на векторы показало ускорение до 1.28x на уровне самих вычислений.
| Метрика | Стандартная упаковка (5-терн) | BITCOS (на примере sparse-моделей) | Прирост / Эффект |
|---|---|---|---|
| Размер веса | 1.625 бит | 1.485 бит | Сжатие ~8.6% |
| Ускорение вычислений (GEMM) | 1.0x (база) | — | до 1.28x |
| Throughput инференса (CPU) | 1.0x (база) | — | до 1.18x |
| Throughput инференса (GPU Xe2) | 1.0x (база) | — | до 1.27x |
Значение для индустрии
Результаты тестирования на 5 различных платформах (клиентские и серверные CPU, интегрированные и дискретные GPU Xe2) подтверждают, что учет реальной статистики весов позволяет получить существенный прирост скорости декодирования без потери качества модели. Это открывает путь к более эффективному развертыванию тернальных LLM на ресурсоограниченных устройствах.
Источник: arXiv cs.AI ↗
