EMZETT.
Увійти

KV-кеш

Коротко: KV-кеш зберігає проміжні результати (ключі та значення) попередніх токенів, щоб моделі не доводилося перераховувати їх щоразу.

Докладніше: Кеш росте з кожним токеном. За довгих контекстів він може займати кілька гігабайтів і мусить уміщатися в пам’ять на додачу до моделі. Сучасні моделі з «grouped-query attention» помітно його зменшують.

Подробиці

  • Розмір: 2 × шари × KV-голови × розмір голови × байтів на значення × токени. Моделі на 8 млрд параметрів із 32 шарами у FP16 потрібно близько 0,13 МБ на токен, близько 4 ГБ на 32 000 токенів.
  • Квантований: кеш можна зберігати у 8 біт — потреба зменшується вдвічі.
  • Вплив на швидкість: за довгих контекстів кожен новий токен читає й увесь кеш. Це сповільнює роботу.
  • Повторне використання: спільний початок кількох запитів (системний промпт) може лишатися в кеші («prompt caching»).

Див. також: Контекстне вікно, VRAM і розмір моделі