Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Unità di elaborazione neurale (NPU)

Scopri come un'unità di elaborazione neurale (NPU) accelera l'intelligenza artificiale. Scopri come implementare Ultralytics sulle NPU per un edge computing e un'inferenza efficienti e a basso consumo energetico.

Un'unità di elaborazione neurale (NPU) è un circuito hardware specializzato progettato specificamente per accelerare l'esecuzione di algoritmi di intelligenza artificiale e apprendimento automatico. A differenza dei processori generici, le NPU sono progettate con un' architettura in grado di gestire in modo nativo le complesse operazioni matriciali parallele fondamentali per i modelli di deep learning. Eseguendo questi calcoli con estrema efficienza, una NPU riduce drasticamente il consumo energetico migliorando al contempo in modo significativo la latenza di inferenza. Ciò le rende un componente essenziale dei moderni telefoni cellulari, laptop e dispositivi IoT specializzati, dove è fondamentale implementare modelli complessi in modo efficiente senza un rapido esaurimento della batteria.

NPU rispetto ad altri processori

Per comprendere il valore di una NPU, è utile distinguerla dagli altri acceleratori hardware comunemente presenti nel panorama dell'IA :

  • Unità centrale di elaborazione (CPU): il "cervello" generico di un computer. Pur essendo in grado di eseguire codice di apprendimento automatico, le CPU gestiscono le operazioni in modo sequenziale, il che le rende lente e inefficienti per le complesse moltiplicazioni matriciali richieste dai moderni modelli di visione artificiale.
  • Unità di elaborazione grafica (GPU): Progettate per l'elaborazione parallela, le GPU sono particolarmente efficaci nella gestione di carichi di lavoro massicci nel campo del deep learning. Tuttavia, consumano molta energia e generano un calore considerevole, il che le rende più adatte all'addestramento nel cloud piuttosto che all'edge computing alimentato a batteria.
  • Tensor Unit (TPU): Un circuito integrato specifico per determinate applicazioni sviluppato da Google l'apprendimento automatico. Sebbene simili per concetto a una NPU, le TPU sono generalmente associate a enormi rack di server per il cloud computing, mentre le NPU sono tipicamente integrate direttamente nei System-on-Chip (SoC) destinati al mercato consumer.

Applicazioni pratiche delle NPU

L'avvento delle NPU ha reso possibile l'esecuzione dell'intelligenza artificiale (IA) direttamente sui dispositivi degli utenti senza dover ricorrere a una connessione costante al cloud.

  • Smartphone e visione mobile: I moderni dispositivi mobili sfruttano ampiamente le NPU interne, come l'Apple Neural Engine o la Qualcomm Hexagon NPU, per potenziare la fotografia computazionale, il riconoscimento facciale in tempo reale e la traduzione locale di testi. Elaborando i dati delle immagini sul dispositivo, preservano la durata della batteria e garantiscono la privacy dei dati.
  • Computer portatili con funzionalità AI: I processori avanzati per PC sono ora dotati di NPU integrate per gestire attività in background come la sfocatura dello sfondo e la correzione dello sguardo durante le videoconferenze senza sovraccaricare la CPU principale, consentendo agli utenti di svolgere più attività contemporaneamente senza intoppi.
  • Implementazioni di IA periferica: Le telecamere di sorveglianza intelligenti e la robotica utilizzano NPU specializzate, come la Google Edge TPU Intel integrato, per eseguire il rilevamento istantaneo degli oggetti direttamente alla fonte. Ciò elimina i colli di bottiglia della larghezza di banda e consente un processo decisionale in frazioni di secondo.

Utilizzo delle NPU conYOLO Ultralytics

Per gli sviluppatori che desiderano sfruttare le NPU, l'implementazione dei modelli di visione artificiale è diventata incredibilmente semplice. Utilizzando il potente modello Ultralytics , è possibile esportare la rete addestrata in formati ottimizzati per vari acceleratori hardware. Per semplificare l'intero ciclo di vita, la Ultralytics offre strumenti affidabili per la gestione dei set di dati nel cloud, l'annotazione automatizzata e l'implementazione di modelli ottimizzati praticamente in qualsiasi ambiente di implementazione.

Quando si lavora in locale, è possibile utilizzare integrazioni di framework come ONNX , PyTorch o TensorFlow per sfruttare l'NPU. Di seguito è riportato un breve Python che mostra come esportare un YOLO nel OpenVINO , il quale delega in modo trasparente i carichi di calcolo alle Intel per un' inferenza in tempo reale accelerata.

from ultralytics import YOLO

# Load the highly recommended Ultralytics YOLO26 Nano model
model = YOLO("yolo26n.pt")

# Export to OpenVINO with int8 quantization for optimal NPU performance
model.export(format="openvino", int8=True)

# Run highly efficient, accelerated inference on the edge device
results = model("path/to/environment_image.jpg")

Costruiamo insieme il futuro dell'intelligenza artificiale!

Inizia il tuo viaggio con il futuro del machine learning