В этом разборе
Отдельные пулы исполнения не означают независимых контрактов обновления; согласованный жизненный цикл выражает связь этапов serving.
Разделение prefill и decode создаёт отдельные пулы исполнения, но не делает независимыми их версии и связи состояния. Согласованный жизненный цикл llm-d 1.0 обращается к этому различию: границы масштабирования и границы совместимости не обязаны совпадать. Отдельное размещение компонентов не устраняет их участие в общем пути запроса.
Распределение создаёт связи
Представление llm-d 20 мая 2025 года установило проект распределённого инференса. Объявление GKE 9 апреля 2025 года уже давало контекст шлюза инференса. Следовательно, распределение было основой до последующего эксплуатационного этапа и не появилось впервые одновременно с примитивом обновления.
Когда этапы исполнения сотрудничают над одним запросом, значение имеет их интерфейс. Компонент может быть исправен отдельно, но не участвовать в предполагаемом сквозном пути. Это системное следствие, а не доказательство наличия дефекта совместимости в конкретном релизе llm-d или определённом движке модели.
Новый примитив жизненного цикла
Статья о релизе 20 октября 2026 года описывает DisaggregatedSet для согласованных обновлений prefill/decode. Управление жизненным циклом помещено рядом со стабильными интерфейсами, доступностью маршрутизации и управлением трафиком. Это отдельная функция координации, а не только средство изменения количества работающих реплик.
Возможность значима тем, что развёртывание должно выражать принадлежность частей друг другу. Её нельзя пересказывать как безусловное обещание отсутствия перерыва для любого движка, модели или конфигурации. Контроллер даёт механизм координации; конкретное обновление сохраняет собственные границы совместимости, которые зависят от выбранных компонентов и артефактов.
Изменение пересекает границу масштабирования
Представим сервис с отдельными пулами подготовки и генерации токенов. Новый артефакт модели или ревизия исполнения меняет предположение на границе передачи. Замена только подготовки может оставить старую генерацию за пределами предполагаемого сочетания, хотя оба пула продолжают показывать работающие процессы и формально существуют в кластере.
Условный случай объясняет, почему независимое изменение ёмкости не равно произвольным независимым обновлениям. Полезное описание жизненного цикла определяет единицу совместимости до того, как каждый пул рассматривается свободно заменяемым объектом. Иначе изменение количества компонентов скрывает изменение отношений между ними, необходимое для одного запроса.
Запись согласованного обновления
| Элемент | Что определяет |
|---|---|
| Артефакт модели | Предполагаемые веса и метаданные |
| Ревизия prefill | Реализацию стороны подготовки |
| Ревизия decode | Реализацию стороны генерации |
| Совместимость передачи | Поддерживаемую связь этапов |
| Комбинация восстановления | Известный рабочий набор ревизий |
Запись относится к сочетаниям, а не только отдельным проверкам здоровья. Она позволяет отличить неисправный компонент от неподдерживаемой пары. Поэтому откат иногда должен восстанавливать отношение, а не просто перезапускать процесс, который сообщил ошибку. Это аналитическое описание решения, а не утверждение о конкретном инциденте.
Исторический урок
Релиз делает координацию явной частью разделённого serving. Его причинное значение состоит в распределении зависимостей жизненного цикла вместе с работой. Эксплуатационная зрелость означает представление этих зависимостей вместо предположения, что отдельные развёртывания автоматически имеют отдельные контракты совместимости и могут изменяться без учёта общего пути.
Материал подписи артефактов устанавливает, какой артефакт присутствует. Статья разделение startup и readiness объясняет недостаточность работающего процесса. Общий вывод: обновление завершается на пути запроса, а не только в списке отдельных компонентов.