Перейти к основному содержимому

Чтобы получить чистое Markdown-содержимое этой страницы, добавьте .md к этому URL. Полный индекс документации доступен на https://docs.nvidia.com/dynamo/llms.txt. Полное содержимое, включая справочник API и примеры SDK, доступно на https://docs.nvidia.com/dynamo/llms-full.txt.

KVBM

简体中文

Менеджер KV-блоков Dynamo (KVBM) — это масштабируемый компонент среды выполнения, предназначенный для выделения памяти, управления ею и удаленного совместного использования блоков Key-Value (KV) в задачах инференса в гетерогенных и распределенных средах. Он работает как единый слой памяти и кэш со сквозной записью для фреймворков вроде vLLM и TensorRT-LLM.

KVBM предоставляет:

  • Единый API памяти, охватывающий память GPU, закрепленную память хоста, удаленную память с доступом по RDMA, локальные и распределенные SSD, а также удаленные файловые, объектные и облачные хранилища
  • Поддержку жизненного цикла блоков (allocate → register → match) с переходами состояния на основе событий
  • Интеграцию с NIXL — динамическим слоем обмена памятью для удаленной регистрации, совместного использования и доступа к блокам памяти

Начало работы: инструкции по установке и развертыванию см. в руководстве по KVBM.

Когда использовать выгрузку KV-кэша

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

Выгрузка KV-кэша в CPU или хранилище наиболее эффективна, когда KV-кэш превышает объем памяти GPU, а повторное использование кэша оправдывает накладные расходы на передачу данных. Она особенно полезна в таких сценариях:

СценарийПольза
Длинные сессии и многоходовые диалогиСохраняет большие префиксы промптов, исключает повторные вычисления, улучшает задержку до первого токена и пропускную способность
Высокая параллельностьНеактивные или частичные диалоги можно вынести из памяти GPU, чтобы активные запросы продолжали выполняться без упора в лимиты памяти
Общий или повторяющийся контентПовторное использование между пользователями или сессиями (системные промпты, шаблоны) повышает долю попаданий в кэш, особенно при удаленном совместном использовании или использовании между экземплярами
Развертывания с ограничениями по памяти или стоимостиВыгрузка в RAM или SSD снижает потребность в GPU, позволяя обрабатывать более длинные промпты или больше пользователей без добавления оборудования

Матрица поддержки функций

ФункцияПоддержка
БэкендЛокальный
Kubernetes
LLM-фреймворкvLLM
TensorRT-LLM
SGLang
Тип обслуживанияАгрегированный
Разделенный

Архитектура

KVBM Architecture Высокоуровневое представление слоистой архитектуры Dynamo KV Block Manager и его взаимодействия с различными компонентами экосистемы LLM-инференса

KVBM состоит из трех основных логических слоев:

Слой среды выполнения LLM-инференса — верхний слой включает среды выполнения инференса (TensorRT-LLM, vLLM), которые интегрируются с Dynamo KVBM через специализированные модули-коннекторы. Эти коннекторы работают как слои преобразования: они отображают операции и события, специфичные для среды выполнения, в блочно-ориентированный интерфейс памяти KVBM. Благодаря этому управление памятью отделяется от среды выполнения инференса, что обеспечивает переносимость бэкендов и многоуровневую организацию памяти.

Логический слой KVBM — средний слой инкапсулирует основную логику менеджера KV-блоков и служит средой выполнения для управления блочной памятью. Адаптер KVBM нормализует представления и схему размещения данных для входящих запросов из разных сред выполнения и передает их основному менеджеру памяти. Этот слой реализует табличные поиски, выделение памяти, управление раскладкой блоков, переходы состояний жизненного цикла, а также политики повторного использования и вытеснения блоков.

Слой NIXL — нижний слой обеспечивает единую поддержку всех операций с данными и хранилищами. NIXL поддерживает P2P-передачи между GPU, удаленное совместное использование памяти через RDMA и NVLink, динамическую регистрацию блоков и обмен метаданными, а также предоставляет плагинный интерфейс для бэкендов хранения, включая блочную память (GPU HBM, Host DRAM, Remote DRAM, Local SSD), локальные и удаленные файловые системы, объектные хранилища и облачные хранилища.

Подробнее: детальное описание архитектуры, компонентов и потоков данных см. в документе о дизайне KVBM.

Дальнейшие шаги