CPU
Esplora il ruolo fondamentale della CPU nell'AI. Scopri come ottimizzare il pre-processing e il post-processing dei dati ed eseguire oggi l'inferenza di Ultralytics YOLO26 sui dispositivi edge.
Un'Unità centrale di elaborazione (CPU) è il componente principale di un computer che funge da suo "cervello", responsabile dell'interpretazione e dell'esecuzione delle istruzioni provenienti dall'hardware e dal software. Nel contesto dell'intelligenza artificiale (AI), la CPU svolge un ruolo fondamentale nella gestione dei dati, nell'orchestrazione del sistema e nell'esecuzione dell'inferenza, in particolare sui dispositivi edge, dove l'efficienza energetica è fondamentale. Sebbene l'hardware specializzato come le GPU sia spesso associato all'intenso lavoro di addestramento dei modelli di deep learning, la CPU rimane indispensabile per l'intera pipeline di apprendimento automatico (ML).
Il ruolo delle CPU nei flussi di lavoro dell'IA#
Sebbene le GPU siano apprezzate per il loro massiccio parallelismo durante l'addestramento, la CPU è il motore di molte fasi essenziali del ciclo di vita della visione artificiale (CV). La sua architettura, tipicamente basata su design x86 (Intel, AMD) o ARM, è ottimizzata per l'elaborazione sequenziale e il controllo di logiche complesse.
- Pre-elaborazione dei dati: prima che una rete neurale possa apprendere, i dati devono essere preparati. Le CPU eccellono in attività come il caricamento dei file, la pulizia dei dati e le trasformazioni complesse utilizzando librerie come NumPy e OpenCV.
- Inferenza edge: per la distribuzione nel mondo reale, eseguire modelli su server di grandi dimensioni non è sempre fattibile. Le CPU consentono una distribuzione efficiente dei modelli sull'hardware dei consumatori, ad esempio eseguendo Ultralytics YOLO26 su un laptop o su un Raspberry Pi.
- Post-elaborazione: dopo che un modello ha prodotto probabilità grezze, la CPU gestisce spesso la logica finale, come la soppressione dei non massimi (NMS) nel rilevamento degli oggetti, per filtrare le predizioni duplicate e perfezionare i risultati.
CPU vs. GPU vs. TPU#
Comprendere il panorama hardware è fondamentale per ottimizzare le operazioni di machine learning (MLOps). Questi processori differiscono notevolmente per architettura e casi d'uso ideali.
- CPU: progettata per la versatilità e la gestione di logiche complesse. Dispone di pochi core potenti che elaborano le attività in sequenza. È ideale per l'aumento dei dati, la gestione delle pipeline e l'inferenza a bassa latenza su batch di piccole dimensioni.
- GPU (Unità di elaborazione grafica): originariamente progettate per la grafica, le GPU dispongono di migliaia di core più piccoli progettati per l'elaborazione parallela. Sono lo standard per l'addestramento dei modelli perché possono eseguire moltiplicazioni di matrici molto più velocemente di una CPU.
- TPU (Unità di elaborazione dei tensori): un circuito specializzato (ASIC) sviluppato da Google Cloud specificamente per i calcoli tensoriali. Sebbene sia altamente efficiente per carichi di lavoro specifici, non offre la flessibilità general-purpose di una CPU.
Applicazioni nel mondo reale#
Le CPU sono spesso l'hardware preferito per le applicazioni in cui costi, disponibilità e consumo energetico sono più importanti della necessità di un'enorme velocità di elaborazione grezza.
-
Telecamere di sicurezza intelligenti: nei sistemi di allarme di sicurezza, le telecamere elaborano spesso i flussi video localmente. Un modello di rilevamento degli oggetti basato su CPU può identificare una persona o un veicolo e attivare un avviso senza inviare il video al cloud, preservando la larghezza di banda e la privacy dell'utente.
-
Automazione industriale: negli stabilimenti, i sistemi di manutenzione predittiva utilizzano le CPU per monitorare i dati dei sensori dei macchinari. Questi sistemi analizzano le vibrazioni o i picchi di temperatura in tempo reale per prevedere i guasti, garantendo un'automazione della produzione fluida senza la necessità di costosi cluster di GPU.
Esecuzione dell'inferenza su CPU con Ultralytics#
Gli sviluppatori testano spesso i modelli sulle CPU per verificarne la compatibilità con gli ambienti di elaborazione serverless o con i dispositivi a basso consumo. L'API di Ultralytics consente di indirizzare facilmente la CPU, assicurando che la tua applicazione funzioni ovunque.
L'esempio seguente mostra come caricare un modello leggero ed eseguire l'inferenza specificamente sulla CPU:
from ultralytics import YOLO
# Load the lightweight YOLO26 nano model
# Smaller models are optimized for faster CPU execution
model = YOLO("yolo26n.pt")
# Run inference on an image, explicitly setting the device to 'cpu'
results = model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")
# Print the detection results (bounding boxes)
print(results[0].boxes.xywh)Per migliorare ulteriormente le prestazioni sulle CPU Intel, gli sviluppatori possono esportare i propri modelli nel formato OpenVINO, che ottimizza la struttura della rete neurale specificamente per l'architettura x86. Per gestire i dataset e orchestrare queste distribuzioni, strumenti come la Ultralytics Platform semplificano il flusso di lavoro dall'annotazione all'esecuzione edge.









