• About
  • Privacy Policy
  • Disclaimer
  • Contact
TomorrowPosT
  • Home
  • Computers
    • Gaming
  • Gear
    • Apple
    • Mobile
  • Microsoft
    • Software & Apps
  • Review
    • Security
  • Tech for Business
  • Tech News
  • News
  • Termini e condizioni
No Result
View All Result
  • Home
  • Computers
    • Gaming
  • Gear
    • Apple
    • Mobile
  • Microsoft
    • Software & Apps
  • Review
    • Security
  • Tech for Business
  • Tech News
  • News
  • Termini e condizioni
No Result
View All Result
TomorrowPost
No Result
View All Result

Accelerare l’inferenza AI con tensort

Michele by Michele
11/05/2025
Home Software & Apps
Condividi su FacebookCondividi su WhatsappCondividi su Twitter


Introduzione

I modelli di apprendimento profondo possono essere computazionalmente costosi, soprattutto quando vengono distribuiti in scenari sensibili alla latenza come i veicoli autonomi. Avere una GPU potente non garantisce previsioni rapide se il tuo modello non è ottimizzato per l’inferenza. Questo è dove Nvidia tensorrt Entra in gioco, un SDK che perfeziona, quantizza e accelera i modelli di apprendimento profondo in modo che funzionino significativamente più velocemente.

Questo articolo fornisce una profonda panoramica tecnica della conversione Modelli Pytorch Tensorrt, coprendo gli strumenti, le configurazioni e le migliori pratiche. Esamineremo anche come Tensorrt ha ridotto la latenza di oltre il 70% in un sistema di guida autonomo.

Perché Tensorrt è importante

I quadri di apprendimento automatico come Pytorch o Tensorflow eccellono durante l’allenamento, ma le loro pipeline di inferenza predefinite potrebbero non essere ottimizzate. Tensorrt applica fusione del kernel, quantizzazione, parallelismo strato e altre ottimizzazioni su misura per le GPU NVIDIA. Questi miglioramenti possono ridurre significativamente il tempo di inferenza mantenendo l’accuratezza del modello.

Vantaggi chiave di Tensorrt:

  • Le operazioni fuse riducono le spese generali unendo strati come convoluzione e normalizzazione batch
  • La precisione mista (FP16 o INT8) può ridurre il tempo di calcolare senza un grande calo di precisione
  • Kernels ottimizzato i kernel gestiscono le operazioni in modo più efficiente del codice GPU generico

In breve, Tensorrt è progettato per far funzionare i modelli più velocemente sulle GPU di Nvidia.

Flusso di lavoro: da Pytorch a Tensorrt

Di seguito è riportata la procedura generale per la conversione di un modello Pytorch:

  • Esportare in Onnx: IL Open Neural Community Trade (ONNX) Il formato è ampiamente supportato e funge da rappresentazione intermedia.
  • Ottimizzare e costruire usando Tensorrt: Caricare il grafico ONNX, calibrare se necessario (per int8) e compilare un motore TENSORRT.
  • Integrare Il motore Tensorrt all’interno dell’applicazione (C ++ o Python).

Esportazione di un modello Pytorch in Onnx

Ecco un esempio semplificato usando un classificatore basato su Resnet:

import torch
from torchvision import fashions

mannequin = fashions.resnet50(pretrained=True)
mannequin.eval()

dummy_input = torch.randn(1, 3, 224, 224)

torch.onnx.export(
    mannequin,
    dummy_input,
    "resnet50.onnx",
    input_names=("enter"),
    output_names=("output"),
    opset_version=11
)

A questo punto, abbiamo un File onnx che può essere alimentato in tensort.

Costruire un motore Tensorrt

Ora possiamo usare l’API Python o C ++ di Tensorrt. Esploriamo la versione Python:

import tensorrt as trt

TRT_LOGGER = trt.Logger(trt.Logger.WARNING)

builder = trt.Builder(TRT_LOGGER)
community = builder.create_network(
    1 

Questo codice imposta un costruttore di tensorrt, analizza il grafico ONNX e abilita l’ottimizzazione FP16. In alternativa, puoi fare affidamento Calibrazione int8 Se si desidera un risultato ancora più veloce, tuttavia, ciò richiede un set di dati di calibrazione.

Integrazione del motore

Una volta che hai un serializzato .trt file, puoi incorporarlo in un’applicazione:

import pycuda.autoinit
import pycuda.driver as cuda

with open("resnet50.trt", "rb") as f:
    runtime = trt.Runtime(TRT_LOGGER)
    engine = runtime.deserialize_cuda_engine(f.learn())

context = engine.create_execution_context()
#Allocate reminiscence, run inference, course of output

Questo approccio è significativamente più rapido rispetto all’esecuzione del modello attraverso la pipeline di inferenza di Pytorch predefinita su una GPU.

Usando precisione mista e int8

Precisione mista (FP16)

La precisione mista prevede in genere lo stoccaggio di parametri del modello in FP16 mentre alcuni accumuli vengono eseguiti in maggiore precisione. Ciò riduce l’utilizzo della larghezza di banda della memoria e può aumentare la throughput.

builder.fp16_mode = True
builder.max_batch_size = 16
builder.max_workspace_size = 1 

L’abbiamo trovato Fp16 La modalità spesso riduce il tempo di inferenza di circa il 40 percento rispetto a FP32, con una perdita di precisione minima.

Calibrazione int8

Int8 può ridurre ulteriormente le spese generali di inferenza, ma è necessario un set di dati di calibrazione rappresentativa. Tensorrt analizzerà le gamme dinamiche di attivazioni intermedie, quindi mappe i valori a punto cell a numeri interi a 8 bit.

def calibration_stream(batch_size=8):
    for imgs, _ in calibration_loader:
        yield imgs.numpy()

calibrator = trt.IInt8EntropyCalibrator2(
    stream=calibration_stream,
    cache_file="calib.cache"
)

builder.int8_mode = True
builder.int8_calibrator = calibrator

Mentre FP16 è più semplice per abilitare INT8 può produrre accelerazioni più elevate se è possibile accettare la fase di calibrazione aggiuntiva.

Caso di studio: applicazione di guida autonoma

Una startup di guida autonoma ha utilizzato Tensorrt per distribuire un modello di rilevamento degli oggetti nei loro veicoli. I tempi di inferenza iniziali hanno funzionato circa 80 ms per body a 30 fps. Story sovraccarico è problematico poiché il modello deve funzionare frequentemente per il processo decisionale.

Prima di Tensorrt

  • Modello: Un’architettura personalizzata in stile yolo a Pytorch
  • GPU: Nvidia rtx 3090
  • Latenza: ~ 80 ms, portando a body mancati in determinati scenari advert alta velocità

Dopo Tensorrt

  • Processo: Esportazione in ONNX, abilita FP16, fusione di strato parziale
  • Latenza: ~ 24 ms (riduzione del 70 percento)
  • Affidabilità: Il software program del driver non ha più saltato i telai

Hanno lasciato cadere un sovraccarico di inferenza da 80 ms a meno di 25 ms, unendo più operazioni e utilizzando FP16.

Bilanciamento della velocità e della precisione

La precisione mista (e soprattutto INT8) può accelerare l’inferenza, ma è fondamentale valutare il calo dell’accuratezza. Consigliamo:

  • Raccogli un set di check in particolare per misurare piccoli cambiamenti nelle previsioni.
  • Confronta le metriche (Mappa per il rilevamento, F1 per la classificazione) su FP32, FP16 e INT8.
  • Regolare La tua strategia di quantizzazione o ri-tenerare determinati livelli se l’accuratezza è influenzata in modo troppo grave.

In molti casi, FP16 offre cambiamenti di precisione minimi. Int8 richiede spesso un po ‘più di cura.

Finest follow per una robusta pipeline di inferenza AI

  • Ridurre al minimo i trasferimenti di dati preplanendo i dati sulla GPU, se possibile. Ogni copia della G-GPU gonfia la latenza totale.
  • Usa forme dinamiche solo se essenziale. Tensorrt può gestire le dimensioni dinamiche di enter, ma può ridurre il potenziale di ottimizzazione.
  • Parallelizza I/O: Sovrappone il caricamento dei dati di enter con l’esecuzione del kernel.
  • Usa il profiler (sistemi TRTEXEC o NSIGHT) per identificare i colli di bottiglia.
  • Ricontrollare periodicamente I dati di calibrazione per i cambiamenti di distribuzione.

L’adesione a questi passaggi garantisce prestazioni a bassa latenza nella produzione.

Conclusione

Tensorrt perfeziona e accelera i modelli di apprendimento profondo applicando ottimizzazioni intelligenti come la fusione dell’operatore, la quantizzazione e la movimentazione della forma dinamica in modo specifico verso le GPU NVIDIA. Negli scenari critici di latenza, questi miglioramenti possono essere fondamentali, garantendo che i modelli rispondano abbastanza rapidamente per guidare sistemi autonomi o analisi sensibili al tempo. Combinando le esportazioni ONNX, le configurazioni del costruttore personalizzato e la precisione calibrata, Tensorrt consente un sostanziale guadagno di efficienza nei carichi di lavoro di inferenza. Se la tua pipeline AI si contende con la latenza advert alta latenza o le bottiglia di throughput, Tensorrt è il percorso pratico e advert alte prestazioni verso soluzioni più reattive e affidabili.

Tags: Accelerareconlinferenzatensort
Michele

Michele

Next Post

I giochi dovrebbero permetterti di saltare i combattimenti dei boss e altre opinioni di gioco

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Recommended.

Pagare di più per un iPhone con archiviazione further potrebbe perdere il suo appello

Pagare di più per un iPhone con archiviazione further potrebbe perdere il suo appello

30/01/2025
Courageous New World è disordinato, noioso e cattivo

Courageous New World è disordinato, noioso e cattivo

12/02/2025

Trending.

Sistemi distribuiti 101

Sistemi distribuiti 101

18/04/2025
Come spostare gli acquisti digitali tra due ID

iPhone 16 viene finalmente lanciato in Indonesia dopo un lungo divieto

14/04/2025
Pacchetti npm canaglia imitare l’API bot telegramma per piantare backoors ssh su sistemi Linux

Pacchetti npm canaglia imitare l’API bot telegramma per piantare backoors ssh su sistemi Linux

20/04/2025
Starcraft 2 hacker che costringono i giocatori a guardare video di tiro

Starcraft 2 hacker che costringono i giocatori a guardare video di tiro

23/04/2025
Distribuzione di piattaforme di intelligenza artificiale nell’istruzione superiore per risultati migliori

Distribuzione di piattaforme di intelligenza artificiale nell’istruzione superiore per risultati migliori

24/04/2025

TomorrowPost

Welcome to Tomorrow Post – your trusted source for the latest in computers, gaming, tech gear, Microsoft, software, cybersecurity, and much more! Our mission is simple: to provide technology enthusiasts, professionals, and business leaders with accurate, insightful, and up-to-date information that helps them navigate the ever-evolving world of technology.

Categorie

  • Apple
  • Computers
  • Gaming
  • Gear
  • Microsoft
  • Mobile
  • News
  • Review
  • Security
  • Software & Apps
  • Tech for Business
  • Tech News

Recent News

3 caratteristiche di carplay sottovalutate che tutti dovrebbero usare

3 caratteristiche di carplay sottovalutate che tutti dovrebbero usare

12/05/2025
Migliori cuscinetti perpleganti in spalla (2025), testati e recensiti cablati

Migliori cuscinetti perpleganti in spalla (2025), testati e recensiti cablati

12/05/2025
  • About
  • Privacy Policy
  • Disclaimer
  • Contact

© 2025- https://tomorrowpost.net- All Rights Reserved

No Result
View All Result
  • Home
  • Computers
    • Gaming
  • Gear
    • Apple
    • Mobile
  • Microsoft
    • Software & Apps
  • Review
    • Security
  • Tech for Business
  • Tech News
  • News
  • Termini e condizioni

© 2025- https://tomorrowpost.net- All Rights Reserved