Технічний КЕРІВНИЦТВО

PagedAttention і vLLM

PagedAttention — це техніка керування пам’яттю, яка зберігає кеш уваги мовної моделі у невеликих багаторазових блоках замість одного великого безперервного фрагмента.

2 хвилини читанняОстаннє оновлення

Огляд

It powers vLLM, an open-source serving engine that dramatically boosts how many requests a single GPU can handle.

Глибоке занурення

Коли мовна модель генерує текст, вона зберігає «кеш KV» (вектори ключів і значень) для кожного маркера, який вона бачила, щоб наступний маркер міг звернути увагу на повний контекст. Традиційно для кожного запиту резервувався один великий безперервний блок пам’яті графічного процесора розміром відповідно до його максимально можливої ​​довжини, втрачаючи величезні обсяги, коли послідовності були коротшими або відрізнялися за довжиною. PagedAttention, представлений у документі vLLM 2023 року від Каліфорнійського університету в Берклі, запозичив ідею сторінок віртуальної пам’яті з операційних систем: він розбиває кеш KV на блоки фіксованого розміру, які можуть знаходитися в будь-якому місці пам’яті та розподілятися за вимогою. Таблиця пошуку відображає позиції логічних токенів на фізичні блоки. Це майже усуває фрагментацію пам’яті та дозволяє спільно використовувати блоки, наприклад, між кількома виходами з одного запиту.

Технічне розуміння

Кеш KV розділений на сторінки фіксованого розміру, кожна з яких містить ключі та значення для встановленої кількості токенів. Таблиця блоків для кожної послідовності відображає логічні позиції на фізичних розташуваннях сторінок, тому кеш послідовності не повинен бути безперервним. Оскільки ідентичні префікси (спільна системна підказка або гілки пошуку за променем) можуть вказувати на ті самі фізичні сторінки через копіювання під час запису, пам’ять використовується повторно замість дублювання, скорочуючи витрати з понад 60% до кількох відсотків.

Стратегічний вплив

Вартість і бюджет

Архітектурні рішення збільшують продуктивність і експлуатаційні витрати протягом багатьох років.

Чіткіші рішення

Технічна освіта допомагає командам вибрати правильний стек, а не лише найновіший.

Контроль якості

Кращий інженерний вибір зменшує проблеми з надійністю у виробництві.

Майбутнє PagedAttention і vLLM

vLLM став основою висновку з відкритим вихідним кодом за замовчуванням, і ідеї PagedAttention тепер відображаються в більшості стеків обслуговування. Очікуйте глибшого кешування префіксів (повторне використання кешованих системних запитів для користувачів), дезагрегованого попереднього заповнення та декодування на окремих машинах, розумніших політик вилучення та тісної інтеграції з квантуванням і спекулятивним декодуванням. Оскільки контекстні вікна розростаються в мільйони токенів, ефективне керування сторінковим KV стає ще більш важливим для збереження доступності обслуговування.

Реалізація в реальному світі

Хостинг LLM API з відкритим вихідним кодом, де vLLM обслуговує багато одночасних користувачів чату з одного графічного процесора з високою пропускною здатністю

Спільне використання довгого системного підказки для тисяч запитів через кешування префіксів, щоб воно оброблялося один раз, а не повторно

Пошук бігового променя або завершення з кількома вибірками, які спільно використовують блоки KV для загального запиту через копіювання під час запису

Скорочення споживання пам’яті GPU через фрагментацію, щоб постачальник міг запакувати більше одночасних сеансів на те саме обладнання

Ризики та огорожі

Оптимізація одного тесту може приховати ширші слабкі сторони системи.

Витрати на інфраструктуру та обслуговування часто недооцінюються.

Прогалини в безпеці та спостережуваності можуть зростати в міру ускладнення систем.

Дорожня карта впровадження

1

Визначте цільові показники затримки, якості та вартості перед впровадженням.

2

Тест за реалістичних умов навантаження та даних.

3

Моніторинг інструментів на наявність помилок, дрейфу та впливу користувача.

4

Перед масштабуванням підготуйте шляхи відкату та реагування на інциденти.

Продовжуйте досліджувати

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the PagedAttention and vLLM quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Розпочати вікторину

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Наступний посібник

Диференціальна конфіденційність

Часті запитання

What is PagedAttention and vLLM?

PagedAttention — це техніка керування пам’яттю, яка зберігає кеш уваги мовної моделі у невеликих багаторазових блоках замість одного великого безперервного фрагмента. Він підтримує vLLM, механізм обслуговування з відкритим кодом, який значно збільшує кількість запитів, які може обробити один графічний процесор.

Що зберігає «кеш KV» під час генерації тексту?

Кеш KV зберігає вектори ключів і значень для кожного попереднього токена, дозволяючи моделі звертати увагу на повний контекст, не перераховуючи його на кожному кроці.

Яка концепція операційної системи надихнула PagedAttention?

PagedAttention запозичує сторінку віртуальної пам’яті: кеш KV поділено на сторінки фіксованого розміру, які можуть бути де завгодно, зіставлені за допомогою таблиці блоків.

Яку проблему з традиційним розподілом кешу KV вирішує PagedAttention?

Резервування однієї великої безперервної плити на запит, розмір якої відповідає максимальній довжині, призвело до втрати величезної кількості пам’яті GPU. Пейджінг виділяє невеликі блоки за вимогою, скорочуючи відходи.

Як PagedAttention дозволяє кільком виходам спільно використовувати пам’ять для спільного запиту?

Ідентичні префікси (спільні підказки або гілки пошуку за променем) посилаються на ті самі фізичні сторінки KV, копіюючи лише тоді, коли гілка розходиться.

Де спочатку були розроблені vLLM і PagedAttention?

vLLM і алгоритм PagedAttention вийшли з Каліфорнійського університету в Берклі в статті 2023 року і швидко стали широко використовуваним механізмом обслуговування з відкритим кодом.