Як TurboQuant забезпечує масштабне стиснення великих мовних моделей
Метод векторного квантування вже тривалий час допомагає стискати складні числові дані, якими оперує штучний інтелект. Суть методу полягає у заміні великого діапазону значень обмеженим набором компактних чисел. Проте класичні методи мають суттєвий недолік: для кожного фрагмента даних потрібно окремо зберігати спеціальні коефіцієнти у високій якості. Це додає по 1–2 «зайвих» біти до кожного числа, що в результаті значно зменшує реальну ефективність стиснення, особливо коли пам’ять і так обмежена.
Читайте также: Відсьогодні в Україні запрацював кешбек на паливо: коли гроші надійдуть на картку
TurboQuant розв’язує цю проблему шляхом поєднання двох базових методів.
PolarQuant виконує основний етап стиснення, перетворюючи стандартні декартові вектори координат у полярні координати. Звичайний квантизатор фіксує положення вздовж кожної осі незалежно, що потребує кроків нормалізації, які змінюються залежно від даних. Натомість PolarQuant відображає пари координат у полярну систему, виражаючи їх через радіус та кут. Оскільки кутовий розподіл є передбачуваним і зосередженим, цей метод усуває необхідність у нормалізації та позбавляє від пов’язаних із нею накладних витрат.
QJL працює із залишковою похибкою. Використовуючи перетворення Джонсона-Лінденштраусса, QJL зводить кожне значення вектора, що залишилося, до одного біта знака, або позитивного, або негативного. Цей крок не створює жодних накладних витрат пам’яті. Щоб зберегти точність під час роботи з однібітними представленнями, QJL використовує оцінювач, який під час обчислення показників уваги поєднує високоточні вектори запитів із цією спрощеною збереженою інформацією.
Google Research безпосередньо описує об’єднаний результат: «TurboQuant — це метод стиснення, який досягає значного зменшення розміру моделі з нульовою втратою точності, що робить його ідеальним для підтримки як стиснення кешу ключ-значення (KV), так і векторного пошуку».
Результати тестування у п’яти наборах бенчмарків
Google Research оцінила всі три алгоритми на п’яти тестах для довгих контекстів: LongBench, Needle In A Haystack, ZeroSCROLLS, RULER та L-Eval. Тестовими моделями виступили Gemma та Mistral. TurboQuant стиснув KV-кеші до 3 біт на значення без необхідності перенавчання чи доналаштування моделей. При цьому не було зафіксовано вимірюваних втрат точності у завданнях із відповідей на запитання, генерації коду та реферування текстів.
Читайте также: Відсьогодні в Україні запрацював кешбек на паливо: коли гроші надійдуть на картку
Скорочення обсягу пам’яті досягло щонайменше 6-кратного рівня порівняно з нестиснутим KV-сховищем. На графічних процесорах NVIDIA H100 4-бітний TurboQuant забезпечив до 8-кратного прискорення обчислення логітів уваги (attention logits) порівняно з 32-бітними неквантованими ключами. PolarQuant продемонстрував результати, близькі до нульових втрат, в тестах на пошук інформації у великих масивах тексту (needle-in-haystack).
Алгоритми також були оцінені за найсучаснішими базовими рівнями векторного пошуку, зокрема Product Quantization (PQ) та RabbiQ. TurboQuant досяг чудових коефіцієнтів відкликання на наборі даних GloVe (d=200) для завдань пошуку top-k, зробивши це без великих кодових книг та налаштування, специфічного для набору даних, яких вимагають ці базові методи.
Google Research зазначає, що TurboQuant працює без урахування даних, тобто не потребує калібрування, специфічного для набору даних. Ця властивість спрощує інтеграцію в системи виводу та зменшує конвеєр попередньої обробки, необхідний перед розгортанням.
