GPU (Graphics Processing Unit)
Impara come le GPU accelerano l'IA e il Deep Learning. Scopri la potenza del calcolo parallelo per addestrare modelli Ultralytics YOLO26 e ottimizzare l'inferenza in tempo reale.
Una Graphics Processing Unit (GPU) è un circuito elettronico specializzato originariamente progettato per accelerare la manipolazione e la creazione di immagini in un frame buffer per l'output video. Sebbene le sue radici risiedano nel rendering di computer graphics per giochi e visualizzazioni professionali, le GPU si sono evolute fino a diventare il motore fondamentale della moderna Artificial Intelligence (AI). A differenza di un processore standard che utilizza alcuni core potenti per gestire le attività in sequenza, l'architettura di una GPU è composta da migliaia di core più piccoli ed efficienti progettati per gestire più attività contemporaneamente. Questa capacità, nota come parallel computing, le rende eccezionalmente efficienti per le massicce operazioni su matrici e vettori che sono alla base del Deep Learning (DL) e delle complesse Neural Networks (NN).
Link to this sectionAccelerare i carichi di lavoro AI#
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à. Framework di deep learning come PyTorch e TensorFlow sono ottimizzati specificamente per sfruttare questa accelerazione hardware. Ciò comporta una riduzione significativa dei tempi per il model training, trasformando spesso ciò che richiederebbe settimane di calcolo su un processore standard in ore su una GPU. Il throughput computazionale di questi dispositivi viene solitamente misurato in FLOPS (Floating Point Operations Per Second), una metrica fondamentale per valutare la capacità dell'hardware di gestire le rigorose richieste di modelli all'avanguardia come YOLO26.
Link to this sectionDistinzioni hardware: GPU vs. CPU vs. TPU#
Per comprendere il panorama hardware, è utile distinguere la GPU dalle altre unità di elaborazione:
- CPU (Central Processing Unit): Il "cervello" general-purpose di un computer. Le CPU eccellono nell'elaborazione sequenziale e nella logica di ramificazione complessa, ma sono meno efficienti per il massiccio parallelismo richiesto dall'addestramento AI su larga scala.
- GPU (Graphics Processing Unit): Lo standard del settore per l'addestramento e l'inferenza. Produttori leader come NVIDIA utilizzano ecosistemi software come CUDA per consentire agli sviluppatori di programmare la GPU direttamente per il calcolo general-purpose.
- TPU (Tensor Processing Unit): Un Application-Specific Integrated Circuit (ASIC) sviluppato specificamente per il machine learning delle reti neurali. Sebbene altamente efficienti per operazioni tensoriali specifiche, sono meno versatili delle GPU per attività di calcolo più ampie.
Link to this sectionApplicazioni nel mondo reale#
L'implementazione di GPU ad alte prestazioni ha alimentato innovazioni in diversi settori:
- Autonomous Vehicles: Le auto a guida autonoma devono elaborare gigabyte di dati provenienti da fotocamere, radar e sensori LiDAR ogni secondo. Le GPU consentono l'real-time inference, permettendo al computer di bordo del veicolo di eseguire modelli di Object Detection che identificano istantaneamente pedoni, segnali stradali e ostacoli.
- Medical Image Analysis: Nel settore sanitario, le GPU accelerano l'elaborazione di scansioni ad alta risoluzione come risonanze magnetiche e TAC. Consentono a sofisticati algoritmi di Image Segmentation di delineare con precisione tumori o organi, assistendo i radiologi nel formulare diagnosi più rapide e accurate senza affidarsi esclusivamente all'ispezione manuale.
Link to this sectionAddestramento con GPU#
Quando usi il pacchetto ultralytics, utilizzare una GPU è semplice e altamente raccomandato per flussi di lavoro efficienti. La libreria supporta il rilevamento automatico del dispositivo, ma puoi anche specificare esplicitamente il dispositivo.
Il seguente esempio 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)Link to this sectionDistribuzione e ottimizzazione#
Oltre all'addestramento, le GPU svolgono un ruolo cruciale nel Model Deployment. 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 architettura GPU, riducendo la latenza. Per gli sviluppatori che non hanno accesso ad hardware locale di fascia alta, la Ultralytics Platform offre soluzioni basate su cloud per gestire set di dati e addestrare modelli su potenti cluster GPU remoti. Questa accessibilità guida l'innovazione nell'Edge AI, consentendo l'esecuzione di complesse attività di Computer Vision (CV) su dispositivi più piccoli ed efficienti dal punto di vista energetico sul campo.






