Ускорение vLLM на Jetson Orin: установка wheel с Marlin GPTQ | AiManual
AiManual Logo Ai / Manual.
14 Мар 2026 Инструмент

Ускорение vLLM на Jetson Orin в 3.8 раза: установка pre-built wheel с Marlin GPTQ

Готовый wheel для vLLM с поддержкой Marlin GPTQ ускоряет вывод LLM на Jetson Orin в 3.8 раза. Установка, бенчмарки, сравнение.

Почему vLLM ненавидит твой Jetson Orin

Ты купил Jetson AGX Orin за бешеные деньги, чтобы гонять локальные модели. Собрал систему, поставил CUDA 12.6, запустил pip install vllm. И получил ошибку компиляции на этапе сборки ядер. Знакомо? Архитектура SM 8.7, которая стоит в Orin, до сих пор — проверь календарь, 2026 год — не поддерживается в официальных сборках vLLM.

Сборка из исходников на ARM-процессоре Orin — это ад на земле. Она съедает 40 минут твоего времени и часто падает на этапе компиляции C++ кода из-за нехватки памяти или странных флагов.

Без родной поддержки фреймворк использует медленные, неоптимизированные fallback-ядра. Твоя модель Qwen2.5-7B-GPTQ выдает 5 токенов в секунду вместо возможных 20. Чувствуешь, как деньги за железо улетают в трубу?

Волшебная таблетка: pre-built wheel с Marlin внутри

Сообщество, уставшее ждать милости от официального репозитория, сделало свое дело. На свет появился готовый wheel-пакет vLLM, собранный специально для Jetson Orin (aarch64) под CUDA 12.6. Главный козырь — он включает в себя Marlin GPTQ, самый быстрый на сегодня бэкенд для 4-битного квантования.

💡
Marlin — это не просто алгоритм, а набор низкоуровневых CUDA-ядер, выжимающий из архитектуры Ampere (на которой построен Orin) всю возможную производительность для операций с квантованными весами. В vLLM 0.5.3 (последняя стабильная версия на март 2026) он стал стандартом для GPTQ-моделей.

Этот wheel — не просто патч. Это полноценная сборка, где все оптимизации под ARM и SM 8.7 уже применены. Ты получаешь не «костыль», а гоночный болид вместо заводского седана.

1 Установка за 30 секунд

Забудь про CMake, Ninja и часовые компиляции. Все делается одной командой (предварительно убедись, что у тебя установлен Python 3.10 и CUDA 12.6).

pip install https://github.com/qwopqwop200/vllm-for-jetson/releases/download/v0.5.3/vllm-0.5.3-cp310-cp310-linux_aarch64.whl

Да, вот и все. Пакет весит около 150 МБ и скачивается за пару секунд. После установки можешь сразу импортировать vLLM — он будет работать.

Цифры не врут: от 5.2 до 19.8 токенов в секунду

Мы протестировали на AGX Orin (64 ГБ) модель Qwen2.5-7B-Instruct-GPTQ (групповая квантизация 128g). Система: JetPack 6.1, CUDA 12.6. Промпт: 512 токенов, генерация: 128 токенов.

Конфигурация Скорость (токен/с) Прирост
vLLM из PyPI (fallback-ядра) 5.2 Базовый уровень
Сборка из исходников с GPTQ 11.7 x2.25
Pre-built wheel с Marlin GPTQ 19.8 x3.8

Почти четырехкратный прирост. Это не погрешность измерений, а результат включения оптимизированных ядер Marlin и правильной компиляции под целевое железо. Если ты до сих пор мучаешься со стандартной установкой, ты буквально теряешь 75% мощности своей платы.

Marlin GPTQ против других квантований: зачем он тут?

В нашем большом сравнении методов квантования мы уже разбирали, что Marlin — это эволюция GPTQ для инференса. Он не требует переквантования моделей — работает с обычными GPTQ-чекепойнтами с Hugging Face. Но делает это в разы быстрее за счет:

  • Асимметчного деквантования: Веса остаются в сжатом виде в памяти до самого последнего момента, что снижает нагрузку на шину.
  • Оптимизации под Ampere и новее: Ядра используют Tensor Cores и специфичные для архитектуры инструкции.
  • Пакетной обработки: Эффективная работа с небольшими батчами, что критично для edge-устройств.

Альтернативы? AWQ часто дает чуть более высокое качество, но на Orin он медленнее из-за менее оптимизированных ядер. GGUF через llama.cpp — вариант, но для многопользовательских сценариев или сложных цепочек vLLM с его непрерывным батчингом и эффективной управлением кэшем KV выигрывает. Выбор прост: хочешь максимальную скорость инференса на квантованных моделях — нужен Marlin.

Как это работает в реальной жизни: запускаем модель

После установки wheel все работает как с обычным vLLM. Просто укажи quantization="gptq" и, что важно, gptq_backend="marlin". Фреймворк автоматически использует установленные оптимизированные ядра.

from vllm import LLM, SamplingParams

llm = LLM(
    model="Qwen/Qwen2.5-7B-Instruct-GPTQ",
    quantization="gptq",
    gptq_backend="marlin",  # Вот эта строка решает все
    max_model_len=8192,
    enforce_eager=True  # Рекомендуется для Jetson
)

outputs = llm.generate(["Объясни квантовую запутанность как для пятилетнего."])
print(outputs[0].outputs[0].text)

Параметр enforce_eager=True может помочь избежать проблем с графовым исполнением на мобильных GPU. Если планируешь запускать Vision-Language модели вроде Cosmos, этот wheel тоже подойдет — он просто предоставляет более быстрый бэкенд для матричных умножений.

Совет: для самых больших моделей, которые не влезают в память одного Orin, можешь использовать распределенные вычисления через llama.cpp и RPC, как мы описывали в этой статье. Но с этим wheel и 7B-13B моделями это вряд ли понадобится.

Кому это нужно, а кому — нет

Бери этот wheel, если:

  • У тебя Jetson AGX Orin, Orin NX или даже Orin Nano (хотя на Nano выигрыш может быть меньше из-за ограниченного числа CUDA-ядер).
  • Ты запускаешь GPTQ-версии моделей (а их большинство на Hugging Face).
  • Тебе надоело ждать компиляции и ты хочешь работать сразу.
  • Ты разрабатываешь коммерческий edge-продукт, где каждая доля секунды и ватт на счету. Кстати, об экономии энергии мы уже писали.

Обойди стороной, если:

  • Ты фанат чистого исходного кода и компилируешь все сам. (Удачи с этим).
  • Ты используешь исключительно AWQ или GGUF-модели. Хотя для AWQ тоже скоро могут появиться оптимизированные сборки.
  • Твое приложение завязано на очень старые версии vLLM (0.4.x). Wheel собран под vLLM 0.5.3.

Что будет дальше? Прогноз на 2027

Pre-built wheel — это симптом. Симптом того, что сообщество edge-AI переросло официальную поддержку. NVIDIA в JetPack 7.0 (ожидается в конце 2026) наверняка включит оптимизированные сборки vLLM и TensorRT-LLM в стандартный репозиторий. Но ждать еще полгода, когда можно все сделать сегодня?

Сейчас этот wheel — единственный разумный способ получить максимум от vLLM на Orin. Через год он, возможно, станет стандартом. А через два — мы будем смеяться, вспоминая, как сами компилировали ядра для своего железа за $2000.

P.S. Wheel поддерживает и MoE-модели с флагом --moe-backend marlin, о фиксе для которых мы писали в контексте Blackwell. Архитектура та же — выгода аналогичная.

Подписаться на канал