TensorRT: a engine mais rápida só vence se passar no critério de precisão
O Global Performance Tuner amplia caminhos de construção. Avaliar o resultado exige medir a engine completa e limitar o custo da busca.
A NVIDIA apresentou o Global Performance Tuner, lançado no TensorRT 11.1, como uma forma de ampliar as rotas de construção de engines e buscar desempenho respeitando critérios de precisão.[16] A primeira parte da série discute por que modelos e GPUs diferentes tornam inadequada uma estratégia universal de compilação.[16]
Para quem opera inferência, a decisão útil não é ativar toda otimização disponível. É definir quais resultados continuam aceitáveis e quanto vale gastar para encontrar uma implementação mais rápida. Sem essas duas condições, tuning vira uma disputa de números sem contrato de qualidade.
O que muda para quem desenvolve
O artigo distingue gerar alternativas de buscar a melhor entre elas: uma busca excelente não encontra uma opção que o compilador não produziu.[16] O tuner amplia caminhos configuráveis, mede desempenho ponta a ponta e verifica saídas por um critério de precisão antes de selecionar o menor tempo observado entre candidatos admissíveis.[16]
Fusão, layouts, kernels, memória e quantização interagem; uma escolha mais rápida para uma operação isolada pode prejudicar a engine completa.[16] Minha análise: um benchmark local só deve orientar a decisão quando preserva o comportamento relevante do serviço. O ganho precisa sobreviver à combinação das operações e às entradas que a aplicação realmente recebe.
Como aplicar
Comece com um conjunto de validação e uma tolerância explícita. Separe entradas usadas para ajustar a configuração das usadas para conferir o resultado escolhido. Inclua casos difíceis para o domínio, não apenas exemplos pequenos que favoreçam a medição.
Fixe modelo, hardware-alvo e condições de benchmark. Mantenha uma configuração de referência e registre, por candidato, tempo de construção, latência, throughput, memória e resultado da validação numérica. Uma configuração que falha na precisão deve sair da comparação de desempenho, não receber uma nota de rodapé depois de vencer.
Defina também um orçamento para a busca. Estime quantas execuções o modelo terá e compare a economia esperada com o tempo e a infraestrutura gastos no tuning. Repita as medições mais promissoras para verificar se a diferença é estável, em vez de escolher o melhor valor isolado.
Cuidados e limites
Explorar mais combinações aumenta o custo de construção e medição; o texto trata estabilidade do benchmark e ruído como premissas importantes.[16] O ótimo ideal do modelo matemático não demonstra que a ferramenta prática sempre encontre o ótimo global.[16]
Esta parte da série é conceitual, deixando algoritmos e recomendações operacionais detalhadas para a continuação.[16] Portanto, não a transforme em uma receita de parâmetros que ela não forneceu. O princípio reaproveitável já é suficiente: precisão define quem pode competir, medição completa define quem vence e orçamento define quando parar de procurar.
Fonte
[16] Fonte: NVIDIA Technical Blog