Edge Computing
L'edge computing elabora i dati sui dispositivi che li producono o nelle loro vicinanze, riducendo la latenza e l'uso di banda. Panoramica dei livelli edge, dell'IA edge e della distribuzione dei modelli.
L'edge computing consiste nell'eseguire calcoli e archiviare dati vicino al luogo in cui questi vengono prodotti o utilizzati: su dispositivi, server e gateway on-premises o piccoli data center ai margini delle reti di telecomunicazione, anziché inviare tutto a una regione cloud distante. Elaborare i dati vicino alla fonte riduce i tempi di risposta, diminuisce la larghezza di banda necessaria per trasferire i dati grezzi, mantiene i dati sensibili in sede e permette ai sistemi di continuare a funzionare quando la rete non è disponibile. L'idea si è sviluppata a partire dalle reti di distribuzione dei contenuti che, alla fine degli anni Novanta, memorizzavano nella cache le pagine web vicino agli utenti; nel 2009, ricercatori guidati da Mahadev Satyanarayanan hanno proposto i «cloudlet» vicini ai dispositivi mobili, nel 2012 Cisco ha introdotto il termine fog computing e nel 2014 l'ente europeo di normazione ETSI ha iniziato a standardizzare il Multi-access Edge Computing per le reti mobili. Eseguire modelli di machine learning su questa infrastruttura si chiama edge AI.
Livelli edge#
«L'edge» comprende diversi livelli tra un sensore e il cloud:
- Edge del dispositivo: Fotocamere, telefoni, droni, robot e veicoli che elaborano i dati con i propri processori, spesso dotati di acceleratori integrati.
- Edge on-premises: Gateway e server compatti all'interno di una fabbrica, un negozio, un ospedale o un'azienda agricola che aggregano i dati di molti dispositivi, ad esempio un singolo server GPU che analizza decine di flussi video.
- Edge di rete: Server nelle stazioni base di telecomunicazione o nei punti di presenza regionali, a pochi millisecondi dagli utenti mobili, che eseguono workload per dispositivi troppo piccoli per gestirli localmente.
- Cloud: Regioni centralizzate che addestrano i modelli, archiviano dati a lungo termine e gestiscono il parco di dispositivi edge.
Perché elaborare i dati all'edge#
La latenza è il primo motivo. La luce viaggia nelle fibre ottiche a circa 200 chilometri al millisecondo, quindi un data center a 1.000 km di distanza aggiunge almeno 10 ms di ritardo di andata e ritorno, prima ancora di considerare instradamento, accodamento o elaborazione; per questo i veicoli autonomi e i robot, che devono reagire in pochi millisecondi, eseguono l'inferenza in tempo reale a bordo. Il secondo motivo è la larghezza di banda: un singolo flusso video H.264 a 1080p richiede alcuni megabit al secondo, quindi un sito con 100 videocamere caricherebbe continuamente centinaia di megabit, mentre un evento di rilevamento inviato in JSON occupa pochi kilobyte. L'elaborazione in sede mantiene inoltre in loco le immagini grezze delle persone, così dall'edificio escono solo conteggi, avvisi o risultati anonimizzati, semplificando gli obblighi di tutela della privacy dei dati; consente anche ai sistemi di continuare a funzionare durante le interruzioni di rete in aziende agricole, navi, miniere e infrastrutture remote.
In pratica, edge e cloud formano un ciclo. I dispositivi gestiscono ogni frame localmente e inviano al cloud solo eventi e campioni selezionati; il cloud usa questi campioni per riaddestrare i modelli e distribuire versioni migliorate:
Questo approccio viene usato per il controllo qualità sulle linee di produzione, dove un pezzo difettoso deve essere scartato prima che arrivi il successivo, per il monitoraggio di colture e bestiame nei campi con connettività scarsa e per i sistemi di gestione del traffico che regolano i semafori in base alle videocamere agli incroci.
Edge computing e termini correlati#
Il cloud computing concentra la capacità elastica in grandi data center, mentre l'edge computing estende l'elaborazione verso l'esterno; per questo la maggior parte dei sistemi usa entrambi. L'edge AI è il sottoinsieme dell'edge computing che esegue modelli di AI. Fog computing, termine coniato da Cisco, descrive il livello di gateway e server locali tra i dispositivi e il cloud ed è in gran parte sinonimo dei livelli on-premises e di rete. L'Internet delle cose (IoT) è la rete di sensori e dispositivi connessi; l'edge computing è il luogo in cui viene elaborata gran parte dei dati che producono.
Distribuzione dei modelli sui dispositivi edge#
L'hardware edge dispone solo di una frazione della memoria, della capacità di calcolo e del budget energetico di una GPU per data center, dai microcontrollori che consumano milliwatt ai moduli NVIDIA Jetson e alle schede Raspberry Pi. I modelli diventano più piccoli e veloci grazie alla quantizzazione dei modelli a interi a 8 bit, al pruning e alla distillazione della conoscenza, poi vengono compilati per il runtime e l'acceleratore di destinazione, come TensorRT sulle GPU NVIDIA, OpenVINO su CPU Intel e NPU, LiteRT su Android o Core ML sui dispositivi Apple. La modalità di esportazione di Ultralytics YOLO genera questi formati a partire da un unico modello addestrato. Questo esempio esporta YOLO26 in NCNN, il framework di inferenza di Tencent per dispositivi mobili e CPU ARM, ed esegue il modello esportato:
from ultralytics import YOLO
# Export YOLO26n to NCNN, a lightweight runtime for ARM CPUs and mobile devices
model = YOLO("yolo26n.pt")
ncnn_path = model.export(format="ncnn") # writes the yolo26n_ncnn_model folder
# Load the exported model and run it on this machine's CPU
ncnn_model = YOLO(ncnn_path)
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
print(f"Inference: {results[0].speed['inference']:.1f} ms")L'esportazione crea una cartella yolo26n_ncnn_model che contiene model.ncnn.param per la struttura della rete, model.ncnn.bin per i pesi e metadata.yaml per i nomi delle classi e la dimensione dell'input. Il tempo visualizzato è la latenza di inferenza per immagine sulla macchina che esegue il modello, il valore che determina se il modello rientra nel budget di frequenza dei frame di un'applicazione edge.










