Ir para o conteúdo

Guia de início rápido: NVIDIA Spark com Ultralytics YOLO11

Este guia completo fornece instruções detalhadas para a implementação Ultralytics YOLO11 NVIDIA Spark, o supercomputador de IA compacto para desktop NVIDIA. Além disso, ele apresenta benchmarks de desempenho para demonstrar os recursos do YOLO11 poderoso sistema.

NVIDIA Spark

Nota

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

O que é NVIDIA Spark?

NVIDIA Spark é um supercomputador de IA compacto para desktop equipado com o superchip NVIDIA Grace Blackwell. Ele oferece até 1 petaFLOP de desempenho de computação de IA com precisão FP4, tornando-o ideal para programadores, investigadores e cientistas de dados que precisam de recursos poderosos de IA em um formato de desktop.

Especificações principais

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

Sistema operativo DGX

NVIDIA OS é uma distribuição Linux personalizada que fornece uma base de sistema operacional estável, testada e com suporte 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
  • Controladores pré-configurados e definições do sistema para NVIDIA
  • Atualizações de segurança e recursos de manutenção do sistema
  • Compatibilidade com o ecossistema NVIDIA mais amplo NVIDIA

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

Painel DGX

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

  • Monitorização 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 a partir do painel de controlo
  • Configurações do sistema: alterar o nome do dispositivo e outras configurações
  • JupyterLab integrado: aceda aos Jupyter Notebooks locais para desenvolvimento

Painel NVIDIA

Aceder ao Painel de Controlo

Clique no botão «Mostrar aplicações» no canto inferior esquerdo do ambiente de trabalho do Ubuntu e selecione «DGX Dashboard» para abri-lo no seu navegador.

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

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

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

JupyterLab integrado

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

Início Rápido com Docker

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

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

Depois de fazer isso, avance para a secção Usar TensorRT NVIDIA Spark.

Comece com a Instalação Nativa

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

Instalar Pacote Ultralytics

Aqui, instalaremos Ultralytics no DGX Spark com dependências opcionais para que possamos exportar o PyTorch para outros formatos diferentes. Vamos nos concentrar principalmente nas TensorRT NVIDIA TensorRT , pois TensorRT que possamos obter 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

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

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

Informação

Ao executar PyTorch .9. PyTorch no NVIDIA Spark, poderá encontrar o seguinte UserWarning ao inicializar 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 de forma permanente, uma correção foi enviada no PyTorch #164590, que será incluída na versão PyTorch . PyTorch .

Instalar onnxruntime-gpu

O onnxruntime-gpu pacote hospedado no PyPI não tem aarch64 binários para sistemas ARM64. Por isso, precisamos instalar manualmente este pacote. 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

Use o TensorRT NVIDIA Spark

Entre todos os formatos de exportação de modelos suportados pelo Ultralytics, TensorRT o melhor desempenho de inferência no NVIDIA Spark, tornando-o a nossa principal recomendação para implementações. Para obter instruções de configuração e uso avançado, consulte o nosso guia TensorRT dedicado TensorRT .

Converter Modelo para TensorRT e Executar Inferência

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

Exemplo

from ultralytics import YOLO

# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

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

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

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

# Run inference with the exported model
yolo predict model=yolo11n.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.

YOLO11 NVIDIA Spark YOLO11

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

Tabela de Comparação Detalhada

A tabela abaixo representa os resultados de benchmark para cinco modelos diferentes (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) em vários formatos, fornecendo o status, tamanho, métrica mAP50(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

Avaliação comparativa com Ultralytics .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 YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

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

Observe que os resultados dos benchmarks podem variar de acordo com a configuração exata de hardware e software de um sistema, bem como com a carga de trabalho atual do sistema no momento em que os benchmarks são executados. Para obter resultados mais confiáveis, use 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 NVIDIA Spark

Ao utilizar NVIDIA Spark, existem algumas práticas recomendadas a seguir para permitir o máximo desempenho ao executar YOLO11.

  1. Monitorizar o desempenho do sistema

    Use as ferramentas de monitoramento NVIDIA para track CPU GPU CPU :

    nvidia-smi
    
  2. Otimizar a utilização da memória

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

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

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

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

Atualizações do sistema (Edição Fundadores)

Manter o seu DGX Spark Founders Edition atualizado é fundamental para o desempenho e a segurança. NVIDIA dois métodos principais para atualizar o sistema operacional, os controladores e o firmware do sistema.

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

  • Ver atualizações disponíveis do sistema
  • Instale patches de segurança e atualizações do sistema
  • Gerir atualizações de NVIDIA e firmware NVIDIA

Atualizações manuais do sistema

Para utilizadores avançados, as atualizações podem ser realizadas manualmente através do terminal:

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

Aviso

Certifique-se de que o seu sistema está ligado a uma fonte de alimentação estável e que fez cópias de segurança dos dados críticos antes de realizar atualizações.

Próximos Passos

Para mais informações e suporte, consulte a YOLO11 Ultralytics YOLO11 .

FAQ

Como posso implementar Ultralytics YOLO11 NVIDIA Spark?

A implementação Ultralytics YOLO11 NVIDIA Spark é simples. Pode usar a imagem Docker pré-construída para uma configuração rápida ou instalar manualmente os pacotes necessários. As etapas detalhadas para cada abordagem podem ser encontradas nas secções Início rápido com Docker e Início com instalação nativa.

Que desempenho posso esperar do YOLO11 NVIDIA Spark?

YOLO11 oferecem excelente desempenho no DGX Spark graças ao superchip GB10 Grace Blackwell. O TensorRT oferece o melhor desempenho de inferência. Consulte a secção Tabela comparativa detalhada para obter resultados específicos de benchmark em diferentes tamanhos e formatos de modelo.

Por que devo usar TensorRT YOLO11 DGX Spark?

TensorRT altamente recomendado para a implementação YOLO11 no DGX Spark devido ao seu desempenho ideal. Ele acelera a inferência aproveitando os GPU Blackwell, garantindo eficiência e velocidade máximas. Saiba mais na secção Usar TensorRT NVIDIA Spark.

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

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

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

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



📅 Criado há 0 dias ✏️ Atualizado há 0 dias
onuralpszr

Comentários