Update project task cards to version 1.1
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# P28. DistServe: раздельное выполнение prefill и decode
|
||||
|
||||
- **Версия и дата проверки:** 1.0, 05.09.2026.
|
||||
- **Версия и дата проверки:** 1.1, 07.09.2026.
|
||||
- **Статус:** готово к назначению.
|
||||
|
||||
## Статья и исходные материалы
|
||||
@@ -9,21 +9,29 @@
|
||||
- **Кратко о статье:** Обработка LLM-запроса состоит из вычислительно насыщенного prefill и последовательного decode с другим профилем нагрузки, поэтому совместное выполнение мешает независимо масштабировать стадии. DistServe размещает их на разных наборах устройств и передаёт между ними KV-кэш, оптимизируя полезную пропускную способность при ограничениях на TTFT и TPOT. Проект воспроизводит этот компромисс на CPU-модели.
|
||||
- **Почему результат актуален:** исходная реализация остаётся исследовательским артефактом, однако раздельные prefill и decode вошли в современные системы инференса, включая экспериментальный режим [vLLM](https://docs.vllm.ai/en/v0.14.0/features/disagg_prefill/). Поэтому проект проверяет уже применяемое архитектурное решение и его границу выгодности.
|
||||
- **Артефакты и данные:** [LLMServe/DistServe](https://github.com/LLMServe/DistServe) под Apache-2.0; включает код системы, профилировщик, сценарии оценки и `simdistserve`. Зафиксированные ревизии: `LLMServe/DistServe@82831f1604cc` (Apache-2.0).
|
||||
- **Что уже предоставляет артефакт:** Готовый `simdistserve` содержит очереди, workers, профили, генерацию запросов, варианты DistServe и vLLM, goodput и сценарии оценки. Он используется только как эталон и источник профилей; центральную событийную модель команда пишет независимо. Проверенные исходные материалы: [simdistserve](https://github.com/LLMServe/DistServe/blob/82831f1604cc/simdistserve/README.md), [модель worker](https://github.com/LLMServe/DistServe/blob/82831f1604cc/simdistserve/base/worker.py).
|
||||
|
||||
## Обязательный результат
|
||||
|
||||
- **Проверяемый вопрос или утверждение:** разделение prefill и decode увеличивает goodput при одновременных ограничениях на TTFT и TPOT, если выигрыш от независимого масштабирования превышает стоимость передачи KV-кэша.
|
||||
- **Технический результат:** Реализовать CPU-симулятор фаз prefill и decode с очередями, профилями выполнения и моделью сети. Добавить совместное и раздельное размещение, общий генератор запросов и проверки сохранения запросов, пропускной способности и разложения задержки по фазам.
|
||||
- **Эксперимент:** на профилях или синтетической модели сравнить совместное и раздельное размещение для нескольких распределений длин входа и выхода, явно варьируя пропускную способность сети и проверяя обе задержки и goodput.
|
||||
- **Технический результат:** Независимо реализовать уменьшенный CPU-симулятор фаз prefill и decode с очередями, профилями и моделью сети. Добавить совместное и раздельное размещение, общий генератор запросов, журнал событий и проверки сохранения запросов, пропускной способности и разложения задержки. Разрешены библиотеки событийной симуляции; готовые модель очередей, workers и планировщик simdistserve используются только как эталон.
|
||||
- **Обязательное приращение команды:** Создать независимый уменьшенный CPU-симулятор фаз и сети с совместным и раздельным размещением, журналом событий и проверками сохранения запросов и времени. На контрольных сценариях сопоставить его с авторским симулятором при согласованных профилях и допущениях и разобрать расхождения.
|
||||
- **Эксперимент:** Сначала сопоставить собственный и авторский симуляторы на контрольных сценариях при одинаковых профилях и согласованных допущениях, объяснив расхождения. Затем сравнить совместное и раздельное размещение для нескольких распределений длин входа и выхода, варьируя пропускную способность сети и проверяя TTFT, TPOT и goodput.
|
||||
- **Границы выводов:** выигрыш раздельного выполнения определяется профилями и сетевой моделью симулятора; без GPU-стенда он не подтверждает фактические TTFT, TPOT, goodput и цену передачи KV-кэша в DistServe.
|
||||
- **Ресурсный профиль:** локально, CPU и 8–16 ГБ памяти для имитации; полная система требует как минимум два GPU и остаётся необязательной. Калибровку можно провести по опубликованным профилям и небольшому локальному измерению.
|
||||
- **Ресурсный профиль:** Локально, CPU, 8–16 ГБ памяти для собственного и авторского симуляторов; полная система с как минимум двумя GPU остаётся необязательной. Использовать опубликованные профили; для контрольного сравнения согласовать учитываемые задержки и ограничения, а дополнительные сетевые режимы исследовать отдельно в собственной модели.
|
||||
|
||||
## Содержательные направления
|
||||
|
||||
- модель фаз и профили.
|
||||
- политики размещения и маршрутизации.
|
||||
- независимая модель фаз и проверка по авторскому симулятору.
|
||||
- политики размещения, маршрутизации и корректность событий.
|
||||
- SLO, сетевые ограничения и анализ чувствительности.
|
||||
|
||||
## Возможное продолжение
|
||||
|
||||
Динамически переключать совместный и раздельный режим, учитывать неоднородные ускорители, искать неблагоприятные режимы либо предложить новую политику выбора числа экземпляров каждой фазы.
|
||||
|
||||
## История уточнений
|
||||
|
||||
| Дата | Версия | Основание | Изменение обязательного результата |
|
||||
|---|---|---|---|
|
||||
| 07.09.2026 | 1.1 | Статический просмотр закреплённого артефакта: готовые сценарии частично покрывают задание. | Закреплены независимый CPU-симулятор и контрольное сопоставление; simdistserve служит эталоном и источником профилей. |
|
||||
|
||||
Reference in New Issue
Block a user