{{opener}} распределённая инференция играет ключевую роль в работе больших языковых моделей, обеспечивая их эффективное функционирование. Инференция — это процесс, в котором обученная модель генерирует ответ на основе введённых данных. Однако выполнение этого процесса на большом масштабе представляет собой серьёзную задачу. Запуск большой языковой модели на графическом процессоре — это одно, а предоставление доступа к этой модели тысячам пользователей одновременно — совсем другое. Запросы поступают с различными приоритетами и длинами, что требует уникальных вычислительных ресурсов. Некоторые пользователи ожидают немедленного ответа на простые вопросы, в то время как другие отправляют большие задания, которые могут выполняться в фоновом режиме. Трафик от ИИ-агентов добавляет новую динамику: агенты могут отправлять всплески связанных запросов, делать паузы для вызова инструмента и возвращаться с почти тем же контекстом. При этом система должна эффективно использовать дорогие ускорители, не создавая длинных очередей и не выполняя одни и те же вычисления многократно. Эта проблема напоминает управление воздушным движением. Занятый аэропорт не может просто отправить каждый прибывающий самолёт на первую доступную взлётно-посадочную полосу. Диспетчеры должны учитывать местоположение, назначение, размер и потребности в топливе самолёта, а также уже существующий трафик. Задача могла бы быть проще, если бы диспетчеры просто должны были поддерживать занятость каждой полосы, но аэропорт — это не парковка, и не каждый самолёт может рассматриваться одинаково. Распределённая инференция выполняет подобную координирующую роль для инференции языковых моделей, действуя на уровне выше серверов моделей, таких как vLLM и SGLang, где она организует и оптимизирует реальный трафик. В то время как эти серверы эффективно запускают модели на отдельных серверах, распределённая инференция координирует группы серверов моделей по кластеру. Её маршрутизатор может учитывать глубину очереди, доступность кэша и роли серверов, прежде чем принять решение о том, куда должен быть направлен запрос. Чтобы понять, как работает распределённая инференция, мы рассмотрим шесть заметных технических инноваций: маршрутизация с учётом кэша префикса, выгрузка кэша KV, управление потоком, оптимизация пакетной инференции, разъединение предзаполнения/декодирования и широкая параллелизация экспертов. Мы также увидим, как каждая из них объединяется в llm-d, открытой, основанной на Kubernetes, системе инференции. Маршрутизация с учётом кэша префикса позволяет отправлять работу туда, где уже находится контекст. Когда языковая модель читает запрос, она создаёт внутреннее представление слов и их взаимосвязей, сохраняя большую часть этого промежуточного состояния в кэше ключей и значений. Если позже поступает запрос с тем же текстом или его частями, модель может повторно использовать уже сохранённые вычисления, а не обрабатывать общий текст заново. Выгрузка кэша KV позволяет расширить рабочую память модели. Хотя память ускорителя быстрая, её пространство может быстро заполняться длинными запросами и множеством одновременных пользователей. Когда пространство заканчивается, сервер модели может удалить более старые записи кэша KV. Если позже запросу нужны эти данные, модели придётся заново вычислять их, что приводит к потере ресурсов. Управление потоком решает, какие запросы должны двигаться первыми, а какие должны ждать. Когда поток трафика поступает одновременно, одинаковое обращение с каждым запросом может привести к тому, что чувствительный к задержке запрос окажется заблокированным за менее приоритетной работой. Оптимизация пакетной инференции позволяет использовать свободные ресурсы, не создавая заторов в системе. Пакетные задания могут улучшить использование оборудования, используя мощности, которые иначе могли бы простаивать. Однако плохо организованные пакетные задания могут затопить систему и задержать интерактивный трафик. Разъединение предзаполнения и декодирования позволяет распределённой инференции назначать фазы специализированным работникам и масштабировать их независимо. Широкая параллелизация экспертов распределяет экспертов модели по кластерам, что позволяет лучше использовать память ускорителей. Совместно эти элементы превращают обслуживание языковых моделей из набора изолированных серверов в координированную и распределённую систему. Эта разница становится всё более важной, поскольку ИИ выходит за пределы простого общения и переходит к агентам, которые поддерживают длинные контексты, вызывают инструменты и генерируют нерегулярные всплески трафика. Материал подготовлен нейросетью на основе оригинальной публикации. ИИ может ошибаться в деталях (цифры, имена, даты, цитаты) — для важной информации сверяйтесь с первоисточником.