Как сжать KV-кэш LLM в 6 раз, не обучая модель заново?
Исходники TurboQuant уже в опенсорсе, разбираем магию под капотом.
Обычная квантизация требует хранить метаданные (zero points и scaling factors). На экстремально малых битах они сами начинают сжирать всю память, сводя экономию к нулю.
Google обошли это математикой из 3 шагов:
→ PolarQuant (поворот): Векторы кэша умножаются на случайную матрицу. Это делает распределение значений предсказуемым (почти гауссовым) и позволяет полностью выкинуть метаданные.
→ Скалярное сжатие: Координаты независимо квантуются всего до 3 бит.
→ QJL-коррекция: Добавляется 1-битный слой (residual correction) для точной работы механизма attention, чтобы модель не забывала контекст (сохраняется 100% recall в тестах needle-in-a-haystack).
Главная фишка: алгоритм model-agnostic. Никакого файнтюна и датасетов для калибровки. Это drop-in замена (уже есть пакет turboquant), которая дает до 8x ускорения инференса на длинных промптах.
#LLM #AIcoding #architecture
Google Research
Post #334
67

- ❤ 2