Обновить

Что значит развернуть LLM локально: два дня с vLLM, DGX Spark и настоящими ограничениями

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели9.5K
Всего голосов 7: ↑7 и ↓0+8
Комментарии7

Комментарии 7

Вопрос: Если уж DGX Spark, то почему vLLM, а не родные NIM контейнеры, где все супероптимизировано именно для этого железа?

vLLM — наш стандартный стек, уже интегрированный с платформой. Мне и так пришлось адаптировать существующую схему под ARM64, поэтому на полноценное сравнение с NIM в рамках пилота ресурсов уже не хватило. Но тейк хороший, спасибо — NIM определённо стоит проверить на тех же сценариях и замерах.

Хороший вариант, спасибо — добавил в кандидаты на следующий прогон. В этом пилоте FP8 взял как исходную консервативную конфигурацию, основной задачей были ARM64-развёртывание, интеграция и проверка контекста 256K.

7,48–7,95 токена/с в статье — не финальный результат, а отдельная серия до настройки MTP. С MTP3 получили 15 токенов/с. Это всё равно явно не предел SM121, но конфигурация подбиралась под длинный контекст и рабочий сервис, а не под максимальный синтетический throughput.

QUASAR-NVFP4 выглядит перспективно: модель занимает 19,7 ГБ и заявляет близкое к BF16 качество, но сопоставимого замера на DGX Spark в карточке нет. Так что да — надо прогнать обе версии на одинаковых prompt, контексте и параметрах vLLM.

Вопрос: какой у Вас образ vllm, случайно не spark-arena/dgx-vllm-eugr? Или Вы ставили vllm прямо на хост? Я гоняю qwen3.6 в FP8, в целом норм, но так то скорости конечно хочется побольше. @thetrues0l - спасибо за наводку про QUASAR, тоже буду пробовать, есть мнение что не хуже FP8, зато скорость выше.
И про ASR, я выбирал между qwen и whisper, по итогу выбрал второго, там есть встроенный функционал для разбора потока на спикеров, очень удобно для обработки бесед или совещаний.

Нет, не spark-arena: обе модели запущены через Docker Compose на официальном vllm/vllm-openai:0.28.0, образ закреплён по digest. Непосредственно на хост vLLM не ставили.

QUASAR я тоже записал в следующие эксперименты. Кстати, 7,48 → 7,95 токена/с в статье — отдельный замер эффекта CUDA graphs. После включения MTP3 основная модель дошла до 15 токенов/с. Но и это, думаю, не предел для данного железа.

По ASR согласен: разделение по говорящим для встреч очень полезно. В нашем пилоте diarization не входила в приёмку, поэтому я её честно оставил среди непроверенных возможностей. А какой именно стек с Whisper вы используете — WhisperX с pyannote или другую реализацию? Насколько понимаю, у базового Whisper diarization всё-таки нет, обычно её добавляет обвязка.

Да, именно так, WhisperX+pyannote. Начинал с обычного asr, потом просто добавил новый функционал в код, теперь можно выбирать режим работы. Работает шустро (на Ada 2000 8Гб)
QUASAR-версию qwen3.8 я развернул, на том же образе vllm (мой 0.26.1rc1), попробую и Ваш вариант 0.28 тоже. Полет нормальный, профит по скорости заметен, буду понемногу тестить. Пока отметил что по-другому работает MTP, драфтит кучу токенов и забирает из них по 80-100. Ну и квантование (это 4-бит) тоже играет свою роль - меньше трафик через память, выше скорость. У меня qwen3.8 уже три штуки набралось: fp8, quasar и обычный nvfp4 (работает из SGLang). И можно еще попробовать Dflash2 прикрутить (вот тут об этом пишут) - тоже MTP-бустер

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации