Техническое РУКОВОДСТВО

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 теперь используются в большинстве стеков обслуживания. Ожидайте более глубокого кэширования префиксов (повторное использование кэшированных системных подсказок между пользователями), дезагрегированного предварительного заполнения и декодирования на отдельных машинах, более разумных политик вытеснения и тесной интеграции с квантованием и спекулятивным декодированием. Поскольку контекстные окна разрастаются до миллионов токенов, эффективное управление страничными ключами связи становится еще более важным для обеспечения доступности обслуживания.

Реальная реализация

Размещение API-интерфейса LLM с открытым исходным кодом, где vLLM обслуживает множество одновременных пользователей чата с одного графического процессора с высокой пропускной способностью.

Распределение длинного системного приглашения на тысячи запросов посредством кэширования префиксов, чтобы оно обрабатывалось один раз, а не повторно.

Поиск по бегущей балке или несколько выборочных заканчиваний, которые используют общие блоки KV для общего запроса посредством копирования при записи.

Сокращение потерь памяти графического процессора из-за фрагментации, чтобы провайдер мог разместить больше одновременных сеансов на одном и том же оборудовании.

Риски и ограничения

Оптимизация одного теста может скрыть более широкие недостатки системы.

Затраты на инфраструктуру и техническое обслуживание часто недооцениваются.

Пробелы в безопасности и наблюдаемости могут увеличиваться по мере усложнения систем.

Дорожная карта реализации

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?

Резервирование одного большого непрерывного блока для каждого запроса, рассчитанного на максимальную длину, привело к потере огромного количества памяти графического процессора. Пейджинг выделяет небольшие блоки по требованию, сокращая отходы.

Как PagedAttention позволяет нескольким выводам совместно использовать память для общего приглашения?

Идентичные префиксы (общие подсказки или ветки поиска луча) ссылаются на одни и те же физические страницы KV, копируя только тогда, когда ветка расходится.

Где изначально были разработаны vLLM и PagedAttention?

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