Accelerazione hardware con LiteRT

I moderni dispositivi mobili ed edge sono dotati di unità di elaborazione grafica (GPU) e unità di elaborazione neurale (NPU) specializzate in grado di accelerare i modelli di AI fino a 25 volte rispetto a una CPU, riducendo al contempo il consumo energetico fino a 5 volte.

LiteRT semplifica l'accesso a questi chip specializzati tramite uno stack di accelerazione hardware unificato. Anziché gestire SDK frammentati e specifici del fornitore o API hardware complesse, LiteRT fornisce un'API CompiledModel semplificata che astrae la complessità dell'ottimizzazione dei modelli, della gestione della memoria e dell'invio dell'hardware.

Tipi di acceleratori

LiteRT fornisce un'interfaccia unificata per eseguire modelli su una serie di backend hardware. Sfruttando l'API CompiledModel, puoi passare facilmente da un acceleratore all'altro utilizzando la compilazione sul dispositivo o Ahead-of-Time (AOT), con il fallback automatico alla CPU per le operazioni non supportate.

  • CPU:il percorso di esecuzione predefinito che utilizza XNNPACK ed è sempre disponibile. Ideale per attività generali e come fallback per gli operatori non supportati.
  • GPU:basata su ML Drift, offre prestazioni SOTA su piattaforme edge che sfruttano OpenCL, WebGPU, Metal e così via. Per saperne di più, consulta Accelerazione GPU con LiteRT.
  • NPU: massima efficienza e prestazioni per i workload di AI. LiteRT offre un flusso di sviluppo unificato per accedere a chipset NPU specializzati, tra cui Google Tensor, Qualcomm e MediaTek, senza richiedere l'integrazione di SDK specifici del fornitore. Per saperne di più, consulta Accelerazione NPU con LiteRT.

Questi acceleratori possono essere combinati per ottenere le migliori prestazioni possibili quando alcune operazioni complesse non sono disponibili su un determinato hardware. Quando gli acceleratori competono per un'operazione, LiteRT utilizza il seguente ordine di precedenza: NPU, GPU, CPU.