Skip to main content

PagedAttention & KV-Cache Management(Сторінкова увага та оптимізація KV-кешу)

Алгоритм керування пам'яттю графічного процесора, що розбиває KV-кеш мовної моделі на неперервні віртуальні сторінки (як у ядрі ОС), усуваючи фрагментацію та збільшуючи пропускну здатність у 4 рази.

1. Огляд концепції та системна проблема

Коли сервер обслуговує запити до мовної моделі, найбільшим ворогом масштабування є пам'ять:

  • Відеокарта NVIDIA A100 має 80 ГБ VRAM. Сама модель 70B у 4-бітному квантуванні займає ~38 ГБ.
  • Залишається 42 ГБ для користувацьких запитів.
  • Якщо резервувати пам'ять традиційним способом, сервер може обслуговувати одночасно лише 2–3 запити з довгим контекстом. Спроба підключити четвертого клієнта закінчується помилкою CUDA Out of Memory.

PagedAttention вирішив цю проблему, перенісши 50-річний фундаментальний принцип операційних систем — віртуальну сторінкову пам'ять (Paging) — у відеопам'ять графічних процесорів.

2. Архітектурна таксономія та ментальна модель

┌─────────────────────────────────────────────────────────────┐
│                 PAGEDATTENTION ARCHITECTURE                 │
├─────────────────────────────────────────────────────────────┤
│ 1. Logical KV Blocks (Логічний контекст користувача):       │
│    [Токени 0-15] ➔ [Токени 16-31] ➔ [Токени 32-47]         │
├─────────────────────────────────────────────────────────────┤
│                          │                                  │
│                          ▼ Block Table (Таблиця сторінок)   │
│    • Логічний блок 0 ➔ Фізичний блок 7 у VRAM               │
│    • Логічний блок 1 ➔ Фізичний блок 2 у VRAM               │
│    • Логічний блок 2 ➔ Фізичний блок 11 у VRAM              │
├─────────────────────────────────────────────────────────────┤
│ 2. Physical VRAM Pages (Неперервні вільні слоти):           │
│    ┌─────────┬─────────┬─────────┬─────────┬─────────┐      │
│    │ Блок 0  │ Блок 1  │ Блок 2  │ ...     │ Блок 11 │      │
│    │ (Req B) │ (Вільний│ (Req A) │         │ (Req A) │      │
│    └─────────┴─────────┴─────────┴─────────┴─────────┘      │
│    • Фрагментація пам'яті знижена з 70% до <4%              │
└─────────────────────────────────────────────────────────────┘

3. Практичні інженерні сценарії в продакшені

01. Спільне використання префіксів (Prefix Caching / Copy-on-Write)

Якщо 50 користувачів одночасно ставлять запитання до одного й того самого системного промпту або PDF-документа, PagedAttention не копіює його 50 разів. Усі запити посилаються на одні й ті самі фізичні сторінки KV-кешу в VRAM. Пам'ять копіюється лише тоді, коли користувач починає генерувати власну унікальну відповідь (Copy-on-Write).

02. Паралельне розгалуження агентських думок (Branching Search)

Коли агент досліджує 4 варіанти вирішення задачі (Beam Search або Tree-of-Thought), початковий спільний контекст зберігається в єдиному екземплярі сторінок пам'яті, що економить до 75% VRAM при ройових обчисленнях.

4. Підводні камені, типові помилки та безпека

  • Overhead таблиць сторінок при коротких текстах: Для ультракоротких діалогів (1–5 токенів) оверхед на керування таблицею блоків може незначно збільшувати час диспетчеризації.
  • Очищення сторінок при скасуванні запиту: Якщо користувач обірвав з'єднання, рушій повинен миттєво повернути виділені фізичні сторінки в пул вільних блоків, інакше виникає витік пам'яті (VRAM Memory Leak).

5. Стратегічний висновок для інженера 2026 року

PagedAttention здійснив таку ж тиху революцію в LLM-інфраструктурі, яку свого часу зробила віртуальна пам'ять у Unix. Завдяки йому обслуговування сотень агентів на одному GPU стало економічно життєздатним стандартом індустрії.

/ Часті запитанняSchema.org FAQPage

FAQ: PagedAttention & KV-Cache Management

Під час генерації модель повинна зберігати тензори Keys та Values для кожного попереднього токена, щоб не перераховувати їх знову. При довжині контексту 128k токенів KV-кеш для одного користувача може займати більше 10–20 ГБ пам'яті.
/ Внутрішня перелінковка
Всі терміни
Моделі & Інференс

vLLM (Високопродуктивний рушій інференсу)

Провідний відкритий серверний рушій інференсу та обслуговування LLM, що здійснив революцію у пропускній здатності завдяки алгоритму віртуалізації пам'яті PagedAttention та неперервному батчингу.

Читати термін
Промптинг & RAG

Контекстне вікно (Context Window)

Максимальний робочий обсяг токенів, який мовна модель здатна одночасно утримувати в механізмі Self-Attention та пам'яті KV-кешу під час обчислення одного інференс-запиту.

Читати термін
Промптинг & RAG

KV-Cache Offloading & Compression

Апаратні та алгоритмічні методи тимчасового вивантаження кешу ключів і значень (KV-Cache) із дорогої відеопам'яті GPU у системну оперативну пам'ять (RAM) або швидкі NVMe SSD.

Читати термін
Моделі & Інференс

Continuous / Dynamic Batching

Механізм групування вхідних запитів до нейромережі на рівні окремих ітерацій токенів (Iteration-Level Scheduling), що усуває простої графічних процесорів при паралельному навантаженні.

Читати термін