Data Provenance
La provenienza dei dati è la registrazione della loro origine, di chi li ha gestiti, dei diritti applicabili e delle modifiche apportate prima dell'addestramento del modello. PROV, usi e strumenti.
La provenienza dei dati è la cronologia documentata di un dato: da dove proviene, chi lo ha creato o raccolto, in base a quale licenza o consenso e quali trasformazioni ha subito prima di arrivare a un modello. Nell'apprendimento automatico, la provenienza riguarda immagini o testi grezzi, la etichettatura dei dati, le operazioni di pulizia e preelaborazione dei dati, le suddivisioni e le versioni dei dataset e le esecuzioni di addestramento che li hanno utilizzati, così da poter risalire da qualsiasi modello distribuito agli esatti dati di addestramento su cui si basa. Il termine lignaggio dei dati viene spesso usato come sinonimo. Quando si distinguono i due concetti, il lignaggio descrive il flusso e la trasformazione dei dati attraverso pipeline e sistemi, mentre la provenienza aggiunge origine, titolarità e diritti d'uso.
Il modello W3C PROV#
Nel 2013 il W3C ha pubblicato PROV, una famiglia di standard per rappresentare la provenienza. Descrive qualsiasi cronologia tramite tre tipi: entità, come file e dataset; attività, come l'annotazione o l'addestramento, che utilizzano e generano entità; e agenti, come persone, organizzazioni o software, responsabili delle attività. Applicato a un dataset di visione, il registro forma un grafo:
Perché la provenienza è importante#
La provenienza serve innanzitutto per il debug e la riproducibilità. Quando l'accuratezza cala o in produzione compare una deriva dei dati, permette a un tecnico di individuare il lotto di etichettatura, la telecamera sorgente o il passaggio di pulizia che ha introdotto il problema e di ripetere l'addestramento sugli stessi identici dati. Gli stessi registri rivelano i bias del dataset, per esempio un dataset di pedoni acquisito solo di giorno o in un solo paese, e aiutano a contrastare l'avvelenamento dei dati: se si conosce la fonte di ogni campione, è possibile rimuovere tutti i campioni provenienti da una fonte compromessa.
I diritti sono la seconda questione. La Data Provenance Initiative ha verificato oltre 1.800 dataset testuali nel 2023, rilevando che le licenze erano assenti per più del 70% e classificate in modo errato per oltre il 50% dei dataset ospitati su piattaforme popolari. Nell'analisi di immagini mediche, i registri di provenienza indicano quale ospedale ha fornito ogni scansione, il consenso o la base giuridica per usarla e se gli identificatori sono stati rimossi: informazioni che le leggi sulla riservatezza dei dati impongono alle organizzazioni di documentare. Man mano che immagini e testi generati si diffondono online, monitorare quali campioni sono dati sintetici aiuta anche a evitare il collasso del modello; le Credenziali dei contenuti incorporano inoltre la provenienza nei file multimediali stessi.
La normativa ora lo richiede. Il Regolamento UE sull'IA impone ai fornitori di sistemi ad alto rischio di documentare i processi di raccolta dei dati e la loro origine, e ai fornitori di modelli di IA per finalità generali di pubblicare una sintesi dei contenuti usati per l'addestramento secondo un modello pubblicato dalla Commissione europea nel luglio 2025.
Registrare la provenienza nella pratica#
La provenienza viene raccolta a tre livelli. La documentazione dei dataset, come Datasheets for Datasets, proposto da Timnit Gebru e colleghi nel 2018, risponde a domande sulla motivazione, la composizione, il processo di raccolta, la preelaborazione e gli usi previsti di un dataset, ed è affiancata dalle schede del modello per i modelli addestrati su quel dataset. Gli strumenti di versionamento acquisiscono istantanee dei dataset e identificano i file tramite hash dei contenuti, così un modello può fare riferimento a una versione immutabile del dataset. Gli strumenti per le pipeline generano eventi di lignaggio durante l'esecuzione dei processi, seguendo specifiche aperte come OpenLineage.
Il terzo livello consiste nei metadati archiviati all'interno degli artefatti stessi. Ogni esecuzione di addestramento di Ultralytics YOLO scrive la configurazione completa, inclusi il percorso del file YAML del dataset e le impostazioni di aumento dei dati, in args.yaml nella directory dell'esecuzione; il checkpoint salvato contiene gli stessi argomenti di addestramento, insieme alla versione di Ultralytics e alla data di salvataggio:
from ultralytics import YOLO
# Carica un checkpoint; i file dei pesi di Ultralytics contengono una registrazione dell'esecuzione che li ha generati
model = YOLO("yolo26n.pt")
ckpt = model.ckpt
# Dataset e impostazioni usati per l'addestramento, oltre alla versione del pacchetto e alla data di salvataggio
print(ckpt["train_args"]["data"], ckpt["train_args"]["epochs"], ckpt["train_args"]["imgsz"])
print(ckpt["version"], ckpt["date"])Questo record collega i pesi del modello al riferimento ai dati e alle impostazioni che li hanno generati: le prove su cui si basano le verifiche di trasparenza nell'IA e di governance dell'IA. Al termine dell'addestramento, Ultralytics rimuove lo stato dell'ottimizzatore da best.pt per ridurne le dimensioni, ma conserva questi campi, così il record accompagna il file distribuito.










