tgoop.com/machinelearning_interview/2178
Last Update:
Сегодня большие языковые модели тормозят не из-за нехватки FLOPs, а из-за памяти:
- чем длиннее контекст, тем больше растёт KV cache (ключи и значения токенов),
- данные приходится постоянно хранить и перегонять,
- у GPU вычисления быстрые, но пропускная способность памяти ограничена.
Новый метод XQuant предлагает интересное решение:
* Что делает XQuant**
Вместо того чтобы хранить Key и Value,, метод сохраняет только X - входной вектор активации слоя (то, что подаётся в слой до вычисления Q, K, V).
- меньше по размеру,
- лучше сжимается (легко квантовать до низких бит).
При генерации следующего токена K и V не берутся из памяти, а пересчитываются из X через те же самые матричные умножения.
При генерации токенов Keys и Values просто пересчитываются из X.
Это дает:
✔️ Экономию памяти в 2 раза
✔️ Точность модели почти без потерь качесва
XQuant-CL - это улучшенная версия
- Хранит только небольшие разницы между слоями, так как они очень похожи.
- Экономия достигает 10–12.5x.
- Потеря качества минимальна: всего 0.01–0.1 perplexity.
- В 10–12.5 раз меньше памяти, чем FP16
- Точность близка к FP16
- Превосходит лучшие методы квантования KV cache
XQuant превращает задачу: из «таскаем огромный KV-кэш» в
Современные GPU умеют считать быстрее, чем работать с памятью.
Поэтому лучше чуть больше считать, но значительно меньше хранить.
📌 Подробнее: https://arxiv.org/abs/2508.10395