Ir para o conteúdo

Guia de Início Rápido: NVIDIA DGX Spark com Ultralytics YOLO26

Este guia abrangente oferece um passo a passo detalhado para a implantação de Ultralytics YOLO26 no NVIDIA DGX Spark, o supercomputador de IA de desktop compacto da NVIDIA. Além disso, ele apresenta benchmarks de desempenho para demonstrar as capacidades do YOLO26 neste sistema poderoso.

Visão geral da estação de trabalho NVIDIA Spark AI

Nota

Este guia foi testado com o NVIDIA DGX Spark Founders Edition executando o DGX OS baseado em Ubuntu. Espera-se que funcione com as últimas versões do DGX OS.

O que é o NVIDIA DGX Spark?

O NVIDIA DGX Spark é um supercomputador de IA de mesa compacto, alimentado pelo Superchip NVIDIA GB10 Grace Blackwell. Ele oferece até 1 petaFLOP de desempenho de computação de IA com precisão FP4, tornando-o ideal para desenvolvedores, pesquisadores e cientistas de dados que precisam de poderosas capacidades de IA em um formato de mesa.

Especificações Chave

EspecificaçãoDetalhes
Desempenho de IAAté 1 PFLOP (FP4)
GPUArquitetura NVIDIA Blackwell com Tensor Cores de 5ª Geração, RT Cores de 4ª Geração
CPUProcessador Arm de 20 núcleos (10 Cortex-X925 + 10 Cortex-A725)
Memória128 GB de memória unificada do sistema LPDDR5x, interface de 256 bits, 4266 MHz, largura de banda de 273 GB/s
Armazenamento1 TB ou 4 TB NVMe M.2 com autocriptografia
Rede1x RJ-45 (10 GbE), ConnectX-7 Smart NIC, Wi-Fi 7, Bluetooth 5.4
Conectividade4x USB Type-C, 1x HDMI 2.1a, áudio multicanal HDMI
Processamento de Vídeo1x NVENC, 1x NVDEC

DGX OS

NVIDIA DGX OS é uma distribuição Linux personalizada que fornece uma base de sistema operacional estável, testada e suportada para executar aplicações de IA, aprendizado de máquina e análise em sistemas DGX. Inclui:

  • Uma base Linux robusta otimizada para cargas de trabalho de IA
  • Drivers e configurações de sistema pré-configurados para hardware NVIDIA
  • Atualizações de segurança e recursos de manutenção do sistema
  • Compatibilidade com o ecossistema de software NVIDIA mais amplo

O DGX OS segue um cronograma de lançamento regular, com atualizações geralmente fornecidas duas vezes por ano (por volta de fevereiro e agosto), e patches de segurança adicionais fornecidos entre os lançamentos principais.

Painel DGX

O DGX Spark vem com um DGX Dashboard integrado que oferece:

  • Monitoramento do Sistema em Tempo Real: Visão geral das métricas operacionais atuais do sistema
  • Atualizações do Sistema: Capacidade de aplicar atualizações diretamente do painel
  • Configurações do Sistema: Alterar nome do dispositivo e outras configurações
  • JupyterLab Integrado: Acesso a Jupyter Notebooks locais para desenvolvimento

Interface do painel de gestão NVIDIA

Acessando o Painel

Clique no botão "Mostrar Aplicativos" no canto inferior esquerdo da área de trabalho do Ubuntu e, em seguida, selecione "DGX Dashboard" para abri-lo no seu navegador.

# Open an SSH tunnel
ssh -L 11000:localhost:11000 username@spark-abcd.local

# Then open in browser
# http://localhost:11000

Após conectar com NVIDIA Sync, clique no botão "DGX Dashboard" para abrir o painel em http://localhost:11000.

JupyterLab Integrado

O painel inclui uma instância integrada do JupyterLab que cria automaticamente um ambiente virtual e instala os pacotes recomendados ao ser iniciada. Cada conta de usuário recebe uma porta dedicada para acesso ao JupyterLab.

Início Rápido com Docker

A maneira mais rápida de começar com Ultralytics YOLO26 no NVIDIA DGX Spark é executar com imagens Docker pré-construídas. A mesma imagem Docker que suporta Jetson AGX Thor (JetPack 7.0) funciona no DGX Spark com DGX OS.

t=ultralytics/ultralytics:latest-nvidia-arm64
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia --gpus all $t

Após concluir esta etapa, prossiga para a seção Usar TensorRT no NVIDIA DGX Spark.

Comece com a Instalação Nativa

Para uma instalação nativa sem Docker, siga estas etapas.

Instalar Pacote Ultralytics

Aqui, instalaremos o pacote Ultralytics no DGX Spark com dependências opcionais para que possamos exportar os modelos PyTorch para outros formatos. Nos concentraremos principalmente nas exportações NVIDIA TensorRT, pois o TensorRT garantirá o máximo desempenho do DGX Spark.

  1. Atualize a lista de pacotes, instale o pip e atualize para a versão mais recente

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. Instalar ultralytics pacote pip com dependências opcionais

    pip install ultralytics[export]
    
  3. Reinicie o dispositivo

    sudo reboot
    

Instalar PyTorch e Torchvision

A instalação Ultralytics mencionada acima instalará o Torch e o Torchvision. No entanto, esses pacotes instalados via pip podem não estar totalmente otimizados para a arquitetura ARM64 do DGX Spark com CUDA 13. Portanto, recomendamos instalar as versões compatíveis com CUDA 13:

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130

Informação

Ao executar o PyTorch 2.9.1 no NVIDIA DGX Spark, você pode encontrar o seguinte UserWarning ao inicializar o CUDA (por exemplo, executando yolo checks, yolo predict, etc.):

UserWarning: Found GPU0 NVIDIA GB10 which is of cuda capability 12.1.
Minimum and Maximum cuda capability supported by this version of PyTorch is (8.0) - (12.0)

Este aviso pode ser ignorado com segurança. Para resolver isso permanentemente, uma correção foi enviada no PyTorch PR #164590, que será incluída na versão PyTorch 2.10.

Instalar onnxruntime-gpu

O onnxruntime-gpu pacote hospedado no PyPI não tem aarch64 binários para sistemas ARM64. Portanto, precisamos instalar este pacote manualmente. Este pacote é necessário para algumas das exportações.

Aqui vamos baixar e instalar onnxruntime-gpu 1.24.0 com Python3.12 suporte.

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whl

Usar TensorRT no NVIDIA DGX Spark

Entre todos os formatos de exportação de modelo suportados pela Ultralytics, o TensorRT oferece o maior desempenho de inferência no NVIDIA DGX Spark, tornando-o nossa principal recomendação para implantações. Para instruções de configuração e uso avançado, consulte nosso guia dedicado de integração do TensorRT.

Converter Modelo para TensorRT e Executar Inferência

O modelo YOLO26n no formato PyTorch é convertido para TensorRT para executar inferência com o modelo exportado.

Exemplo

from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Export the model to TensorRT
model.export(format="engine")  # creates 'yolo26n.engine'

# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to TensorRT format
yolo export model=yolo26n.pt format=engine # creates 'yolo26n.engine'

# Run inference with the exported model
yolo predict model=yolo26n.engine source='https://ultralytics.com/images/bus.jpg'

Nota

Visite a página de Exportação para acessar argumentos adicionais ao exportar modelos para diferentes formatos de modelo.

Benchmarks do NVIDIA DGX Spark YOLO11

Os benchmarks do YOLO11 foram executados pela equipe Ultralytics em vários formatos de modelo, medindo velocidade e precisão: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Os benchmarks foram executados no NVIDIA DGX Spark com precisão FP32 e tamanho de imagem de entrada padrão de 640.

Tabela de Comparação Detalhada

A tabela abaixo apresenta os resultados dos benchmarks para cinco modelos diferentes (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) em vários formatos, fornecendo o status, tamanho, métrica mAP50-95(B) e tempo de inferência para cada combinação.

Desempenho

FormatoStatusTamanho no disco (MB)mAP50-95(B)Tempo de inferência (ms/im)
PyTorch5.40.50712.67
TorchScript10.50.50832.62
ONNX10.20.50745.92
OpenVINO10.40.505814.95
TensorRT (FP32)12.80.50851.95
TensorRT (FP16)7.00.50681.01
TensorRT (INT8)18.60.48801.62
TF SavedModel25.70.507636.39
TF GraphDef10.30.507641.06
TF Lite10.30.507564.36
MNN10.10.507512.14
NCNN10.20.504112.31
ExecuTorch10.20.507527.61
FormatoStatusTamanho no disco (MB)mAP50-95(B)Tempo de inferência (ms/im)
PyTorch18.40.57675.38
TorchScript36.50.57815.48
ONNX36.30.57848.17
OpenVINO36.40.580927.12
TensorRT (FP32)39.80.57833.59
TensorRT (FP16)20.10.58001.85
TensorRT (INT8)17.50.56641.88
TF SavedModel90.80.578266.63
TF GraphDef36.30.578271.67
TF Lite36.30.5782187.36
MNN36.20.577527.05
NCNN36.20.580626.26
ExecuTorch36.20.578254.73
FormatoStatusTamanho no disco (MB)mAP50-95(B)Tempo de inferência (ms/im)
PyTorch38.80.625411.14
TorchScript77.30.630412.00
ONNX76.90.630413.83
OpenVINO77.10.628462.44
TensorRT (FP32)79.90.63056.96
TensorRT (FP16)40.60.63133.14
TensorRT (INT8)26.60.62043.30
TF SavedModel192.40.6306139.85
TF GraphDef76.90.6306146.76
TF Lite76.90.6306568.18
MNN76.80.630667.67
NCNN76.80.630860.49
ExecuTorch76.90.6306120.37
FormatoStatusTamanho no disco (MB)mAP50-95(B)Tempo de inferência (ms/im)
PyTorch49.00.636613.95
TorchScript97.60.639915.67
ONNX97.00.639916.62
OpenVINO97.30.637778.80
TensorRT (FP32)99.20.64078.86
TensorRT (FP16)50.80.63503.85
TensorRT (INT8)32.50.62244.52
TF SavedModel242.70.6409187.45
TF GraphDef97.00.6409193.92
TF Lite97.00.6409728.61
MNN96.90.636985.21
NCNN96.90.637377.62
ExecuTorch97.00.6409153.56
FormatoStatusTamanho no disco (MB)mAP50-95(B)Tempo de inferência (ms/im)
PyTorch109.30.699223.19
TorchScript218.10.690025.75
ONNX217.50.690027.43
OpenVINO217.80.6872149.44
TensorRT (FP32)222.70.690213.87
TensorRT (FP16)111.10.68836.19
TensorRT (INT8)62.90.67936.62
TF SavedModel543.90.6900335.10
TF GraphDef217.50.6900348.86
TF Lite217.50.69001578.66
MNN217.30.6874168.95
NCNN217.40.6901132.13
ExecuTorch217.40.6900297.17

Benchmark realizado com Ultralytics 8.3.249

Reproduzir Nossos Resultados

Para reproduzir os benchmarks Ultralytics acima em todos os formatos de exportação, execute este código:

Exemplo

from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
yolo benchmark model=yolo26n.pt data=coco128.yaml imgsz=640

Note que os resultados de benchmarking podem variar com base na configuração exata de hardware e software de um sistema, bem como na carga de trabalho atual do sistema no momento em que os benchmarks são executados. Para resultados mais confiáveis, utilize um conjunto de dados com um grande número de imagens, por exemplo, data='coco.yaml' (5000 imagens de validação).

Melhores Práticas para o NVIDIA DGX Spark

Ao usar o NVIDIA DGX Spark, há algumas boas práticas a seguir para permitir o desempenho máximo na execução do YOLO26.

  1. Monitorar o Desempenho do Sistema

    Use as ferramentas de monitoramento da NVIDIA para track a utilização da GPU e CPU:

    nvidia-smi
    
  2. Otimizar o Uso da Memória

    Com 128GB de memória unificada, o DGX Spark pode lidar com grandes tamanhos de lote e modelos. Considere aumentar o tamanho do lote para melhorar o throughput:

    from ultralytics import YOLO
    
    model = YOLO("yolo26n.engine")
    results = model.predict(source="path/to/images", batch=16)
    
  3. Use TensorRT com FP16 ou INT8

    Para o melhor desempenho, exporte modelos com precisão FP16 ou INT8:

    yolo export model=yolo26n.pt format=engine half=True # FP16
    yolo export model=yolo26n.pt format=engine int8=True # INT8
    

Atualizações do Sistema (Founders Edition)

Manter seu DGX Spark Founders Edition atualizado é crucial para o desempenho e a segurança. A NVIDIA oferece dois métodos principais para atualizar o sistema operacional, drivers e firmware.

O DGX Dashboard é a forma recomendada de realizar atualizações do sistema, garantindo compatibilidade. Ele permite que você:

  • Visualizar atualizações de sistema disponíveis
  • Instalar patches de segurança e atualizações de sistema
  • Gerenciar atualizações de driver e firmware da NVIDIA

Atualizações Manuais do Sistema

Para usuários avançados, as atualizações podem ser realizadas manualmente via terminal:

sudo apt update
sudo apt dist-upgrade
sudo fwupdmgr refresh
sudo fwupdmgr upgrade
sudo reboot

Aviso

Certifique-se de que seu sistema esteja conectado a uma fonte de alimentação estável e de que você tenha feito backup de dados críticos antes de realizar as atualizações.

Próximos Passos

Para mais aprendizado e suporte, consulte a Documentação do Ultralytics YOLO26.

FAQ

Como faço para implantar Ultralytics YOLO26 no NVIDIA DGX Spark?

A implantação de Ultralytics YOLO26 no NVIDIA DGX Spark é simples. Você pode usar a imagem Docker pré-construída para uma configuração rápida ou instalar manualmente os pacotes necessários. Etapas detalhadas para cada abordagem podem ser encontradas nas seções Início Rápido com Docker e Início com Instalação Nativa.

Que desempenho posso esperar do YOLO26 no NVIDIA DGX Spark?

Os modelos YOLO26 oferecem excelente desempenho no DGX Spark graças ao Superchip GB10 Grace Blackwell. O formato TensorRT proporciona o melhor desempenho de inferência. Consulte a seção Tabela de Comparação Detalhada para resultados de benchmark específicos em diferentes tamanhos e formatos de modelo.

Por que devo usar TensorRT para YOLO26 no DGX Spark?

O TensorRT é altamente recomendado para a implantação de modelos YOLO26 no DGX Spark devido ao seu desempenho ideal. Ele acelera a inferência ao aproveitar os recursos da GPU Blackwell, garantindo máxima eficiência e velocidade. Saiba mais na seção Usar TensorRT no NVIDIA DGX Spark.

Como o DGX Spark se compara aos dispositivos Jetson para YOLO26?

O DGX Spark oferece significativamente mais poder de computação do que os dispositivos Jetson, com até 1 PFLOP de desempenho de IA e 128GB de memória unificada, em comparação com os 2070 TFLOPS e 128GB de memória do Jetson AGX Thor. O DGX Spark é projetado como um supercomputador de IA de mesa, enquanto os dispositivos Jetson são sistemas embarcados otimizados para implantação em borda.

Posso usar a mesma imagem Docker para o DGX Spark e o Jetson AGX Thor?

Sim! A ultralytics/ultralytics:latest-nvidia-arm64 imagem Docker suporta tanto o NVIDIA DGX Spark (com DGX OS) quanto o Jetson AGX Thor (com JetPack 7.0), pois ambos utilizam arquitetura ARM64 com CUDA 13 e pilhas de software semelhantes.



📅 Criado há 21 dias ✏️ Atualizado há 9 dias
glenn-jocherlakshanthadonuralpszr

Comentários