TurboQuant: Google сжал KV-кеш LLM до 3 бит без потери точности – ускорение на H100 до 8 раз
Команда Google Research представила TurboQuant – новый алгоритм сжатия, который сокращает объём памяти, занимаемой KV-кешем больших языковых моделей, в 6 и более раз, при этом не жертвуя точностью. В тестах на ускорителях NVIDIA H100 использование 4-битной версии TurboQuant дало восьмикратный прирост производительности при вычислении логитов внимания, по сравнению с 32-битными неквантованными ключами.
Проблема KV-кеша хорошо знакома всем, кто запускает LLM с длинным контекстом. Эта “цифровая шпаргалка” хранит уже вычисленные данные внимания, чтобы не пересчитывать их на каждом шаге генерации. Однако с ростом контекстных окон именно KV-кеш становится главным узким местом по памяти. Традиционные методы векторного квантования, хоть и уменьшают его размер, требуют хранения квантованных констант в полной точности – это добавляет по 1–2 бита на каждое значение, что в масштабах больших контекстов превращается в существенный оверхед.
TurboQuant устраняет этот оверхэд за счёт двухступенчатого процесса.
На первом этапе в дело вступает метод PolarQuant. Вместо того чтобы работать с векторами в стандартных декартовых координатах (X, Y, Z), он переводит их в полярные координаты. Образно говоря, вместо “пройти 3 квартала на восток и 4 на север” вы получаете “пройти 5 кварталов под углом 37 градусов”. Теперь вектор описывается радиусом (сила данных) и углом (смысл). Поскольку распределение углов предсказуемо и сконцентрированно, PolarQuant избавляется от дорогостоящего шага нормализации данных, который требуется обычным квантователям. Это и даёт сжатие без оверхеда от хранения констант.
PolarQuant выступает в роли высокоэффективного компрессионного моста, преобразуя входные данные в декартовых координатах в компактную “стенографию” в
Читать на habr.com
