Update project task cards to version 1.1

This commit is contained in:
2026-09-07 21:46:04 +03:00
parent 2bbfdac874
commit f8a5e00ab9
42 changed files with 264 additions and 103 deletions
+3 -1
View File
@@ -1,6 +1,6 @@
# P23. PagedAttention: управление памятью KV-кэша
- **Версия и дата проверки:** 1.0, 05.09.2026.
- **Версия и дата проверки:** 1.1, 07.09.2026.
- **Статус:** готово к назначению.
## Статья и исходные материалы
@@ -9,11 +9,13 @@
- **Кратко о статье:** При обслуживании LLM память под KV-кэш обычно резервируется непрерывными областями, что приводит к фрагментации и избыточному резервированию. PagedAttention делит кэш на блоки и размещает их по принципу виртуальной памяти, выделяя место по мере необходимости и допуская безопасное совместное использование. В проекте механизм изолируется от GPU-вычислений и сравнивается с непрерывным размещением на CPU-стенде.
- **Почему результат актуален:** PagedAttention разбивает KV-кэш на страницы и устраняет необходимость непрерывного резервирования памяти, позволяя обслуживать больше параллельных LLM-запросов.
- **Артефакты и данные:** [vllm-project/vllm](https://github.com/vllm-project/vllm), активно развиваемая открытая система с реализацией PagedAttention. Зафиксированные ревизии: `vllm-project/vllm@3e9d364ff727` (Apache-2.0).
- **Что уже предоставляет артефакт:** vLLM предоставляет реализацию PagedAttention и обработку запросов; код и опубликованные измерения служат эталоном механизма. В обязательном CPU-пути команда создаёт собственные аллокаторы и обработчик.
## Обязательный результат
- **Проверяемый вопрос или утверждение:** блочное размещение KV-кэша уменьшает фрагментацию и позволяет обслуживать больший динамический пакет запросов, чем непрерывное резервирование памяти.
- **Технический результат:** Реализовать минимальный исполняемый обработчик авторегрессионных запросов на CPU с взаимозаменяемыми непрерывным и страничным аллокаторами KV-кэша. Добавить планирование динамического пакета, проверку инвариантов размещения и учёт реально выделенной памяти и отказов.
- **Обязательное приращение команды:** Реализовать предусмотренные непрерывный и страничный аллокаторы над реально выделенными массивами, динамический пакет и проверку инвариантов. Подготовить собственный поток запросов и сопоставимые измерения памяти, фрагментации, отказов и задержки.
- **Эксперимент:** на подготовленном обработчике и реально выделяемых массивах сравнить непрерывный и страничный аллокаторы по занятой памяти, внутренней фрагментации, отказам размещения, размеру динамического пакета и задержке.
- **Границы выводов:** стенд проверяет управление памятью и планирование динамического пакета на CPU; он не оценивает GPU-ядро PagedAttention, качество модели и сквозную производительность полноценного LLM-сервера.
- **Ресурсный профиль:** локально, CPU, 8–16 ГБ памяти; вместо большой модели допустим детерминированный генератор токенов, но обязательный результат включает работающий аллокатор и обработчик запросов. Имитация используется только для расширения масштаба; небольшая GPU-проверка необязательна.