Guia prático: deploy de VLM open-source no NVIDIA Jetson com vLLM + Live WebUI
Se você quer rodar um Vision-Language Model (VLM) na borda (edge) — com GPU, câmera e uma interface web pra testar em tempo real — este passo a passo é uma rota bem objetiva usando NVIDIA Jetson + vLLM + Live VLM WebUI. A base é o tutorial oficial publicado no blog da Hugging Face em parceria com a NVIDIA (link no fim).
O que você vai conseguir ao final
- Baixar o checkpoint FP8 do NVIDIA Cosmos Reasoning 2B via NGC
- Subir um endpoint estilo OpenAI em
http://localhost:8000/v1com vLLM - Conectar a webcam ao Live VLM WebUI e testar em tempo real
Pré-requisitos (sem isso dá dor de cabeça)
- Jetson compatível: AGX Thor / AGX Orin / Orin Super Nano
- JetPack: 6 (Orin) ou 7 (Thor)
- NVMe SSD: ~5 GB (pesos) + ~8 GB (imagem do container vLLM)
- Conta NGC (grátis) pra baixar modelo e/ou container
Passo a passo (resumo fiel + com atalhos práticos)
1) Instale e configure o NGC CLI
Crie um diretório de trabalho e instale o NGC CLI (ARM64). Depois, rode ngc config set e informe sua API Key.
mkdir -p ~/Projects/CosmosReasoning
cd ~/Projects/CosmosReasoning
# baixe o instalador arm64 (veja o link mais recente no site da NVIDIA, se necessário)
wget -O ngccli_arm64.zip https://api.ngc.nvidia.com/v2/resources/nvidia/ngc-apps/ngc_cli/versions/4.13.0/files/ngccli_arm64.zip
unzip ngccli_arm64.zip
chmod u+x ngc-cli/ngc
export PATH="$PATH:$(pwd)/ngc-cli"
ngc config set
2) Baixe o modelo (FP8) via NGC
cd ~/Projects/CosmosReasoning
ngc registry model download-version "nim/nvidia/cosmos-reason2-2b:1208-fp8-static-kv8"
Guarde o caminho completo gerado (ele vai ser montado no container como volume).
3) Baixe a imagem do vLLM apropriada pro seu Jetson
Thor:
docker pull nvcr.io/nvidia/vllm:26.01-py3
AGX Orin / Orin Super Nano:
docker pull ghcr.io/nvidia-ai-iot/vllm:r36.4-tegra-aarch64-cu126-22.04
4) Suba o servidor vLLM (endpoint em 8000)
No host, defina o caminho do modelo e libere cache (ajuda quando você está no limite de memória):
MODEL_PATH="$HOME/Projects/CosmosReasoning/cosmos-reason2-2b_v1208-fp8-static-kv8"
sudo sysctl -w vm.drop_caches=3
Rode o container e, dentro dele, sirva o modelo.
Config “confortável” (Thor / AGX Orin)
vllm serve /models/cosmos-reason2-2b \
--max-model-len 8192 \
--media-io-kwargs '{"video": {"num_frames": -1}}' \
--reasoning-parser qwen3 \
--gpu-memory-utilization 0.8
Espere aparecer algo como: Uvicorn running on http://0.0.0.0:8000
Config “apertada” (Orin Super Nano)
Esse é o ponto que mais derruba gente: aqui o modelo precisa de limites agressivos (contexto curto, 1 request por vez, etc.).
vllm serve /models/cosmos-reason2-2b \
--host 0.0.0.0 \
--port 8000 \
--trust-remote-code \
--enforce-eager \
--max-model-len 256 \
--max-num-batched-tokens 256 \
--gpu-memory-utilization 0.65 \
--max-num-seqs 1 \
--enable-chunked-prefill \
--limit-mm-per-prompt '{"image":1,"video":1}' \
--mm-processor-kwargs '{"num_frames":2,"max_pixels":150528}'
5) Verifique se o endpoint está vivo
Antes de plugar UI/câmera, confirme que o servidor está respondendo:
curl http://localhost:8000/v1/models
6) Conecte o Live VLM WebUI (webcam → VLM)
Suba a interface e configure o API Base URL como http://localhost:8000/v1, refresque os modelos e selecione o Cosmos Reasoning 2B.
3 insights práticos (o que realmente muda seu resultado)
- Separe “subir o modelo” de “usar com câmera”. Primeiro confirme
/v1/modelse um teste de chat; só depois pluga a WebUI. Isso reduz muito o tempo de debug. - No Orin Super Nano, o limite não é “o modelo”, é a memória. Se travar/der OOM, reduza
--gpu-memory-utilization(ex.: 0.55), corte--max-model-len(ex.: 128) e mantenha--max-num-seqs 1. - Para “tempo real” de verdade, ajuste a WebUI. No Orin, use respostas curtas (max tokens ~100–150) e aumente o intervalo de frames (60+). Menos é mais.
Pergunta: você usaria um VLM rodando no Jetson pra quê primeiro — monitoramento, automação em loja/fábrica, robótica ou algo 100% diferente?
![FRI – Ficando Rico Com [IA]](https://ficandoricocomia.com/wp-content/uploads/2025/10/cropped-fri2.png)
Deixe um comentário