Glossario

TPU (Tensor Processing Unit)

Scopri come le unità di elaborazione Tensor (TPU) accelerano le attività di apprendimento automatico come la formazione, l'inferenza e il rilevamento di oggetti con un'efficienza senza pari.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

Una Tensor Processing UnitTPU) è un acceleratore di apprendimento automatico progettato su misura e sviluppato da Google specificamente per i carichi di lavoro delle reti neurali. Questi processori specializzati, un tipo di circuito integrato specifico per le applicazioni (ASIC), sono progettati per accelerare e scalare notevolmente le operazioni di apprendimento automatico, in particolare per le attività di inferenza e formazione. Le TPU sono progettate per gestire i complessi calcoli matematici coinvolti nell'intelligenza artificiale e offrono miglioramenti significativi delle prestazioni rispetto alle CPU e spesso alle GPU per alcuni tipi di modelli di apprendimento automatico.

Cos'è il TPU?

Una TPU è costruita da zero per soddisfare le esigenze uniche dell'apprendimento automatico (ML), in particolare dell'apprendimento profondo. A differenza dei processori generici come le CPU o le GPU, che gestiscono una gamma più ampia di compiti, le TPU sono costruite appositamente per eccellere nei calcoli dei tensor , le operazioni matematiche fondamentali delle reti neurali. I tensori sono matrici multidimensionali che rappresentano i dati nei modelli di ML e le TPU sono ottimizzate per eseguire moltiplicazioni matriciali su larga scala e altre algebre tensor ad alta velocità ed efficienza energetica. Questa specializzazione permette alle TPU di eseguire attività di ML molto più rapidamente delle CPU e, in molti scenari, in modo più efficiente delle GPU, soprattutto quando si lavora con framework come TensorFlow per il quale sono state inizialmente ottimizzate, anche se il supporto per altri come PyTorch è disponibile. Per saperne di più sulle caratteristiche specifiche, consulta l'introduzione di Google Cloud TPU .

Applicazioni delle TPU

Le TPU sono ampiamente utilizzate in varie applicazioni, in particolare quelle alimentate dai servizi Google e sempre più in ambiti più ampi di AI e ML accessibili tramite piattaforme come Google Cloud. Le applicazioni principali includono:

  • Formazione di modelli su larga scala: Le TPU eccellono nell'addestramento di modelli molto grandi e complessi, come quelli utilizzati nell'elaborazione del linguaggio naturale (NLP) (come le varianti BERT o GPT) e nelle attività di computer vision avanzate. La loro architettura è adatta alle massicce computazioni parallele richieste, spesso utilizzando tecniche come l'addestramento distribuito. Ricercatori e sviluppatori possono sfruttare i pod TPU per ottenere notevoli accelerazioni. Molti modelli di grandi dimensioni alla base di Google Search e Translate si affidano alle TPU per l'addestramento.
  • Inferenza ad alto volume: Per le applicazioni che richiedono previsioni rapide su grandi insiemi di dati, le TPU offrono un elevato throughput e una bassa latenza. Google utilizza le TPU per alimentare le funzioni di intelligenza artificiale in tempo reale in prodotti come Google Foto (per l'analisi delle immagini e il rilevamento degli oggetti) e Google Assistant (per il riconoscimento vocale). Le TPU sono disponibili anche su piattaforme come Kaggle, consentendo un accesso più ampio alla sperimentazione, come illustrato nella guida all'integrazione diUltralytics in Kaggle. Le piccole TPU Edge portano questa accelerazione ai dispositivi di edge computing.

TPU vs GPU

Sebbene sia le TPU che le GPU accelerino i carichi di lavoro ML, le loro differenze sono significative:

  • Architettura: Le GPU sono state progettate per l'elaborazione in parallelo, originariamente per la grafica, il che le rende versatili per varie operazioni in parallelo, tra cui il ML. Le TPU hanno un'architettura più specializzata (Matrix Multiply Units) ottimizzata specificamente per le operazioni tensor dominanti nelle reti neurali.
  • Flessibilità: Le GPU offrono una maggiore flessibilità grazie al supporto software più ampioCUDA, vari framework ML) e all'applicabilità a compiti che vanno oltre il ML. Le TPU sono altamente ottimizzate per il ML, in particolare per l'addestramento e l'inferenza del deep learning, e danno il meglio con framework come TensorFlow o JAX, anche se il supporto di PyTorch sta migliorando.
  • Efficienza: Per i carichi di lavoro ML compatibili e su larga scala, le TPU possono offrire prestazioni superiori per watt rispetto alle GPU. Tuttavia, le GPU potrebbero essere più convenienti o performanti per i compiti più piccoli o per quelli che coinvolgono operazioni meno adatte all'architettura TPU .

In sintesi, le TPU rappresentano un significativo progresso nell'hardware progettato specificamente per le esigenze del moderno machine learning, offrendo prestazioni ed efficienza migliorate per applicazioni specifiche di IA, in particolare per lavori di formazione e inferenza su larga scala. Sono complementari ad altri acceleratori come le GPU e offrono opzioni a seconda del carico di lavoro specifico, della scala e dell'ecosistema software. Puoi esplorare le opzioni di formazione, comprese le risorse cloud, tramite piattaforme come Ultralytics HUB.

Leggi tutto