TPU (Tensor Processing Unit)
Esplora come le Tensor Processing Unit (TPU) accelerano il machine learning. Impara a ottimizzare Ultralytics YOLO26 per le Edge TPU e l'addestramento su cloud per la massima velocità.
Una Tensor Processing Unit (TPU) è un circuito integrato specifico per l'applicazione (ASIC) progettato da Google specificamente per accelerare i carichi di lavoro di machine learning (ML). A differenza dei processori generici che gestiscono un'ampia gamma di attività di calcolo, le TPU sono progettate da zero per ottimizzare le operazioni a matrice massicce fondamentali per le reti neurali. Questa focalizzazione specifica consente loro di ottenere una produttività ed un'efficienza energetica eccezionalmente elevate, rendendole una pietra angolare dell'infrastruttura moderna di intelligenza artificiale (AI), in particolare all'interno dell'ecosistema Google Cloud. Svolgono un ruolo vitale nel ridurre il tempo necessario sia per l'addestramento di modelli complessi che per l'esecuzione di inferenza in tempo reale su vasta scala.
Link to this sectionArchitettura e funzionalità#
L'architettura di una TPU differisce significativamente dai processori tradizionali. Mentre una CPU (Central Processing Unit) standard eccelle in attività sequenziali e logica complessa, e una GPU (Graphics Processing Unit) utilizza core paralleli per la grafica e il calcolo generale, una TPU utilizza un'architettura a schiera sistolica. Questo design consente ai dati di fluire attraverso migliaia di moltiplicatori simultaneamente senza accedere alla memoria per ogni operazione. Massimizzando la densità computazionale e minimizzando la latenza, le TPU sono adatte in modo univoco alla pesante algebra lineare presente nelle applicazioni di deep learning (DL).
Questo hardware specializzato è pesantemente ottimizzato per framework come TensorFlow e sempre più supportato da PyTorch, consentendo agli sviluppatori di addestrare enormi modelli di base o distribuire efficienti soluzioni edge senza riscrivere completamente le loro basi di codice.
Link to this sectionDistinguere le unità di elaborazione#
Comprendere il panorama hardware è fondamentale per ottimizzare le operazioni di machine learning (MLOps).
- CPU: Il "cervello" generico di un computer, ideale per l'elaborazione sequenziale, la pre-elaborazione dei dati e la gestione di logiche complesse. Viene spesso utilizzato per pipeline di data augmentation, ma è più lento per la matematica a matrice pesante.
- GPU: Originariamente costruite per il rendering di immagini, le GPU sono lo standard del settore per l'addestramento dei modelli grazie alla loro versatilità e al massiccio parallelismo. Sono eccellenti per addestrare modelli flessibili come Ultralytics YOLO26.
- TPU: Un acceleratore appositamente costruito che scambia la flessibilità per la velocità pura nelle operazioni sui tensori. È progettato per massimizzare i FLOPS (floating-point operations per second) specificamente per i calcoli delle reti neurali, offrendo spesso prestazioni per watt superiori per specifici carichi di lavoro su larga scala.
Link to this sectionApplicazioni nel mondo reale#
Le TPU vengono distribuite in vari ambienti, dai massicci cluster cloud ai minuscoli dispositivi edge.
-
Addestramento di Large Language Model: Google utilizza vasti cluster interconnessi, noti come TPU Pod, per addestrare immensi large language models (LLMs) come PaLM e Gemini. Questi sistemi possono elaborare petabyte di dati di addestramento in una frazione del tempo che richiederebbe l'hardware tradizionale, accelerando i progressi nell'IA generativa.
-
Edge AI e IoT: Il Coral Edge TPU porta questa accelerazione ai dispositivi a basso consumo. Abilita efficienti applicazioni di computer vision (CV), come l'esecuzione del rilevamento di oggetti su una linea di produzione per identificare i difetti localmente. Ciò consente un processo decisionale immediato senza fare affidamento sulla connettività cloud, preservando larghezza di banda e privacy.
Link to this sectionUtilizzo delle TPU con Ultralytics#
Gli sviluppatori possono sfruttare l'accelerazione TPU per i modelli Ultralytics, in particolare quando si utilizza la piattaforma Ultralytics per l'addestramento nel cloud o per esportare modelli per la distribuzione edge. L'Edge TPU, ad esempio, richiede che i modelli siano quantizzati e compilati specificamente per la sua architettura.
Il seguente esempio mostra come esportare un modello YOLO26 nel formato TFLite, che è un passaggio preliminare prima della compilazione per una Edge TPU:
from ultralytics import YOLO
# Load the latest lightweight YOLO26 nano model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
# This creates a '.tflite' file suitable for mobile and edge deployment
# Set int8=True for quantization, which is often required for Edge TPU performance
model.export(format="tflite", int8=True)Una volta esportato, il modello può essere ulteriormente compilato per l'Edge TPU utilizzando il Edge TPU Compiler, consentendogli di funzionare in modo efficiente su dispositivi come il Raspberry Pi con un Coral USB Accelerator. Per ulteriori dettagli sulla distribuzione, esplorare la documentazione sull'integrazione TFLite può essere molto utile.






