Mantenere la Qualità dei Dati nei Sistemi di Apprendimento Automatico
Maintaining Data Quality in Machine Learning Systems
DATI | APPRENDIMENTO AUTOMATICO | QA
Una raccomandazione sul pilastro invisibile dell’apprendimento automatico
Nel mondo affascinante dell’apprendimento automatico (ML), è abbastanza facile lasciarsi coinvolgere nell’entusiasmo di ideare algoritmi sofisticati, visualizzazioni accattivanti e modelli predittivi impressionanti.
Tuttavia, così come la durabilità di un edificio dipende non solo dalla sua struttura visibile ma anche dalle fondamenta nascoste, l’efficacia dei sistemi di apprendimento automatico si basa su un aspetto spesso trascurato ma fondamentale: la qualità dei dati.
L’imperativo dell’assicurazione di qualità dei dati a monte
Pensa al tuo processo di addestramento e inferenza di ML come al viaggio di un treno a vapore.
È fondamentale mantenere la salute del treno stesso – il sistema di ML – ma cosa succede se i binari sono compromessi?
- Le competenze che aiutano i data scientist a crescere
- GPT e Psicologia Umana
- Come diventare Data Scientist di Amazon nel 2023?
Se la qualità dei dati che alimentano il tuo sistema non è garantita a monte, è come avere una traccia ferroviaria danneggiata – il tuo treno è destinato a deragliare, prima o poi, specialmente quando si opera su larga scala.
Pertanto, è fondamentale monitorare la qualità dei dati fin dall’inizio, direttamente dalla fonte.
Come un ispettore di treni che esamina i binari prima di un viaggio, dobbiamo scrutare i nostri dati nel punto di origine.
Ciò può essere realizzato attraverso un concetto noto come ‘ Data Contracts ‘.
Il ruolo dei contratti di dati nel mantenimento della qualità dei dati
Immagina di essere invitato a una cena a buffet, dove ogni ospite porta un piatto.
Senza alcuna coordinazione, potresti finire con un festino composto interamente da dolci!
Allo stesso modo, nel vasto panorama dei dati, deve esserci un accordo (ossia il Data Contract) tra i produttori e i consumatori di dati per garantire che i dati prodotti soddisfino specifici standard di qualità.
Questo contratto è essenzialmente una guida, che comprende una lista non esaustiva di metadati, come:
- Definizione dello schema: Dettagli sulla struttura dei dati, come campi, tipi di dati, ecc.
- Versione dello schema: Garantisce la coerenza alla luce delle modifiche o dei miglioramenti.
- Metadati dell’accordo di livello di servizio (SLA): Specifiche SLA per gestire le aspettative.
- Semantica: Precisa il significato e l’interpretazione dei dati.
- Lineage: Cronaca del percorso dei dati, dall’origine alla destinazione.
Comprendiamo meglio tutto ciò attraverso un’architettura che applica i Data Contracts.
Data Contracts in azione: un’architettura di esempio
Immagina una linea di produzione manifatturiera, in cui ogni lavoratore conosce il proprio ruolo e lo standard che deve raggiungere.
Ora, applichiamo questo concetto alla nostra architettura dei dati.
- Le modifiche allo schema vengono effettuate in primo luogo nel controllo delle versioni e una volta approvate vengono implementate nelle applicazioni di produzione dei dati, nei database e in un Registro dei Contratti di Dati centrale. Qui inizia idealmente l’applicazione del contratto di dati, direttamente nella fase di produzione dei dati stessi. Eventuali passaggi di convalida successivi agiscono come protezioni per evitare che dati di bassa qualità infiltrino il sistema.
- I dati, una volta prodotti, vengono inviati a sistemi di messaggistica come i topic di Kafka. Ciò potrebbe includere eventi emessi direttamente dai servizi dell’applicazione o topic di dati grezzi per i flussi di Cattura dei Dati Modificati (CDC).
- Pensa ora alle applicazioni Flink come guardiani vigili, che consumano dati dai flussi di dati grezzi e li convalidano in base agli schemi nel Registro dei Contratti.
- I dati che non soddisfano il contratto, simili ai rifiuti su una linea di assemblaggio, vengono indirizzati al Topic dei Messaggi Non Consegnati.
- I dati convalidati vengono approvati per il Topic dei Dati convalidati, come merci approvate di qualità pronte per l’imballaggio e la spedizione.
- I dati convalidati vengono quindi inviati a uno storage object per un altro controllo di validazione, agendo come meccanismo di doppio controllo.
- Programmando, i dati nell’Object Storage vengono convalidati rispetto a ulteriori SLA nei Contratti di Dati. Dopo aver superato questa verifica, vengono inviati al Data Warehouse, dove vengono trasformati e modellati per scopi analitici.
- Da qui, i dati modellati e curati seguono un percorso a doppio binario. Vengono inviati al Sistema di Conservazione delle Caratteristiche per ulteriori operazioni di ingegneria delle caratteristiche e le caratteristiche in tempo reale vengono incorporate direttamente dal Topic dei Dati convalidati. Nota che garantire la qualità dei dati in questa fase può essere sfidante a causa della difficoltà di effettuare controlli rispetto agli SLA.
- Questi dati di alta qualità vengono quindi utilizzati nei Pipeline di Addestramento dell’Apprendimento Automatico.
- Gli stessi dati vengono utilizzati per servire le caratteristiche durante l’inferenza.
Ricorda, i sistemi di ML sono anche suscettibili a problemi legati ai dati come il Data Drift e il Concept Drift.
Sebbene questi siano considerati “fallimenti silenziosi” e possano essere monitorati, di solito non sono inclusi nel Contratto dei Dati.
Approfondiremo ulteriormente l’argomento del data drift in un articolo successivo.
Osservazioni conclusive
La forza nascosta dei sistemi di apprendimento automatico risiede nell’integrità invisibile dei dati che li alimentano.
La qualità dei dati, sebbene poco glamour, gioca un ruolo fondamentale nel successo dei progetti di ML.
Il concetto di Contratto dei Dati garantisce che questo aspetto vitale non venga trascurato.
Ricorda, non si tratta solo di costruire il treno più veloce o la stazione più impressionante, ma anche di mantenere la qualità delle rotaie.
Non importa quanto sofisticato possa essere il tuo sistema di apprendimento automatico, senza dati di alta qualità il suo percorso sarà pieno di interruzioni e possibili deragliamenti.
Tieni presente questo e assicurati che la qualità dei dati sia considerata importante nei tuoi sforzi di apprendimento automatico.
Dopotutto, i progressi più entusiasmanti dell’ML si basano non solo su algoritmi rivoluzionari, ma anche su dati affidabili e di alta qualità.
Ti è piaciuto questo articolo? Con $5 al mese, puoi diventare un membro per sbloccare l’accesso illimitato a Nisoo. Stai supportando direttamente me e tutti gli altri tuoi scrittori preferiti su Nisoo. Quindi un enorme grazie per questo!
Unisciti a Nisoo con il mio link di riferimento – David Farrugia
Come membro di Nisoo, una parte della tua quota di iscrizione va agli scrittori che leggi e hai accesso completo a ogni storia…
david-farrugia.medium.com
Vuoi metterti in contatto?
Mi piacerebbe sentire le tue opinioni sull’argomento, o su qualsiasi cosa riguardi l’IA e i dati.
Scrivimi una email a [email protected] se desideri metterti in contatto.