Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

IA local em C++: NVIDIA apresenta exemplos com TensorRT RTX

IA local em C++: NVIDIA apresenta exemplos com TensorRT RTX
A NVIDIA apresentou o DIN Deploy, uma coleção de exemplos em C++ que combina ONNX Runtime e TensorRT RTX para executar modelos de IA localmente em Windows e Linux.

Índice

Tempo de leitura: 5 minutos

Olá, é um prazer inenarrável estar mais uma vez escrevendo este post.

Executar modelos de inteligência artificial diretamente no computador parece simples até o momento em que surgem as decisões de formato, runtime, aceleração e compatibilidade. É nesse ponto que a NVIDIA apresenta o DIN Deploy, uma coleção de exemplos em C++ para criar aplicações de IA local em C++ usando ONNX Runtime e o provedor de execução NVIDIA TensorRT RTX.

A proposta é separar a conversão do modelo da lógica da aplicação. Na prática, o desenvolvedor pode exportar um checkpoint para ONNX com Python e depois usar uma aplicação nativa em C++ para executar a inferência no Windows ou no Linux. Essa divisão evita que cada projeto precise começar do zero, mas os resultados dependem do hardware e da configuração utilizada.

Como a IA local em C++ separa o modelo da aplicação

Os exemplos do DIN Deploy começam com um exportador em Python. Ele baixa um checkpoint do Hugging Face e o converte em um artefato no formato ONNX. Depois, a etapa de implantação fica a cargo de uma aplicação de linha de comando escrita em C++ e baseada nas APIs de sessão e tensores do ONNX Runtime.

Essa arquitetura funciona como uma ponte entre pesquisa e produto. O modelo pode ser substituído sem que toda a aplicação precise ser reescrita, enquanto o código compartilhado permanece baseado em APIs do ONNX Runtime. Recursos específicos de fornecedores, como APIs e kernels CUDA, aparecem apenas nos caminhos opcionais de aceleração.

O repositório também inclui predefinições do CMake para Windows, Linux, x86-64 e Arm64. O DirectX é utilizado apenas no Windows, enquanto o exemplo de geração de imagens combina recursos gráficos com Vulkan e DirectX para trabalhar com dados residentes na GPU.

O que a IA local em C++ consegue executar nos exemplos

A coleção cobre tarefas diferentes, o que ajuda a mostrar que a ideia não está limitada a um único tipo de modelo. Nos exemplos de reconhecimento automático de fala, o projeto inclui o OpenAI Whisper para transcrição offline, além do NVIDIA Parakeet TDT e do NVIDIA Nemotron ASR Streaming para fluxos de transcrição em tempo real.

Esse tema também se conecta ao ajuste fino do Nemotron, embora o foco do DIN Deploy seja a implantação local e não a adaptação do modelo a novos dialetos.

Na visão computacional, os exemplos com Meta SAM 2.1 permitem criar máscaras interativas para imagens e vídeos. Esse tipo de saída pode ser usado em seleção de objetos, rastreamento e outros fluxos em que a aplicação precisa transformar a previsão do modelo em uma interação visual.

Há ainda um exemplo com FLUX.2-klein-4B para geração de imagens a partir de comandos. Ele demonstra a integração com APIs gráficas e também o uso de quantização pós-treinamento por meio do NVIDIA Model Optimizer. Segundo a NVIDIA, o modelo quantizado mantém as interfaces ONNX e pode funcionar como substituto sem exigir mudanças no código da aplicação.

Desempenho informado para a IA local em C++

As medições divulgadas foram realizadas em um sistema DGX Spark e devem ser interpretadas como referências do ambiente testado, não como uma garantia para qualquer computador. Nos fluxos de áudio, os resultados são apresentados como múltiplos do tempo real: quanto maior o número, mais rapidamente o sistema processa o áudio em relação à sua duração.

Entre os números publicados pela NVIDIA estão 58,5 vezes o tempo real para o Whisper large-v3-turbo, 39,01 vezes para o Nemotron ASR Streaming e 206,41 vezes para o Parakeet TDT usando GPU. No caso do SAM 2.1, o exemplo alcançou 38,3 quadros por segundo na GPU, contra 0,5 quadro por segundo na CPU do mesmo sistema de referência.

Esses números ajudam a explicar por que a aceleração de hardware é importante para aplicações locais. Uma aplicação de transcrição, segmentação ou geração de imagens pode até funcionar sem GPU, mas a diferença de velocidade pode mudar completamente a experiência de uso. Ainda assim, desempenho não é o único critério: consumo de memória, compatibilidade, precisão e tempo de inicialização também entram na conta.

Como começar a usar IA local em C++ com o DIN Deploy

O caminho sugerido pela NVIDIA começa pelo repositório do DIN Deploy e pelas predefinições do CMake. Depois de configurar e compilar o projeto, o desenvolvedor exporta um modelo para ONNX e executa a aplicação com o provedor TensorRT RTX. O código dos exemplos também pode servir como base para uma aplicação própria.

O CMake baixa o ONNX Runtime e o TensorRT RTX por padrão, o que reduz parte do trabalho inicial de configuração. Mesmo assim, o processo ainda exige atenção às versões das dependências, ao sistema operacional, à arquitetura do processador e à GPU disponível.

O ponto mais interessante é que os exemplos não tratam a inferência como uma caixa-preta isolada. Eles mostram o caminho completo entre o checkpoint, o modelo exportado e o programa nativo. Para quem pretende desenvolver IA local em C++, essa visão é mais útil do que simplesmente receber um benchmark: ela revela como as peças se encaixam.

O que a IA local em C++ mostra sobre o futuro da inferência

A iniciativa da NVIDIA aponta para uma tendência clara: cada vez mais aplicações de IA precisarão executar parte do processamento perto do usuário, sem depender exclusivamente de um serviço remoto. Isso pode reduzir latência, facilitar o uso offline e permitir maior controle sobre dados, embora também transfira para o desenvolvedor a responsabilidade por instalação, otimização e compatibilidade.

A pergunta levantada no início, portanto, não é apenas se é possível rodar modelos localmente. É como transformar essa possibilidade em uma aplicação que seja rápida, portátil e fácil de manter. O DIN Deploy tenta responder a essa questão com exemplos práticos, usando ONNX como formato intermediário, C++ na camada de aplicação e TensorRT RTX na aceleração para GPUs RTX.

Para quem trabalha com visão computacional, voz ou geração de imagens, o material funciona como um ponto de partida técnico. A IA local em C++ não elimina a complexidade do desenvolvimento, mas oferece uma estrutura mais concreta para sair do modelo experimental e chegar a um software nativo.

Fontes


CONTINUE NO PLANKSNET


NVIDIA ensina robôs a montar hardware de IA e revela limites da automação
8 min de leitura
A NVIDIA mostrou como treina robôs para montar bandejas de teste do GB300, combinando visão computacional, controle clássico, aprendizado por reforço e peças mecânicas impressas em 3D.
GPT-6 chega ao ChatGPT com interfaces inteligentes e respostas interativas
7 min de leitura
A OpenAI anunciou o GPT-6 no ChatGPT com Intelligent UI, recurso que combina texto, gráficos, formulários e experiências interativas para adaptar as respostas às tarefas dos usuários.

RECENTES

NVIDIA usa gêmeos digitais para validar mudanças em fábricas de IA
A NVIDIA apresentou uma abordagem que combina o DSX Air, o Brev e agentes de IA para testar configurações e integrações de fábricas de IA antes da implantação física.
NVIDIA cuOpt mPDLP leva a otimização linear a mais de 100 milhões de variáveis
A NVIDIA apresentou o cuOpt mPDLP, método multi-GPU que distribui problemas de programação linear com mais de 100 milhões de variáveis e reduz a pressão sobre memória e tempo de processamento.

LEIS MAIS

NVIDIA ensina robôs a montar hardware de IA e revela limites da automação
A NVIDIA mostrou como treina robôs para montar bandejas de teste do GB300, combinando visão computacional, controle clássico, aprendizado por reforço e peças mecânicas impressas em 3D.
NVIDIA cuOpt mPDLP leva a otimização linear a mais de 100 milhões de variáveis
A NVIDIA apresentou o cuOpt mPDLP, método multi-GPU que distribui problemas de programação linear com mais de 100 milhões de variáveis e reduz a pressão sobre memória e tempo de processamento.