Google TurboQuant простыми словами: как сжать нейросеть в 6 раз и запустить на MacBook

Обложка: Google TurboQuant простыми словами: как сжать нейросеть в 6 раз и запустить на MacBook

На этой неделе в мире ИИ произошло землетрясение. Google Research опубликовал алгоритм TurboQuant, который сжимает потребление памяти нейросетей при инференсе в 6 раз и ускоряет вычисления в 8 раз — без потери качества. Акции производителей памяти обвалились на 25%. Reddit кипит. Все суетятся — но мало кто реально понимает, что именно сделали в Google и почему это важно.

Мы разобрались. Объясняем так, чтобы было понятно всем — и тем, кто пишет нейросети, и тем, кто просто хочет запустить ChatGPT-подобную модель на своём ноутбуке.

TurboQuant — алгоритм квантизации KV-кеша для больших языковых моделей (LLM), разработанный Google Research. Сжимает KV-кеш с 16 до 3 бит на значение, уменьшая потребление памяти при инференсе в 5–6 раз без переобучения модели и без потери качества. Представлен на ICLR 2026 (arXiv:2504.19874).

KV-кеш: почему нейросетям нужно столько памяти

Когда вы общаетесь с ChatGPT, Gemini или любой другой LLM, модель должна «помнить» весь ваш диалог. Для этого она использует KV-кеш (Key-Value cache) — специальный буфер в памяти видеокарты, где хранятся промежуточные вычисления механизма внимания (attention).

Представьте: вы читаете книгу и делаете заметки на полях. KV-кеш — это те самые заметки. Без них модели пришлось бы каждый раз перечитывать весь текст с начала, чтобы ответить на ваш вопрос.

Проблема в масштабе:

  • Модель Llama 3.1 70B при контексте 128K токенов тратит ~40 ГБ только на KV-кеш — это больше, чем весит сама модель в квантизированном виде
  • Чем длиннее контекст (переписка, документ, код) — тем больше памяти нужно, и это растёт линейно
  • Именно KV-кеш — главный ограничитель того, сколько текста модель может «видеть» одновременно

И именно KV-кеш сжимает TurboQuant.

Что такое TurboQuant

TurboQuant — это алгоритм сжатия KV-кеша, разработанный Google Research. Статья принята на ICLR 2026 — одну из топовых конференций по машинному обучению. Авторы — Amir Zandieh, Vahab Mirrokni (VP Google, известный исследователь в области алгоритмов) и коллеги.

  • Сжимает KV-кеш до 3 бит на значение (с обычных 16) — уменьшение в ~5 раз
  • Не требует дообучения модели — работает с любой LLM «из коробки»
  • Не теряет качество на стандартных бенчмарках (LongBench, Needle in a Haystack, RULER)
  • Ускоряет вычисления attention до 8 раз на NVIDIA H100
  • Работает «на лету» — не нужно заранее обрабатывать данные
Важно: TurboQuant сжимает только KV-кеш при инференсе. Он НЕ сжимает веса модели (это делают GPTQ, AWQ, GGUF) и НЕ влияет на обучение. Это принципиально другая задача.

Как работает TurboQuant: PolarQuant и QJL простыми словами

TurboQuant работает в два этапа. Если упрощать — это как сжатие фотографии в JPEG, только для математических векторов в памяти нейросети.

Шаг 1: PolarQuant — умное сжатие основных данных

Обычно данные в нейросети хранятся в декартовых координатах — как «иди 3 блока на восток и 4 блока на север». PolarQuant переводит их в полярные координаты — «иди 5 блоков под углом 37 градусов». Перед конвертацией вектор случайным образом поворачивается — это делает распределение координат более однородным.

В полярных координатах данные распределены более предсказуемо. Это позволяет применить оптимальный квантизатор (Lloyd-Max) к каждой координате независимо, без дополнительных битов на хранение параметров квантизации. В обычных методах эти «служебные» биты съедают 1–2 бита на число — при 3-битной квантизации это колоссальные накладные расходы.

Шаг 2: QJL — коррекция ошибок за 1 бит

После PolarQuant остаётся небольшая ошибка. QJL (Quantized Johnson-Lindenstrauss) — алгоритм, который использует математическое преобразование Джонсона–Линденштрауса для сведения остаточной ошибки к нулевому смещению, тратя на это всего 1 дополнительный бит.

Если PolarQuant — это основной «сжиматель», то QJL — это математический «корректор», который гарантирует, что attention-скоры модели остаются точными. Вместе они дают 3-битное представление, которое математически доказано как близкое к теоретическому пределу сжатия (с точностью до константы ~2,7).

Чем TurboQuant отличается от обычной квантизации

Если вы запускаете модели через llama.cpp, Ollama или LM Studio, вы уже используете квантизацию — те самые Q4, Q5, Q8 в названиях файлов. Но это квантизация весов модели. TurboQuant работает с совершенно другой сущностью.

Квантизация весов (GPTQ, AWQ, GGUF) — сжимает параметры модели один раз перед запуском. Чем меньше бит — тем хуже качество. Иногда требует калибровки или дообучения.

TurboQuant — сжимает KV-кеш (промежуточные вычисления) на лету во время работы. При 3,5 битах — нулевая потеря качества. Не требует дообучения вообще.

Эти подходы комплементарны. Вы можете использовать Q4-квантизированную модель И TurboQuant-сжатый KV-кеш одновременно. Одно не заменяет другое — они сжимают разные части системы.

TurboQuant на практике: MacBook, видеокарты и облако

Если у вас MacBook или обычный ПК

Энтузиасты уже запустили Qwen 3.5 9B на обычном MacBook Air M4 (16 ГБ) с контекстом 20 000 токенов — раньше на таком железе длинные контексты были невозможны. Не MacBook Pro, не Mac Studio — обычный Air, самая дешёвая конфигурация. В Reddit-треде есть видео-демо.

Это значит: локальная нейросеть на вашем ноутбуке сможет «видеть» в 5 раз больше текста за раз. Длинные документы, полноценные кодовые базы, многостраничные переписки — всё это становится доступнее без покупки нового железа.

Если у вас мощная видеокарта

Один из разработчиков рассчитал для модели 70B Q4_K_M с 34 ГБ свободной VRAM под KV-кеш:

  • Без TurboQuant (FP16 KV-кеш): ~109K токенов контекста
  • С Q8 KV-кешем: ~218K токенов
  • С TurboQuant TQ3 (3 бита): ~536K токенов
  • Полное окно контекста 262K легко помещается на 3× RTX 3090

Если вы разрабатываете ИИ-продукты

  • В 5–6 раз меньше GPU-памяти на инференс при длинных контекстах
  • До 8× ускорение attention на H100
  • Снижение стоимости обслуживания каждого запроса к LLM

Парадокс Джевонса: когда ресурс становится дешевле — его используют больше, а не меньше. Дешёвый инференс = больше компаний внедряют ИИ = спрос на железо в итоге растёт.

TurboQuant в llama.cpp, MLX и PyTorch: кто уже пробует

Прошло всего несколько дней с публикации, но Open Source сообщество уже на коне:

  • llama.cpp — минимум 3 независимых реализации, обсуждение интеграции в основную ветку. Одна уже работает на Apple Silicon через Metal
  • MLX (Apple Silicon) — разработчики адаптируют алгоритм для маков
  • PyTorch + Triton — появились reference-реализации для CUDA-видеокарт
  • C/CUDA — рабочая реализация с 18 из 18 пройденных тестов, MSE совпадает с бумагой
Пока реализации не оптимизированы. Бенчмарки показывают падение скорости генерации в 3–8 раз по сравнению с обычным Q8 KV-кешем. Причина — неоптимизированная операция поворота вектора. Разработчики уже работают над оптимизацией через преобразование Адамара.

Как попробовать TurboQuant прямо сейчас

Официального кода от Google нет, но сообщество уже сделало несколько рабочих реализаций. Вот как запустить TurboQuant на своём железе — три варианта в зависимости от платформы.

На Mac (Apple Silicon M1–M5)

Форк llama-cpp-turboquant от TheTom — самая зрелая реализация с Metal-ядрами для Apple Silicon. Работает на M1, M2, M3, M4, M5.

			# Клонируем и собираем
git clone https://github.com/TheTom/llama-cpp-turboquant.git
cd llama-cpp-turboquant
git checkout feature/turboquant-kv-cache

cmake -B build \
  -DGGML_METAL=ON \
  -DGGML_METAL_EMBED_LIBRARY=ON \
  -DCMAKE_BUILD_TYPE=Release
cmake --build build -j

# Запускаем с TurboQuant KV-кешем
./build/bin/llama-cli \
  -m model.gguf \
  -ngl 99 -c 2048 -fa on \
  --cache-type-k turbo3 \
  --cache-type-v turbo3 \
  -p "Привет, расскажи о себе"

# Или поднимаем OpenAI-совместимый сервер
./build/bin/llama-server \
  -m model.gguf \
  -ngl 99 -c 262144 -fa on \
  --cache-type-k turbo3 \
  --cache-type-v turbo3 \
  --host 0.0.0.0 --port 8080
		

Флаг turbo3 включает 3,5-битную квантизацию KV-кеша (сжатие 4,6× vs FP16). На M5 Max 128 ГБ модель Qwen3.5-35B показывает 2747 tok/s на prefill — на уровне стандартного q8_0, при этом KV-кеш занимает в 4,6 раза меньше памяти.

На PC с видеокартой NVIDIA или AMD

Форк llama-turboquant поддерживает CUDA и ROCm. Тип кеша здесь называется tq3_0 (вместо turbo3).

			git clone https://github.com/unixsysdev/llama-turboquant.git
cd llama-turboquant && mkdir build && cd build

# Для NVIDIA:
cmake .. -DGGML_CUDA=ON -DCMAKE_BUILD_TYPE=Release
# Для AMD (укажите свою архитектуру GPU):
# cmake .. -DGGML_HIP=ON -DAMDGPU_TARGETS="gfx1100"

make -j$(nproc)

# Запуск
./bin/llama-cli -m model.gguf --cache-type-k tq3_0

# Бенчмарк: сравнить F16 и TQ3_0
./bin/llama-bench -m model.gguf \
  -ctk f16,tq3_0 -p 512,4096 -n 128
		

Python (для исследований и экспериментов)

turboquant-pytorch — reference-реализация на PyTorch. Подойдёт для изучения алгоритма и проверки сжатия на своих моделях.

			git clone https://github.com/tonbistudio/turboquant-pytorch.git
cd turboquant-pytorch
pip install -r requirements.txt

# Тест алгоритма (без GPU)
python -m turboquant.test_turboquant

# Валидация на реальной модели (нужно ~6 ГБ VRAM)
python -m turboquant.validate
		
Ollama и LM Studio пока не поддерживают TurboQuant — они используют свои сборки llama.cpp, в которые метод ещё не влит. Но можно поднять llama-server из форка выше и подключиться к нему как к OpenAI-совместимому API.

Бенчмарки TurboQuant: результаты из бумаги и от сообщества

Из бумаги Google (тестировалось на Gemma и Mistral):

  • LongBench, Needle in a Haystack, ZeroSCROLLS, RULER, L-Eval — при 3,5 битах «абсолютная нейтральность качества»
  • При 2,5 битах — «маргинальная деградация»
  • 4-bit TurboQuant: ускорение attention до 8× на H100 по сравнению с 32-bit baseline
  • Сжатие KV-кеша минимум в 6 раз

Из независимых реализаций:

  • TQ3 (3 бита): MSE = 0,034, сжатие 4,9× vs FP16
  • TQ4 (4 бита): MSE = 0,009, сжатие 3,8× vs FP16
  • Размер блока: 52 байта на 128 значений (для TQ3)

Почему TurboQuant обвалил акции Micron — и стоит ли переживать

Рынок отреагировал панически: Micron −25%, Samsung −4,7%, SK Hynix −6,2%. Но аналитики Morgan Stanley, JPMorgan, Citigroup и Goldman Sachs единодушны — реакция чрезмерна. Вот почему:

  1. TurboQuant не трогает обучение. HBM-память, основной драйвер прибыли чипмейкеров, нужна для обучения моделей. TurboQuant сжимает только инференс
  2. Это исследование, не продукт. Официального кода от Google нет, эксперименты на моделях ~8B параметров
  3. Прецедент DeepSeek. В январе 2025 тоже обвалили чипмейкеров — затем спрос только вырос
  4. Фиксация прибыли. Micron был +300% за год, Samsung +200%. Инвесторы искали повод зафиксировать прибыль
Если TurboQuant снизит операционные расходы на ИИ до одной шестой от текущего уровня, компании, которые до сих пор не внедряли ИИ из-за высокой стоимости, войдут в ИИ-экосистему.
Shawn Kimаналитик Morgan Stanley

Подробнее о реакции рынка — в нашей новости.

Часто задаваемые вопросы

Чем TurboQuant отличается от GGUF/GPTQ/AWQ?
GGUF, GPTQ и AWQ сжимают веса модели (параметры). TurboQuant сжимает KV-кеш — временную рабочую память, которая используется во время инференса. Эти подходы дополняют друг друга.

Можно ли уже использовать TurboQuant?
Экспериментально — да. Несколько независимых реализаций для llama.cpp и MLX уже работают. Но в основную ветку llama.cpp и в Ollama/LM Studio метод пока не интегрирован. Ожидается в ближайшие недели–месяцы.

Нужно ли переобучать модель для TurboQuant?
Нет. TurboQuant — data-oblivious метод, который применяется к любой существующей LLM без дообучения и без калибровочных данных.

TurboQuant: итоги и выводы

  • TurboQuant — прорыв в сжатии KV-кеша, но не «убийца GPU» и не «конец эпохи дорогого железа»
  • Работает вместе с обычной квантизацией весов, а не вместо неё
  • Реально позволяет запускать более длинные контексты на том же железе — в 5 раз длиннее
  • Сообщество уже пишет реализации для llama.cpp и MLX
  • До полноценного внедрения в популярные инструменты — недели или месяцы
  • Обвал акций — чрезмерная реакция, аналитики рекомендуют покупать на падении

Следите за GitHub-дискуссией в llama.cpp — именно там появится рабочая реализация для повседневного использования. А блог Google Research и бумага на arXiv — для тех, кто хочет погрузиться в математику.