Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Big Data

I big data sono dati troppo grandi, veloci o vari per gli strumenti di una singola macchina. Tratta le tre V, MapReduce e Spark, e i dataset alla base dell'IA moderna.

I big data sono dati la cui dimensione, frequenza di arrivo o varietà di formati supera la capacità di archiviazione ed elaborazione di una singola macchina e degli strumenti di database tradizionali; per questo vengono distribuiti su cluster di macchine che li elaborano in parallelo. Nel 2001 l'analista Doug Laney di META Group ha descritto la sfida con le tre V: volume, la quantità di dati; velocità, la rapidità con cui arrivano e devono essere gestiti; varietà, la combinazione di tabelle strutturate, log, testo, immagini, audio e video. Le definizioni successive aggiungono la veridicità, cioè quanto siano affidabili i dati, e il valore. Per l'apprendimento automatico, i big data sono sia la materia prima sia una sfida ingegneristica: i modelli migliorano con più dati di addestramento e le pipeline che li raccolgono, puliscono e servono richiedono gran parte del lavoro necessario per realizzarli.

Big data nell'IA e nella visione artificiale#

Il deep learning si è sviluppato di pari passo con dataset troppo grandi per un singolo disco. ImageNet, introdotto nel 2009, è arrivato a oltre 14 milioni di immagini etichettate; le 1,28 milioni di immagini di addestramento della sua competizione a 1.000 classi hanno permesso di addestrare la rete neurale convoluzionale AlexNet, vincitrice della competizione del 2012. Il dataset SA-1B di Meta, pubblicato nel 2023 insieme al Segment Anything Model, contiene 11 milioni di immagini e 1,1 miliardi di maschere di segmentazione; Meta ha inoltre preaddestrato Llama 3 su oltre 15.000 miliardi di token di testo. Le leggi di scala spiegano perché raccolte di queste dimensioni siano efficaci: la perdita diminuisce in modo prevedibile quando dati, parametri e capacità di calcolo aumentano insieme.

Nella visione artificiale, il volume dei dati deriva da flotte di telecamere e sensori. Un singolo veicolo autonomo registra flussi di telecamere, radar e lidar per ogni ora di guida; fabbriche e negozi aggiungono migliaia di flussi video continui. La velocità è importante quando servono risultati man mano che arrivano i dati, come nell'inferenza in tempo reale su video del traffico o delle linee di produzione. La varietà comprende immagini e video, insieme ad annotazioni, metadati dei sensori e log. Più dati sono utili solo se le etichette sono accurate, quindi i grandi dataset di visione si basano sulla pulizia dei dati, sulla rimozione dei duplicati e sull'apprendimento attivo per scegliere quali nuove immagini vale la pena etichettare.

Come vengono archiviati ed elaborati i big data#

I sistemi per i big data si espandono orizzontalmente: distribuiscono dati e calcoli su molte macchine standard invece di usare un unico server più potente. L'articolo di Google del 2004 su MapReduce ha descritto il modello reso popolare dall'open source Apache Hadoop: suddividere l'input in frammenti, eseguire una funzione map in parallelo su ogni frammento sulla macchina che lo archivia e ridurre i risultati parziali a un'unica risposta. Apache Spark, avviato alla UC Berkeley nel 2009, mantiene in memoria i risultati intermedi, rendendo i processi iterativi come l'addestramento dei modelli molto più veloci rispetto a MapReduce basato su disco. I file grezzi sono solitamente archiviati nell'object storage cloud organizzato come data lake; formati colonnari come Apache Parquet consentono a una query di leggere solo le colonne necessarie, mentre piattaforme di streaming come Apache Kafka trasportano eventi ad alta velocità.

Questo esempio esegue i passaggi map e reduce su tre frammenti di etichette di immagini usando la libreria standard di Python:

from collections import Counter
from multiprocessing import Pool

# Tre frammenti di etichette di immagini; un cluster archivia ogni frammento su una macchina diversa
shards = [
    ["car", "person", "car", "bus"],
    ["person", "person", "bicycle"],
    ["car", "person", "dog", "car"],
]


def count_labels(shard):
    """Map step: count the labels in one shard."""
    return Counter(shard)


if __name__ == "__main__":
    with Pool(processes=3) as pool:
        partial_counts = pool.map(count_labels, shards)  # un processo worker per frammento

    # Passaggio reduce: unisci i conteggi parziali in un unico totale
    totals = sum(partial_counts, Counter())
    print(totals.most_common())

Ogni frammento viene conteggiato nel proprio processo e il passaggio reduce unisce i conteggi parziali in [('car', 4), ('person', 4), ('bus', 1), ('bicycle', 1), ('dog', 1)]. Spark e Hadoop eseguono gli stessi due passaggi su migliaia di macchine, inviando il codice map alle macchine che contengono ciascun frammento.

Addestrare modelli con i big data#

Una sessione di addestramento legge i big data in batch. I caricatori di dati decodificano da qualche decina a qualche centinaio di immagini alla volta dal disco locale o dall'object storage, usando diversi processi worker; non è quindi necessario che l'intero dataset entri in memoria. L'addestramento distribuito suddivide ogni batch tra molte GPU. Per il rilevamento di oggetti, il dataset di rilevamento Open Images V7 di Google occupa 561 GB e contiene 1,74 milioni di immagini di addestramento suddivise in 601 classi, molto più di quanto la maggior parte delle macchine possa contenere nella RAM. Se viene richiesto di memorizzare nella cache un dataset in memoria con cache="ram", l'addestramento Ultralytics YOLO stima la dimensione decodificata usando 30 immagini casuali e memorizza i dati nella cache solo se il doppio della stima rientra nella RAM disponibile; i dataset più grandi vengono letti e decodificati dal disco a ogni epoca.

  • Estrazione di dati: ricerca di pattern, anomalie e associazioni nei dati di qualsiasi dimensione, spesso eseguita su piattaforme per big data.
  • Analisi dei dati: interrogazione, riepilogo e visualizzazione dei dati a supporto delle decisioni; l'analisi dei big data è la parte che richiede motori distribuiti.
  • IA incentrata sui dati: miglioramento dei modelli attraverso il miglioramento della qualità e della copertura dei dati, particolarmente importante quando un dataset è troppo grande per essere esaminato manualmente.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning