Як STEPQuant стискає рекурентні стани без втрати точності?
Моделі лінійної уваги замінюють розростаючіся кеші ключ-значення на фіксовані рекурентні стани. Ці стійкі стани створюють вузьке місце в пам'яті при одночасній обробці багатьох запитів.
Чому рекурентні стани протистоять наївному квантуванню
Лінійна увага уникає безперервно зростаючого кешу ключ-значення, що заважає стандартним трансформерам. Натомість вона зберігає рекурентний стан фіксованого розміру, який оновлюється на кожному кроці декодування. При одночасному обслуговуванні ці стани займають значну частину пам'яті GPU. Квантування їх до низької точності здається очевидним рішенням. Проте пряме квантування призводить до суттєвої деградації точності. Причина проста. Помилки квантування не залишаються ізольованими. Вони поширюються через послідовні оновлення стану і накопичуються протягом усього генеративного процесу. Одине пошкоджене значення продовжує впливати на прогнози довго після запису.
Що змушує помилки залишатися або зникати
Автори виділяють два доповнювані виміри, які визначають, наскільки помилка квантування пошкоджує кінцевий результат. У часі помилки в довгоживучій пам'яті можуть зберігатися через багато кроків декодування. У просторі помилки в різних рядках ключів по-різному впливають на виходи моделі. Величини стану також суттєво варіюються вздовж рядків і стовпців. Однорідна точність ігнорує обидва факти. Вона марнує біти на безпечні елементи і забирає їх у чутливих. Стаття показує: одне пошкоджене значення продовжує впливати на прогнози довго після запису. Ця часова стійкість поєднується з просторовою чутливістю, роблячи однорідне квантування небезпечним.
Як STEPQuant розподіляє точність
STEPQuant — це просторово-часовий фреймворк пост
Джерела, за якими написано статтю
- "arXiv:2609.38169v1
https://arxiv.org/abs/2609.38169v1"