В этом материале
Data parallelism мультимодального encoder в SGLang не равнозначен tensor parallelism языковой части модели.
Data parallelism мультимодального encoder в SGLang не равнозначен tensor parallelism языковой части модели. Эти компоненты выполняют разные стадии запроса и могут иметь разное размещение. До настройки mm-enable-dp-encoder проверьте поддержку конкретной архитектуры и версии. Не переносите коэффициент TP автоматически на encoder и не считайте наличие нескольких GPU доказательством, что любая vision-language модель использует их одинаковым способом во всех фазах.
Разложите мультимодальный запрос
Сначала изображение или другой поддерживаемый вход преобразуется encoder в представление для языковой модели. Затем language model выполняет свою часть обработки и генерации. Руководство SGLang описывает data parallel encoder и перечень поддерживаемых моделей. Указание конкретных архитектур важно: флаг не является обещанием поддержки каждой VLM. Сохраните model revision и сведения о разделении компонентов, прежде чем объяснять использование памяти только общим числом параметров checkpoint или размером текстового контекста.
Проверьте область аргументов
В server arguments сверяйте параметры encoder отдельно от распределения языковой части. Запишите effective settings, а не только предполагаемый launch command. Если конфигурация содержит TP для language model, укажите, где находятся encoder replicas и как распределяются входы. Ошибка на одной стадии может выглядеть как отсутствие ответа всей модели. Поэтому журнал должен позволять понять, завершилась ли обработка изображения и дошла ли подготовленная информация до text generation, не смешивая эти события в одну startup отметку.
Пример карточки размещения
Для учебной схемы с двумя GPU составьте строки encoder и language model. В столбцах укажите replication, sharding, тип работы и ожидаемый источник наблюдений. Это схема документации, а не обещание, что любая модель поместится на двух устройствах. Дополните ее одним фиксированным изображением и одинаковым вопросом. Проверяйте размещение по runtime evidence и корректному ответу, а не по факту выделенной памяти на обеих GPU: память может относиться к другим компонентам или служебным буферам.
Сравните разные профили входа
Для проверки отделите запрос с небольшим изображением от серии с большей encoder нагрузкой, сохранив текстовую задачу и правила вывода. Запишите время encoder, ожидание языковой части и общую задержку, если эти границы доступны. Если ускорилась подготовка изображения, но итоговый ответ не ускорился, исследуйте долю text generation и очередь. Не объявляйте такой результат ошибкой DP. Распределение одной стадии полезно ровно настолько, насколько эта стадия ограничивает полный путь конкретного запроса и не создает дополнительных накладных расходов.
Приемка и ограничения
Сохраните поддерживаемую архитектуру, версии, карту размещения и fixtures для функционального повторения. Отдельно отметьте, какие входные размеры и concurrency проверялись. Не распространяйте вывод на видео, audio или другую модель только из-за общей маркировки multimodal. После обновления SGLang повторите проверку поддержки и фактического пути. Практический артефакт показывает, какие компоненты реплицированы, какие разделены и где измеряется их работа. Это позволяет оценивать настройку без неверного предположения, что сумма GPU памяти автоматически образует единый доступный бюджет для любой стадии, и без выдуманных утверждений о линейном ускорении encoder при добавлении еще одного устройства.
Связанные материалы
GPU-хостинг для мультимодальных моделей: считайте не только текст; Qwen3-VL: как проверить VRAM на изображениях разной сложности.