Glossário

TensorRT

Otimize os modelos de deep learning com o TensorRT para uma inferência mais rápida e eficiente nas GPUs NVIDIA. Obtenha desempenho em tempo real com YOLO e aplicações de AI.

O TensorRT é um otimizador de inferência de aprendizado profundo de alto desempenho e uma biblioteca de tempo de execução da NVIDIA. Ela foi projetada especificamente para maximizar o desempenho de redes neurais (NN) treinadas em unidades de processamento gráfico (GPUs) da NVIDIA. Depois que um modelo é treinado usando uma estrutura como PyTorch ou TensorFlow, o TensorRT pega esse modelo e aplica várias otimizações para prepará-lo para implantação. O resultado é um mecanismo de tempo de execução altamente eficiente que pode reduzir significativamente a latência da inferência e melhorar a taxa de transferência, tornando-o ideal para aplicativos que exigem inferência em tempo real.

Como funciona o TensorRT

O TensorRT obtém os seus ganhos de desempenho através de um processo de otimização em várias etapas que transforma um modelo treinado padrão num motor de inferência simplificado. Este processo é amplamente automatizado e adaptado à arquitetura específica da GPU NVIDIA em que será implementado. As principais técnicas de otimização incluem:

  • Otimização de gráficos: O TensorRT analisa o modelo treinado e executa optimizações de gráficos, como a eliminação de camadas não utilizadas e a fusão de camadas verticalmente (combinando camadas sequenciais) e horizontalmente (combinando camadas paralelas). Isso reduz o número de operações e a sobrecarga de memória.
  • Calibração de precisão: Suporta inferência de precisão inferior, como precisão mista (FP16) e INT8. Ao converter os pesos do modelo de ponto flutuante de 32 bits (FP32) para precisões inferiores através da quantização do modelo, o TensorRT reduz drasticamente a utilização de memória e os requisitos computacionais com um impacto mínimo na precisão.
  • Auto-ajuste do kernel: O TensorRT seleciona a partir de uma vasta biblioteca de kernels de GPU optimizados para cada operação ou cria os seus próprios kernels especificamente ajustados para a GPU alvo. Isso garante que cada cálculo seja realizado da forma mais eficiente possível no hardware.
  • Otimização da memória do tensor: Optimiza a utilização da memória através da reutilização da memória para tensores ao longo da execução do modelo, reduzindo o espaço de memória e melhorando o desempenho.

Os modelos Ultralytics YOLO podem ser facilmente exportados para o formato TensorRT, permitindo que os programadores aproveitem estas optimizações para as suas aplicações de visão por computador (CV).

Aplicações no mundo real

O TensorRT é crucial para a implementação de IA de elevado desempenho em ambientes sensíveis ao tempo e com recursos limitados.

  1. Veículos autónomos: Nos veículos autónomos, os sistemas de perceção devem processar dados de câmaras e sensores em tempo real para detetar peões, outros veículos e obstáculos. Modelos como o Ultralytics YOLO11 otimizado com TensorRT podem realizar a deteção de objetos com latência extremamente baixa, o que é fundamental para a tomada de decisões de direção seguras.
  2. Fabrico inteligente: No chão de fábrica, a IA no fabrico é utilizada para o controlo de qualidade automatizado. Uma câmara capta imagens de produtos numa correia transportadora e um modelo de visão analisa-as para detetar defeitos. Ao utilizar o TensorRT, estes sistemas podem acompanhar o ritmo das linhas de produção de alta velocidade, identificando problemas instantaneamente e melhorando a eficiência geral.

TensorRT vs. Tecnologias relacionadas

Embora o TensorRT seja um poderoso motor de inferência, é importante compreender a sua diferença em relação a outras ferramentas do ecossistema de IA:

  • Estruturas de aprendizagem profunda: Frameworks como PyTorch e TensorFlow são principalmente para modelos de treinamento. Embora tenham seus próprios recursos de inferência, eles não são tão otimizados para implantação quanto um tempo de execução especializado como o TensorRT.
  • Tempo de execução ONNX: O formato Open Neural Network Exchange (ONNX) fornece uma maneira de representar modelos de forma interoperável. O ONNX Runtime pode executar modelos em várias plataformas de hardware, incluindo GPUs NVIDIA (onde ele pode usar o TensorRT como um provedor de execução). No entanto, a integração direta com o TensorRT produz frequentemente um melhor desempenho no hardware NVIDIA devido às suas optimizações específicas de hardware.
  • Intel OpenVINO: O OpenVINO é semelhante ao TensorRT, mas está optimizado para hardware Intel (CPUs, iGPUs, VPUs). Tem o mesmo objetivo de acelerar a inferência, mas está adaptado a um ecossistema de hardware diferente.

A principal vantagem do TensorRT é sua profunda integração com o ecossistema NVIDIA, de GPUs a bibliotecas CUDA, permitindo um desempenho incomparável para modelos implantados em plataformas NVIDIA, como frequentemente mostrado em benchmarks MLPerf. O gerenciamento da implantação de modelos pode ser ainda mais simplificado com plataformas MLOps como o Ultralytics HUB.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Ligue-se, colabore e cresça com inovadores globais

Aderir agora
Ligação copiada para a área de transferência