microsoft/vattention

Динамическое управление памятью для обслуживания LLM без PagedAttention

Инференс⭐ 523C
Открыть на GitHub ↗

Что это за инструмент

vAttention — это менеджер памяти для KV-cache в системах обслуживания LLM, использующий CUDA virtual memory APIs для динамического выделения физической памяти без изменения ядра внимания.

Зачем нужен

Инструмент решает проблему неэффективного использования памяти и накладных расходов PagedAttention, позволяя сохранять непрерывность виртуальной памяти при динамическом выделении физической. Это полезно для повышения производительности, особенно в сценариях, ограниченных этапом prefill, и позволяет использовать стандартные attention-ядра без их переписывания.

Что можно реализовать

  • Оптимизация обслуживания LLM-моделей (семейства Yi и Llama) на GPU NVIDIA A100 с использованием Linux.
  • Запуск нагрузочного тестирования (benchmarks) на статических и динамических трассировках для оценки пропускной способности.
  • Интеграция с бэкендами вычислений FlashAttention и FlashInfer для ускорения prefill и decode этапов.
  • Исследование альтернатив PagedAttention в системах типа Sarathi-Serve для улучшения метрик производительности.

Ключевые возможности

  • Отказ от PagedAttention в пользу CUDA virtual memory APIs для более гибкого управления памятью.
  • Поддержка работы с неизмененными (unmodified) attention kernels, что упрощает интеграцию.
  • Улучшенная производительность в prefill-bound workload по сравнению с традиционными подходами.
  • Гибкая конфигурация размеров страниц (64KB, 128KB, 256KB, 2MB) и поддержка sync-режимов.
  • Встроенные скрипты для воспроизведения результатов исследований и сравнения с PagedAttention.

👤 Кому подойдёт: исследователи, разработчики систем обслуживания LLM, инженеры по оптимизации производительности GPU

Релизы

Релизы ещё не отслежены — появятся после ближайшего опроса.