HeadlinesBriefing favicon HeadlinesBriefing.com

Дезагрегация: проблема 1000 GPU, когда работает

Towards Data Science •
×

Каждый основной фреймворк вывода выпустил дезагрегацию prefill-decode в этом году. NVIDIA встроила её в Dynamo. SGLang сделала её стандартом для крупномасштабных развёртываний. v LLM добавила API KV-коннектора для нативной поддержки. Консенсус формируется быстро: разделите prefill и decode на отдельные пулы GPU, и пропускная способность улучшится. Этот консенсус ошибочен для большинства команд. Анализ Doubleword показывает, что сбалансированное дезагрегированное развёртывание соответствует пропускной способности при совместном размещении, но при небольших количествах GPU потери округления доминируют: вы не можете выделить дробные GPU, поэтому выигрыш от специализации поглощается неполной утилизацией воркеров. Практическая выгода при таком масштабе — независимая настройка SLO, а не пропускная способность. Исследование июня 2025 года, оценившее сотни тысяч точек проектирования, показало, что дезагрегация наиболее эффективна для трафика с тяжёлым prefill и более крупных моделей. Для смешанного трафика, который большинство команд фактически запускают, очереди и межузловая передача кэша KV доминировали в сквозной задержке. Команды, которые внедрили дезагрегацию, переместили узкое место. Они не устранили его. Я столкнулся с этим в рабочей нагрузке вывода, обслуживающей модель классификации среднего размера.

TPOT резко возрос при пульсирующем трафике, и первым побуждением было разделить prefill и decode. Вместо этого я включил chunked prefill в том же пуле GPU. TPOT стабилизировался. Проблемой была интерференция планирования, и chunked prefill решил её без добавления сетевого перехода. Chunked prefill разбивает длинные запросы prefill на более мелкие фрагменты и чередует их с пакетами decode на том же GPU. Никаких отдельных пулов узлов. Никакой передачи кэша KV по сети. Никакого соотношения P:D для настройки.

TNG Technology Consulting измерила 50-процентное увеличение общей пропускной способности токенов при использовании стандартного v LLM с включённым chunked prefill. Пакеты decode по-прежнему выполнялись между фрагментами prefill на том же оборудовании, но интерференция планирования снизилась до уровня, который большинство рабочих нагрузок в продакшене могут tolerate. Для рабочих нагрузок ниже примерно 50 запросов в секунду с умеренной длиной промптов эта граница достаточно тесная.