Glossario

Motore di inferenza

Scopri come i motori di inferenza alimentano l'IA fornendo previsioni in tempo reale, ottimizzando i modelli e consentendo la distribuzione multipiattaforma.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

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.

Come funzionano i motori di inferenza

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.

Ottimizzazioni e caratteristiche principali

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:

  • Quantizzazione del modello: Riduzione della precisione dei pesi del modello (ad esempio, da 32 bit in virgola mobile a 8 bit interi) per ridurre le dimensioni del modello e velocizzare il calcolo, spesso con un impatto minimo sulla precisione.
  • Model Pruning: Rimuovere le connessioni (pesi) ridondanti o non importanti all'interno della rete neurale per creare un modello più piccolo e veloce.
  • Ottimizzazione del grafico: Fondere i livelli o riorganizzare le operazioni nel grafo computazionale del modello per migliorare l'efficienza di esecuzione su un hardware specifico.
  • Accelerazione hardware: Sfruttare processori specializzati come le GPU, le TPU o gli acceleratori AI dedicati presenti su dispositivi come Google Edge TPU o NVIDIA Jetson.

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.

Motore di inferenza vs. struttura di formazione

È importante distinguere i motori di inferenza dai framework di formazione.

  • Framework di formazione (es, PyTorch, TensorFlowKeras): Si tratta di librerie complete utilizzate per costruire, addestrare e validare modelli di apprendimento automatico. Forniscono strumenti per definire le architetture di rete, implementare la retropropagazione, gestire i dataset e calcolare le funzioni di perdita. L'attenzione è rivolta alla flessibilità e al processo di apprendimento.
  • Motori di inferenza (es, TensorRT, OpenVINOONNX Runtime): Si tratta di strumenti specializzati progettati per eseguire in modo efficiente i modelli pre-addestrati per le attività di predizione(distribuzione dei modelli). Il loro obiettivo principale è quello di ottimizzare la velocità(bassa latenza), l'utilizzo della memoria e la compatibilità con l'hardware di destinazione. Spesso prendono i modelli addestrati con i framework e li convertono in un formato ottimizzato.

Applicazioni del mondo reale

I motori di inferenza sono fondamentali per l'impiego dell'IA in scenari pratici:

  1. Veicoli autonomi: Le auto a guida autonoma(come quelle sviluppate da Waymo) fanno grande affidamento su efficienti motori di inferenza eseguiti su hardware embedded(come le piattaforme NVIDIA Jetson) per elaborare i dati dei sensori (telecamere, LiDAR) in tempo reale. I motori ottimizzano complessi modelli di visione artificiale come YOLO per compiti come il rilevamento di oggetti (auto, pedoni, cartelli) e la segmentazione semantica (comprensione del tracciato stradale) con un ritardo minimo, fondamentale per la sicurezza. Scopri di più sulle soluzioni di AI nel settore automobilistico.
  2. Analisi delle immagini mediche: I motori di inferenza accelerano l'analisi delle scansioni mediche (radiografie, TAC, risonanza magnetica) per compiti come l'individuazione di tumori(vedi il set di dati sui tumori cerebrali) o anomalie. I modelli ottimizzati distribuiti tramite i motori di inferenza possono essere eseguiti rapidamente sui server degli ospedali o su dispositivi medici specializzati, assistendo i radiologi(leggi AI in radiologia) e fornendo diagnosi più rapide o seconde opinioni. Scopri le soluzioni di IA nell'assistenza sanitaria.

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.

Leggi tutto