Что это такое?
Библиотека для сжатия кэша ключей-значений в языковых моделях на Apple Silicon, экономящая память в 2-4 раза.
TurboQuant-MLX — это библиотека для фреймворка MLX, которая сжимает кэш ключей и значений (KV cache) в больших языковых моделях, позволяя экономить память и увеличивать длину контекста при генерации текста на Apple Silicon. Реализует алгоритм TurboQuant из...
Для разработчиков, работающих с LLM на Apple Silicon через MLX, кто хочет запускать модели большего размера или дольше генерировать текст без переполнения памяти.
При генерации текста LLM хранят огромный кэш ключей и значений (KV cache), который съедает память и ограничивает длину контекста — особенно критично на устройствах с ограниченной оперативкой, как Mac.
Проект применяет технику TurboQuant: сначала нормализует векторы кэша, затем вращает их через рандомизированное преобразование Уолша-Адамара, что делает распределение координат гауссовым, и наконец квантует до 1-4 бит с помощью оптимального кода Ллойда-Макса. Для распаковки используются скомпилированные Metal-ядра, которые работают параллельно на GPU Apple. Есть режим layer-adaptive: первые и последние слои модели...
TurboQuant-MLX — это библиотека для фреймворка MLX, которая сжимает кэш ключей и значений (KV cache) в больших языковых моделях, позволяя экономить память и увеличивать длину контекста при генерации текста на Apple Silicon. Реализует алгоритм TurboQuant из научной статьи, добавляя оптимизированные Metal-ядра для быстрой распаковки на GPU. Проект позиционируется как drop-in замена стандартного KVCache в mlx-lm.
Автор реализовал две версии Metal-ядра: v1 — последовательная (один поток на вектор), v2 — параллельная с барьерами threadgroup, которая даёт ускорение в 1.3-2.3 раза. Это редкий пример low-level оптимизации под Apple Silicon в open-source.
Стоит попробовать, если вы работаете с LLM на Mac через MLX и упираетесь в память. Проект реализует свежую научную идею с качественным кодом, но пока мало звёзд и активности — возможно, сыроват для продакшена.
Проект свежий (0.2.0), есть демо и тесты, но мало звёзд и форков — возможно, сообщество ещё не оценило.
Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.
Библиотека для сжатия кэша ключей-значений в языковых моделях на Apple Silicon, экономящая память в 2-4 раза.
Для разработчиков, запускающих LLM через MLX на Mac, кто хочет увеличить длину контекста или уменьшить потребление памяти.
Если проект подходит под ваш сценарий, можем помочь с установкой, интеграцией, доработкой или аккуратным форком под вашу инфраструктуру.