Добавить в корзинуПозвонить
Найти в Дзене
Машинное обучение

📌 OVQA: прощай, KV-cache offloading

В Zyphra придумали как усидеть на двух стульях сразу, когда хочется резиновый контекст, но под рукой нет тонны памяти. То. что они предложили, называется Online Vector-Quantized Attention - это модификация векторного квантования, которая учит словарь думать на лету. В классическом VQ ключи заменяются ближайшими центроидами из статичного словаря. Это бустит вычисления, но создает проблему: словарь обучен на одних данных, а во время генерации модель видит совсем другое распределение ключей. Ошибка квантования растет, внимание теряет точность и как итог: VQ начинает плавать. Так вот, модификация в том, чтобы отказаться от статического словаря в пользу адаптивного к текущей последовательности: каждый новый токен обновляет только один центроид - тот, к которому ближе всего. Это разреженное обновление работает как защита от катастрофического забывания: старая информация не вымывается новой волной токенов, а аккуратно перезаписывается по мере необходимости. Плюс есть хард-лимит на размер

📌 OVQA: прощай, KV-cache offloading.

В Zyphra придумали как усидеть на двух стульях сразу, когда хочется резиновый контекст, но под рукой нет тонны памяти.

То. что они предложили, называется Online Vector-Quantized Attention - это модификация векторного квантования, которая учит словарь думать на лету.

В классическом VQ ключи заменяются ближайшими центроидами из статичного словаря. Это бустит вычисления, но создает проблему: словарь обучен на одних данных, а во время генерации модель видит совсем другое распределение ключей. Ошибка квантования растет, внимание теряет точность и как итог: VQ начинает плавать.

Так вот, модификация в том, чтобы отказаться от статического словаря в пользу адаптивного к текущей последовательности: каждый новый токен обновляет только один центроид - тот, к которому ближе всего.

Это разреженное обновление работает как защита от катастрофического забывания: старая информация не вымывается новой волной токенов, а аккуратно перезаписывается по мере необходимости.

Плюс есть хард-лимит на размер состояния, после достижения которого объем памяти перестает расти, а вычисления становятся строго линейными.

🟡Результаты тестовых экспериментов

🟢Модель, обученная на 4К токенах, уверенно справлялась с контекстом до 64К без деградации качества;

🟢На внутриконтекстном поиске OVQ почти не отставала от полноценного самовнимания, потребляя при этом в 4 раза меньше памяти;

🟢На In-Context Learning VQ провалился, а OVQ вышла на уровень классического внимания, используя всего ~4К центроидов;

🟢Сравнения с линейными альтернативами (Mamba2 и дельта-сети) тоже в пользу OVQ: она стабильнее держит долгий контекст без просадок точности;

🟠В задачах Positional ICR OVQA работает чуть хуже, чем классическое внимание но все равно достойно.

Очень хочется надеяться, что OVQ - это предтеча настоящего непрерывного обучения, где в светлом будущем вместо бесконечно пухнущего KV-кэша появится компактная, но живая память, способная удерживать важные детали без потерь.

🟡Статья

🟡Arxiv

@machinelearning

#AI #ML #LLM #OVQA #Zyphra

-2
-3