L'unità di elaborazione centraleCPU), spesso chiamata processore, è il componente principale di un computer responsabile dell'esecuzione delle istruzioni. Esegue la maggior parte delle operazioni aritmetiche, logiche, di controllo e di input/output (I/O) di base specificate dalle istruzioni di un programma informatico. Nel contesto dell'Intelligenza Artificiale (AI) e dell'Apprendimento Automatico (ML), sebbene hardware specializzato come le GPU e le TPU siano spesso preferite per le attività ad alta intensità di calcolo, la CPU rimane un componente fondamentale.
Ruolo nell'IA e nell'apprendimento automatico
Le CPU sono processori di uso generale progettati per gestire un'ampia varietà di compiti in modo sequenziale e veloce. Le caratteristiche principali includono la velocità di clock, che determina il numero di istruzioni eseguite al secondo, e il numero di core, che consente l'esecuzione in parallelo di più attività. Sebbene le moderne CPU abbiano più core, in genere non sono così massicciamente parallele come le GPU.
Nei flussi di lavoro AI/ML, le CPU sono essenziali per:
- Operazioni di sistema: Esecuzione del sistema operativo, gestione delle risorse di sistema e orchestrazione del flusso di lavoro complessivo.
- Preelaborazione dei dati: Attività come il caricamento di set di dati, la pulizia, la trasformazione e l'incremento dei dati spesso comportano operazioni logiche e di file complesse che si adattano bene alle CPU. Molte fasi della preparazione dei dati per modelli come Ultralytics YOLO si basano molto sull'elaborazione da parte CPU . Scopri di più sulla preparazione dei dati per i progetti di computer vision.
- Attività sequenziali: Esecuzione di parti di una pipeline ML che non sono facilmente parallelizzabili, come alcune logiche di controllo o specifici passaggi algoritmici.
- Inferenza su determinati dispositivi: Esecuzione dell 'inferenza per modelli più piccoli o su dispositivi senza acceleratori AI dedicati(Edge AI). Molte applicazioni distribuiscono modelli in formati come ONNX o utilizzano runtime come OpenVINO diIntel per un'inferenza efficiente CPU . I modelli di Ultralytics supportano l'esportazione in vari formati adatti alla distribuzione CPU ; per maggiori dettagli, consulta la nostra documentazione sull'esportazione dei modelli.
- Gestione dei modelli: Le attività relative alla distribuzione e al servizio dei modelli sono spesso eseguite principalmente dalle CPU.
CPU vs. GPU e TPU
La differenza principale sta nell'architettura e negli obiettivi di ottimizzazione.
- CPU: Ottimizzate per l'esecuzione a bassa latenza di compiti diversi, spesso sequenziali. Hanno pochi e potenti core. Sono dei manager versatili che gestiscono velocemente diversi tipi di attività, una dopo l'altra o alcune contemporaneamente. I principali produttori di CPU , come Intel e AMD, migliorano continuamente le prestazioni e l'efficienza dei core.
- GPU: Ottimizzate per calcoli ad alto rendimento e in parallelo, in particolare per le operazioni matriciali e vettoriali comuni nel Deep Learning. Hanno migliaia di core più semplici. Sono ideali per l'addestramento di modelli di grandi dimensioni e per l'inferenza ad alte prestazioni.
- TPU: L'hardware personalizzato diGoogle progettato specificamente per accelerare i carichi di lavoro ML, in particolare quelli realizzati con TensorFlow. Offrono prestazioni elevate ed efficienza per specifici tipi di calcoli di reti neurali.
Sebbene l'addestramento di modelli di deep learning di grandi dimensioni come YOLOv10 sia significativamente più veloce su GPU o TPU, le CPU sono indispensabili per il sistema complessivo e per compiti specifici all'interno del ciclo di vita del ML. Comprendere il ruolo della CPU aiuta a ottimizzare gli interi sistemi di IA, dalla preparazione dei dati alla distribuzione su varie piattaforme, compresi i dispositivi edge con risorse limitate come il Raspberry Pi.
Esempi di AI/ML del mondo reale che utilizzano la CPU
- Preelaborazione dell'elaborazione del linguaggio naturale (NLP): La tokenizzazione del testo, l'esecuzione di stemming/lemmatizzazione e la creazione di elenchi di vocaboli per i modelli NLP sono spesso attività CPU causa della loro natura sequenziale e della dipendenza da operazioni complesse sulle stringhe e dalle ricerche. Strumenti come i tokenizer diHugging Face spesso sfruttano l'efficienza CPU per queste fasi.
- Rilevamento di anomalie nei log di sistema: L'analisi di sequenze di eventi o log di sistema per rilevare modelli insoliti spesso coinvolge sistemi basati su regole o modelli ML più semplici (come SVM o Random Forest) che possono essere eseguiti in modo efficiente sulle CPU per il monitoraggio in tempo reale senza richiedere hardware specializzato. Questo è fondamentale per l'osservabilità del sistema.