Scopri come le GPU accelerano l'intelligenza artificiale e il deep learning. Scopri la potenza del calcolo parallelo per l'addestramento dei modelli Ultralytics e l'ottimizzazione dell'inferenza in tempo reale.
Una unità di elaborazione grafica (GPU) è un circuito elettronico specializzato originariamente progettato per accelerare la manipolazione e la creazione di immagini in un frame buffer per l'output di visualizzazione. Sebbene le loro origini risalgano al rendering della grafica computerizzata per i videogiochi e la visualizzazione professionale , le GPU si sono evolute fino a diventare il motore fondamentale della moderna intelligenza artificiale (AI). A differenza di un processore standard che utilizza pochi core potenti per gestire le attività in modo sequenziale, GPU è composta da migliaia di core più piccoli ed efficienti progettati per gestire più attività contemporaneamente. Questa capacità, nota come calcolo parallelo, le rende eccezionalmente efficienti per le operazioni matrice e vettoriali massicce che sono alla base del Deep Learning (DL) e delle complesse reti neurali (NN).
Il motivo principale per cui le GPU sono indispensabili per il machine learning (ML) è la loro capacità di eseguire moltiplicazioni di matrici ad alta velocità. I framework di deep learning come PyTorch e TensorFlow sono specificamente ottimizzati per sfruttare questa accelerazione hardware. Ciò si traduce in una significativa riduzione dei tempi di addestramento dei modelli, trasformando spesso quelle che sarebbero settimane di calcoli su un processore standard in poche ore su una GPU. La velocità di elaborazione di questi dispositivi è tipicamente misurata in FLOPS (Floating Point Operations Per Second), una metrica fondamentale per valutare la capacità dell'hardware di gestire le rigorose esigenze di modelli all'avanguardia come YOLO26.
Per comprendere il panorama hardware, è utile distinguere la GPU altre unità di elaborazione:
L'implementazione di GPU ad alte prestazioni ha alimentato innovazioni in diversi settori:
Quando si utilizza la funzione ultralytics pacchetto, l'utilizzo di una GPU semplice e altamente raccomandato per
flussi di lavoro efficienti. La libreria supporta il rilevamento automatico dei dispositivi, ma gli utenti possono anche specificare esplicitamente il
dispositivo.
L'esempio seguente mostra come addestrare un modello YOLO26 sulla prima GPU disponibile:
from ultralytics import YOLO
# Load the YOLO26n model
model = YOLO("yolo26n.pt")
# Train the model on the first available GPU (device=0)
# This significantly accelerates training compared to CPU usage
results = model.train(data="coco8.yaml", epochs=5, imgsz=640, device=0)
Oltre alla formazione, le GPU svolgono un ruolo cruciale nell' implementazione dei modelli. Per massimizzare l'efficienza durante l' inferenza, i modelli vengono spesso convertiti in formati ottimizzati come TensorRT, che ristruttura la rete neurale per allinearla perfettamente alla specifica GPU , riducendo la latenza. Per gli sviluppatori che non hanno accesso a hardware locale di fascia alta , la Ultralytics offre soluzioni basate su cloud per gestire set di dati e addestrare modelli su potenti GPU remoti. Questa accessibilità stimola l'innovazione nell' Edge AI, consentendo di distribuire complesse attività di Computer Vision (CV) su dispositivi più piccoli ed efficienti dal punto di vista energetico sul campo.