GPU, ускорители и инфраструктура LLM · проверено по источникам

Независимые реплики инференса

Независимые реплики инференса обслуживают разные запросы отдельными логическими копиями модели. Это разделение потока запросов между копиями. Одна реплика может занимать один или несколько GPU; само число реплик не объединяет их память для единственного запроса.

Также ищут: Data parallel inference · DP инференса · реплики LLM serving

Практический смысл

Почему это важно

Если модель уже помещается и задача состоит в обслуживании большего потока, копии дают другую ось масштабирования, чем разбиение слоёв. Но стоимость повторения весов, очереди, KV-состояние и общие узкие места остаются. Понятие data parallel из обучения нельзя переносить вместе с градиентными обменами.

Доказательная часть

Что подтверждено

  1. При независимом обслуживании каждая реплика имеет полную логическую копию модели для своего запроса. Её веса могут быть распределены внутри реплики, но повторение реплик обычно означает повторение доступного им набора весов, а не его единое разбиение между всеми копиями.

    Граница применимости: Вывод о копировании модели и независимых запросах; общее физическое хранение весов или offload не предполагаются без отдельного механизма.

  2. Балансировщик может направлять разные запросы в разные независимые реплики. Каждая обслуживает свою очередь и активные последовательности; пользовательская задержка зависит от выбора реплики и её состояния, а не только от суммарного числа GPU.

    Граница применимости: Эксплуатационный вывод для независимых serving-реплик; конкретный алгоритм балансировки не задан и должен быть описан в поставке.

  3. Если каждая реплика работает на одном GPU, добавление таких же независимых реплик не помогает поместить модель, превышающую память одного устройства. Для одной копии нужен поддержанный способ распределения или переноса данных; общий счётчик VRAM кластера этого не создаёт.

    Граница применимости: Вывод для реплик без совместного model sharding и без заранее заданного offload; различие копирования модели и распределённого размещения.

  4. Продолжение уже начатой генерации требует её текущего состояния, включая соответствующий KV. Произвольно перенаправить следующий шаг на пустую реплику недостаточно: нужно сохранить привязку либо явно перенести или восстановить состояние с учётом его цены.

    Граница применимости: Вывод из жизненного цикла KV PagedAttention и итерационного обслуживания Orca; запрета миграции нет, но механизм и задержка не считаются бесплатными.

  5. Новые реплики дают прирост полезной ёмкости только при достаточном потоке независимых запросов и отсутствии общего ограничителя. Неравномерное распределение очередей, общий фронтенд или путь данных могут оставить дополнительные GPU недогруженными.

    Граница применимости: Вывод для проверки SLO на распределённой нагрузке; линейного коэффициента масштабирования по числу реплик не обещается.

  6. Число независимых копий и способ разделения одной копии — разные оси. Реплика может использовать несколько устройств для TP или PP, если движок поддерживает такую комбинацию; расчёт ресурсов должен показать и число копий, и топологию каждой.

    Граница применимости: Архитектурный вывод из различных разбиений Megatron-LM и GPipe; не утверждение о поддержке их произвольного сочетания текущим inference-сервером.

  7. Data parallel training синхронизирует обучение копий модели, включая градиентные данные. Независимый inference фиксированных весов не выполняет этот обратный проход и обновление параметров; автоматически включать training-обмены в его контракт по одному слову DP неправильно.

    Граница применимости: Вывод о различии обучения Megatron-LM и генерации с фиксированными параметрами Transformer; online training или согласованное обновление весов не рассматриваются.

Граница терминов

Не путать

Тензорный параллелизм

Реплики делят независимые запросы между копиями, TP делит вычисления одной копии между участниками. В первом случае рост расхода весов может покупать больше независимых обработчиков; во втором меняются размещение и обмены одного вычисления.

Конвейерный параллелизм модели

Независимая реплика завершает запрос своей логической моделью. Стадия PP владеет лишь частью её слоёв и передаёт результат дальше; четыре стадии не равны четырём полным копиям.

Перед спецификацией

Что проверить

  1. Покажите число логических копий модели и число GPU внутри каждой.
  2. Сверьте точные веса, tokenizer и настройки у реплик, участвующих в сравнении.
  3. Проверьте, что каждая копия помещается со своим KV и рабочими буферами.
  4. Опишите выбор реплики и поведение при разных длинах её очереди.
  5. Испытайте привязку активного запроса и стоимость переноса или восстановления состояния.
  6. Измерьте полезный throughput и задержки при увеличении числа копий и той же смеси запросов.
  7. Найдите общие ограничения фронтенда и транспорта; не переносите gradient sync из training по названию DP.
Открытые основания

Первоисточники

  • Первичная публикация

    Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism

    Shoeybi et al.; NVIDIA · arXiv:1909.08053, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен. Первичная схема tensor parallelism при обучении; поддержка современного serving здесь не подтверждается.

    Открыть первоисточник
  • Первичная публикация

    Orca: A Distributed Serving System for Transformer-Based Generative Models

    USENIX · USENIX OSDI 2022, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен. Iteration-level scheduling и selective batching; результат статьи не переносится на любой движок.

    Открыть первоисточник
  • Официальная документация

    Service Level Objectives

    Google Site Reliability Engineering · Site Reliability Engineering, Chapter 4

    Определяет SLI, SLO и SLA и объясняет user-centric latency, error rate, throughput и percentiles.

    Открыть первоисточник
  • Официальная документация

    CUDA C++ Programming Guide

    NVIDIA · CUDA C++ Programming Guide, CUDA 12.6, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен.

    Открыть первоисточник
  • Первичная публикация

    Efficient Memory Management for Large Language Model Serving with PagedAttention

    Woosuk Kwon и соавторы · arXiv:2309.06180, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен.

    Открыть первоисточник
  • Официальная документация

    vLLM online serving benchmark: benchmark_serving.py

    vLLM Project · репозиторий vLLM, тег v0.5.4, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен. Клиентские метрики; точные timestamps, chunks и знаменатели проверить в этой версии и её request adapter.

    Открыть первоисточник
  • Первичная публикация

    GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism

    Huang et al.; Google · arXiv:1811.06965, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен. Стадии и micro-batch pipeline для обучения; иной inference schedule требует отдельной проверки.

    Открыть первоисточник
  • Первичная публикация

    Attention Is All You Need

    Ashish Vaswani и соавторы · arXiv:1706.03762, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен.

    Открыть первоисточник
Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие