Glossário

TensorRT

Optimiza os modelos de aprendizagem profunda com TensorRT para uma inferência mais rápida e eficiente nas GPUs NVIDIA . Obtém desempenho em tempo real com YOLO e aplicações de IA.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

TensorRT é um optimizador de inferência de Aprendizagem Profunda (DL) de alto desempenho e uma biblioteca de tempo de execução desenvolvida pela NVIDIA. Ele foi projetado especificamente para maximizar a taxa de transferência de inferência e minimizar a latência de inferência para aplicativos de deep learning em execução nas GPUsNVIDIA . TensorRT pega modelos de rede neural treinados de várias estruturas e aplica várias otimizações para gerar um mecanismo de tempo de execução altamente otimizado para implantação. Esse processo é crucial para implantar modelos de forma eficiente em ambientes de produção, especialmente onde a velocidade e a capacidade de resposta são críticas.

Principais caraterísticas e optimizações

TensorRT consegue melhorias significativas de desempenho através de várias técnicas sofisticadas:

  • Calibração de precisão: Reduz a precisão do modelo de FP32 para precisões mais baixas como FP16 ou INT8(precisão mista ou quantização do modelo) com perda mínima de precisão, levando a um cálculo mais rápido e menor uso de memória.
  • Fusão de camadas e Tensor : Combina várias camadas ou operações em um único kernel(Layer Fusion), reduzindo o uso da largura de banda da memória e a sobrecarga de inicialização do kernel.
  • Auto-ajuste do kernel: Seleciona os melhores algoritmos pré-implementados (kernels) para o alvo NVIDIA GPU garantindo o desempenho ideal para o hardware específico.
  • Memória dinâmica de Tensor : Minimiza o espaço de memória reutilizando a memória alocada para tensores cujo tempo de vida não se sobrepõe.
  • Execução de vários fluxos: Permite o processamento paralelo de vários fluxos de entrada.

Como funciona o TensorRT

O fluxo de trabalho envolve normalmente a obtenção de um modelo treinado (por exemplo, do PyTorch ou TensorFlowfrequentemente através de um formato intermédio como ONNX) e alimenta-o no optimizador TensorRT . TensorRT analisa o modelo, executa optimizações gráficas e optimizações específicas do alvo com base na precisão especificada e na GPU alvo e, finalmente, gera um plano de inferência optimizado, conhecido como um motor TensorRT . Este ficheiro de motor pode então ser implementado para uma inferência rápida.

Relevância em IA e ML

TensorRT é altamente relevante para a fase de implementação do modelo do ciclo de vida da aprendizagem automática. A sua capacidade de acelerar significativamente a inferência torna-o indispensável para aplicações que requerem inferência em tempo real, como a deteção de objectos com modelos como o Ultralytics YOLOsegmentação de imagens e processamento de linguagem natural. É um componente-chave na pilha de software NVIDIA , juntamente com ferramentas como CUDApermitindo aos programadores tirar partido de todo o potencial do hardware NVIDIA , desde as potentes GPUs de centros de dados até aos módulos NVIDIA Jetson energeticamente eficientes para IA Edge. Ultralytics fornece uma integração perfeita, permitindo aos utilizadores exportar modelos YOLO para o formato TensorRT para uma implementação optimizada, frequentemente utilizada com plataformas como o Triton Inference Server.

Aplicações no mundo real

TensorRT é amplamente utilizado em vários sectores onde é necessária uma inferência de IA rápida e eficiente:

  1. Veículos autónomos: Nos carros autónomos(IA no sector automóvel), TensorRT optimiza os modelos de perceção (como a deteção de objectos e a segmentação de faixas) executados em plataformas NVIDIA DRIVE incorporadas, garantindo a tomada de decisões em tempo real, crucial para a segurança. Modelos como o RTDETR podem ser optimizados utilizando TensorRT para implementação em tais sistemas(Comparação RTDETRv2 vs YOLOv5 ).
  2. Análise de imagens médicas: Os hospitais e as instituições de investigação utilizam TensorRT para acelerar a inferência de modelos de IA que analisam exames médicos (TAC, MRI) para tarefas como a deteção de tumores ou a identificação de anomalias(IA nos cuidados de saúde), permitindo diagnósticos mais rápidos e apoiando os fluxos de trabalho clínicos. Isto faz frequentemente parte de sistemas de Visão por Computador (CV) de maior dimensão.

TensorRT vs. Tecnologias relacionadas

Embora TensorRT se concentre na otimização da inferência especificamente para GPUs NVIDIA , existem outras ferramentas no ecossistema:

  • Estruturas de aprendizagem profunda (PyTorch, TensorFlow): São usadas principalmente para treinar modelos, mas também oferecem recursos básicos de inferência. TensorRT otimiza os modelos treinados nessas estruturas para implantação.
  • Tempo de execuçãoONNX : Um mecanismo de inferência multiplataforma que suporta vários aceleradores de hardware, incluindo GPUs NVIDIA (geralmente usando TensorRT como um provedor de execução), CPUs e outros. Oferece uma compatibilidade de hardware mais ampla, mas pode não atingir o mesmo nível de otimização no hardware NVIDIA que TensorRT diretamente.
  • Intel OpenVINO: Semelhante ao TensorRT , mas optimizado para hardware Intel (CPUs, iGPUs, VPUs). Os modelos Ultralytics também podem ser exportados para o formato OpenVINO .

O principal diferenciador do TensorRT é a sua profunda integração com o hardware NVIDIA e as suas estratégias de otimização agressivas adaptadas às GPUs, produzindo frequentemente os benchmarks de desempenho mais elevados (ver Benchmarks MLPerf) em plataformas NVIDIA , em comparação com tempos de execução mais gerais. A gestão de modelos e implementações pode ser simplificada utilizando plataformas como o Ultralytics HUB.

Lê tudo