Google TurboQuant: Алгоритм сжатия KV-кэша LLM
Ключевые факты
- 1 Google TurboQuant сжимает KV-кэш LLM в 4-6 раз.
- 2 Метод использует случайное вращение и 1-битное сжатие остатков.
- 3 Алгоритм не требует обучения и хорошо параллелится на GPU.
- 4 Статья опубликована в апреле 2024 года, а не 2025.
- 5 Утверждения о падении акций производителей памяти не подтверждены.
Алгоритм Google TurboQuant предназначен для эффективного сжатия KV-кэша в больших языковых моделях (LLM), что критически важно для сокращения потребления памяти и повышения производительности. Метод работает в два этапа: сначала применяется случайное вращение к входному вектору, что равномерно распределяет значения и сглаживает их. Затем, используя одномерную кластеризацию k-means, определяется оптимальная шкала округления, позволяющая минимизировать ошибку при сжатии каждой координаты. Второй этап направлен на сохранение точности скалярного произведения между векторами Query и Key, что важно для механизма Attention. Для этого вычисляется остаток между оригинальным и сжатым вектором, который затем сжимается до 1 бита на координату с помощью случайных проекций, сохраняющих только знак. Этот подход позволяет компенсировать первоначальное смещение и получить точное скалярное произведение. Разработчики утверждают, что TurboQuant позволяет достичь 4-6-кратного сжатия без значительных потерь в точности, не требует дополнительного обучения на датасете и эффективно параллелится на GPU.