23.7Kпросмотров
32.6%от подписчиков
26 марта 2026 г.
Score: 26.1K
Вчера и сегодня много разговоров про TurboQuant — алгоритм сжатия векторов от Google. В статье его применяют для сжатия KV-кэша в LLM (промежуточных состояний для контекста, на основе которых генерируется ответ). TLDR как работает метод в два шага: 1) Сначала алгоритм применяет к входному вектору случайное вращение. Это перемешивает информацию по всем измерениям, и если в векторе было аномально большое значение в одной координате), то при вращении оно равномерно «размазывается» по всем остальным осям, делая вектор гладким. Авторы математически доказывают, что в типичных для LLM многомерных пространствах значения координат после такого вращения по закону больших чисел сходятся к идеальному нормальному распределению. Зная эту предсказуемую колоколообразную форму заранее, авторы рассчитывают оптимальную шкалу округления, решая задачу одномерной кластеризации через k-means. То есть они заранее вычисляют границы, расставляя их плотнее в центре распределения (где значений больше всего) и реже по краям, чтобы минимизировать среднюю ошибку. В итоге алгоритм на лету независимо округляет каждую координату по этой готовой сетке. 2) Однако для механизма Attention в LLM нам важно не просто восстановить вектор, а получить идеально точное скалярное произведение между парами векторов (Query и Key). Сжатие на первом этапе вносит в это произведение математическое смещение, из-за чего модель может начать галлюцинировать. Чтобы это исправить, алгоритм вычисляет остаток — разницу между оригинальным вектором и сжатым вариантом. Этот крошечный вектор-остаток дополнительно сжимается всего до 1 бита на каждую координату с помощью техники алгоритма: остаток еще раз умножается на случайную матрицу, и от получившихся чисел сохраняется только их знак (плюс или минус — тот самый 1 бит на измерение). Магия случайных проекций заключается в том, что даже сохраняя лишь знаки, мы с высокой точностью кодируем взаимные углы и расстояния между векторами. Мне это напомнило, как работает метод случайных проекций для приближенного поиска соседей — техника та же. И по итогу это позволяет компенсировать первоначальное смещение и получить точное скалярное произведение, при этом весь пайплайн не требует обучения на датасете и шикарно параллелится на GPU. Как результат, авторы показывают, что можно без потерь сжимать кэш в 4-6 раз. Ну и казалось бы всё, победа над проблемами с поставками памяти для GPU и SSD! Теперь памяти хватит, можно продавать акции Samsung, Micron и SK Hynix (основные производители памяти). Акции присели на 4-5%.... ...вот только статья от Google вышла в апреле 2025-го года 😕 просто в блог Google Research через все согласования доехло только 2 дня назад, вместе с анонсом в Twitter. Ну а инвесторы (большие — потому что большие, и маленькие — потому что глупенькие 🐟) статьи особо не читают и начали продавать акции. Хотя подумав подольше я пришёл к мнению, что крупные инвесторы скорее всего предсказывают не как новость повлияет на акцию в самом деле (в данном случае никак: алгоритму год, он или его аналоги, самый популярный из которых, пожалуй, DeepSeek MLA, которому больше полутора лет), а как новость будет воспринята рынком. Если новость выглядит как «надо продавать», то — даже если ты веришь, что не надо — надо продавать. Можно будет закупиться по цене чуть ниже. Ну а доступных SSD/DRAM не ждите 👼