Scopri come i motori di inferenza alimentano l'IA fornendo previsioni in tempo reale, ottimizzando i modelli e consentendo la distribuzione multipiattaforma.
Nel regno dell'intelligenza artificiale (AI) e dell'apprendimento automatico (ML), un motore di inferenza è un componente software o hardware cruciale responsabile dell'esecuzione di modelli addestrati per fare previsioni su nuovi dati non visti. Dopo che un modello ha appreso dei modelli durante la fase di addestramento, il motore di inferenza prende questo modello addestrato e lo applica agli input del mondo reale. Questo processo, noto come inferenza, consente ai sistemi di intelligenza artificiale di eseguire compiti come il rilevamento di oggetti, la classificazione di immagini o l'elaborazione del linguaggio naturale (NLP) nelle applicazioni pratiche. Si tratta essenzialmente del cuore operativo di un modello di intelligenza artificiale, che traduce in modo efficiente le conoscenze apprese in risultati utilizzabili.
Un motore di inferenza utilizza un modello pre-addestrato, spesso sviluppato utilizzando framework di deep learning (DL) come PyTorch o TensorFlowche racchiude le conoscenze necessarie per un compito specifico. Quando vengono forniti nuovi dati (ad esempio, un'immagine, un clip audio o una frase di testo) come input, il motore di inferenza li elabora attraverso la struttura computazionale del modello (spesso una rete neurale). Questo genera un output, come l'identificazione di oggetti con caselle di delimitazione in un'immagine, la trascrizione di un discorso o la classificazione di un sentimento. Ultralytics YOLO per esempio, dipendono da motori di inferenza efficienti per ottenere il rilevamento e la segmentazione degli oggetti in tempo reale su diverse piattaforme, dai potenti server cloud ai dispositivi edge con risorse limitate. Le prestazioni del motore di inferenza influiscono direttamente sulla velocità e sulla reattività dell'applicazione, spesso misurata in base alla latenza e al throughput dell'inferenza.
Un ruolo chiave dei moderni motori di inferenza è l'ottimizzazione. Eseguire direttamente un modello di deep learning addestrato di grandi dimensioni può essere computazionalmente costoso e lento. I motori di inferenza utilizzano varie tecniche per rendere i modelli più veloci ed efficienti, consentendo l'implementazione su hardware diversi. Le strategie comuni di ottimizzazione dei modelli includono:
Molti motori di inferenza supportano anche formati di modelli standardizzati come ONNX (Open Neural Network Exchange), che consente di addestrare i modelli in un framework (come ad esempio PyTorch) di essere eseguiti con un altro motore o piattaforma. I motori di inferenza più diffusi sono NVIDIA TensorRT, OpenVINO diIntel e TensorFlow Lite. I modelli di Ultralytics supportano l'esportazione in vari formati compatibili con questi motori, descritti in dettaglio nella guida alle opzioni di distribuzione dei modelli.
È importante distinguere i motori di inferenza dai framework di formazione.
I motori di inferenza sono fondamentali per l'impiego dell'IA in scenari pratici:
In sostanza, i motori di inferenza colmano il divario tra i modelli di IA addestrati e la loro applicazione pratica, assicurando che le sofisticate funzionalità di IA possano essere fornite in modo efficiente ed efficace su un'ampia gamma di dispositivi e piattaforme, compresa la gestione dei modelli tramite piattaforme come Ultralytics HUB.