Содержание
Google представила алгоритм компрессии TurboQuant для больших языковых моделей: компания заявляет, что он может значительно снизить использование памяти у LLM и одновременно повысить скорость работы. Фокус — на длинных контекстах, где ограничения по памяти часто наступают раньше, чем по вычислениям.
Если упростить, TurboQuant пытается сделать key-value cache тем, чем он и задуман: «высокоскоростной цифровой шпаргалкой», которая экономит повторные вычисления. Проблема в том, что эта «шпаргалка» хранит высокоразмерные векторы и быстро раздувает потребление памяти.
Почему key-value cache стал узким местом для LLM
Во время генерации текста LLM постоянно переиспользуют промежуточные данные. Для этого и нужен key-value cache: он хранит ключи и значения attention, чтобы модель не пересчитывала одно и то же на каждом токене.
Но по мере роста моделей и длины контекста этот кэш начинает «съедать» память ускорителя. И это бьёт по скорости и по доступности развёртывания: если памяти не хватает, приходится либо резать контекст, либо использовать более ресурсоёмкую инфраструктуру.
Классический ответ индустрии — квантизация. Она снижает точность чисел и уменьшает объём данных. Но у типовых подходов есть неприятные компромиссы: падение качества вывода или дополнительная память под константы и служебные данные.
Как устроен TurboQuant: PolarQuant + QJL
TurboQuant использует двухэтапную схему. На первом этапе работает PolarQuant: он переводит векторы из декартовых координат в полярное представление и упаковывает информацию в радиус и угол. По описанию в материале, это создаёт более компактную «стенографию», снижает потребность в повторной нормализации и ограничивает накладные расходы, которые часто сопровождают традиционные методы квантизации.
На втором этапе включается Quantized Johnson-Lindenstrauss (QJL) — корректирующий слой. PolarQuant делает основную компрессию, но может оставлять небольшие остаточные ошибки. QJL работает как уточнение: он сводит каждый элемент вектора к одному биту — положительному или отрицательному — при этом сохраняя ключевые отношения между точками данных. Этот шаг помогает точнее формировать attention scores, то есть то, как модель расставляет приоритеты между фрагментами контекста.
Что заявлено по эффекту и где это проверяли
В источнике подчёркивается, что Google позиционирует TurboQuant как способ снизить «memory strain» при сохранении точности на требовательных нагрузках. Также отмечается, что компрессия векторов достигает новых уровней эффективности без дополнительных требований к обучению.
Отдельно отмечается, что ключевым ограничением производительности AI-систем остаются именно узкие места, связанные с key-value cache: высокоразмерные векторы занимают значительные объёмы памяти, а по мере масштабирования моделей эта нагрузка становится всё сложнее для управления без компромиссов по скорости и доступности.
Согласно описанию тестирования в материале, TurboQuant демонстрирует прирост эффективности на нескольких бенчмарках для длинного контекста. При этом конкретные численные показатели в приведённом фрагменте не фиксируются — акцент сделан на общем снижении потребления памяти и росте скорости при сохранении качества.
Техническое описание TurboQuant Google вынесла в публичный пост: TurboQuant: redefining AI efficiency with extreme compression.