Gli analisti stimano che entro il 2025, il 30% dei dati generati saranno dati in tempo reale. Si tratta di 52 zettabyte (ZB) di dati in tempo reale all’anno, all’incirca la quantità di dati totali prodotti nel 2020. Poiché i volumi di dati sono cresciuti così rapidamente, 52 ZB sono tre volte la quantità di dati totali prodotti nel 2015. Con questo valore esponenziale crescita, è chiaro che la conquista dei dati in tempo reale è il futuro della scienza dei dati.
Nell’ultimo decennio, tecnologie come Materialise, Deephaven, Kafka e Redpanda hanno sviluppato tecnologie per lavorare con questi flussi di dati in tempo reale. Possono trasformare, trasmettere e rendere persistenti flussi di dati al volo e fornire gli elementi costitutivi di base necessari per costruire applicazioni per la nuova realtà in tempo reale. Ma per rendere davvero utili tali enormi volumi di dati, è necessario utilizzare l’intelligenza artificiale (AI).
Le aziende hanno bisogno di una tecnologia approfondita in grado di creare conoscenza e comprensione con il minimo intervento umano per stare al passo con l’ondata di dati in tempo reale. Tuttavia, mettere in pratica questa idea di applicare algoritmi di intelligenza artificiale ai dati in tempo reale è ancora agli inizi. Gli hedge fund specializzati e i grandi giocatori di intelligenza artificiale, come Google e Facebook, utilizzano l’IA in tempo reale, ma pochi altri sono entrati in queste acque.
Per rendere onnipresente l’IA in tempo reale, è necessario sviluppare un software di supporto. Questo software deve fornire:
Un percorso facile per passare dai dati statici a quelli dinamici
Un percorso facile per pulire i dati statici e dinamici
Un percorso facile per passare dalla creazione e convalida del modello alla produzione
Un percorso facile per gestire il software man mano che cambiano i requisiti e il mondo esterno
Un percorso facile per passare dai dati statici a quelli dinamici
Gli sviluppatori e i data scientist vogliono passare il loro tempo a pensare a importanti problemi di intelligenza artificiale, senza preoccuparsi del dispendioso sistema idraulico dei dati. A un data scientist non dovrebbe interessare se i dati sono una tabella statica di Pandas o una tabella dinamica di Kafka. Entrambi sono tabelle e dovrebbero essere trattati allo stesso modo. Sfortunatamente, la maggior parte dei sistemi di generazione attuale tratta i dati statici e dinamici in modo diverso. I dati vengono ottenuti in modi diversi, interrogati in modi diversi e utilizzati in modi diversi. Ciò rende le transizioni dalla ricerca alla produzione costose e laboriose.
Per ottenere davvero valore dall’IA in tempo reale, gli sviluppatori e i data scientist devono essere in grado di passare senza interruzioni dall’utilizzo di dati statici a dati dinamici all’interno dello stesso ambiente software. Ciò richiede API comuni e un framework in grado di elaborare dati statici e in tempo reale in modo coerente con l’UX.
Un percorso facile per pulire i dati statici e dinamici
Il lavoro più sexy per ingegneri di intelligenza artificiale e data scientist è la creazione di nuovi modelli. Sfortunatamente, la maggior parte del tempo di un ingegnere di intelligenza artificiale o di un data scientist è dedicato all’attività di bidello dei dati. I set di dati sono inevitabilmente sporchi e devono essere puliti e massaggiati nella forma corretta. Questo è un lavoro ingrato e che richiede tempo. Con un flusso di dati in tempo reale in crescita esponenziale, l’intero processo deve richiedere meno lavoro umano e deve funzionare sia su dati statici che in streaming.
In pratica, la pulizia dei dati semplice si ottiene disponendo di un modo conciso, potente ed espressivo per eseguire operazioni di pulizia dei dati comuni che funzionano sia su dati statici che dinamici. Ciò include la rimozione di dati non validi, il riempimento di valori mancanti, l’unione di più origini dati e la trasformazione dei formati di dati.
Attualmente, esistono alcune tecnologie che consentono agli utenti di implementare la pulizia dei dati e la logica di manipolazione una sola volta e di utilizzarla sia per i dati statici che in tempo reale. Materialise e ksqlDb consentono entrambi query SQL di flussi Kafka. Queste opzioni sono buone scelte per casi d’uso con logica relativamente semplice o per sviluppatori SQL. Deephaven ha un linguaggio di query orientato alla tabella che supporta Kafka, Parquet, CSV e altri formati di dati comuni. Questo tipo di linguaggio di query è adatto per logiche più complesse e matematiche o per sviluppatori Python.
Un percorso facile per passare dalla creazione e convalida del modello alla produzione
Molti, forse anche la maggior parte, i nuovi modelli di intelligenza artificiale non passano mai dalla ricerca alla produzione. Questo ostacolo è dovuto al fatto che la ricerca e la produzione sono in genere implementate utilizzando ambienti software molto diversi. Gli ambienti di ricerca sono orientati a lavorare con set di dati statici di grandi dimensioni, calibrazione del modello e convalida del modello. D’altra parte, gli ambienti di produzione fanno previsioni sui nuovi eventi man mano che arrivano. Per aumentare la frazione di modelli di intelligenza artificiale che hanno un impatto sul mondo, i passaggi per passare dalla ricerca alla produzione devono essere estremamente semplici.
Considera uno scenario ideale: in primo luogo, i dati statici e in tempo reale sarebbero accessibili e manipolati tramite la stessa API. Ciò fornisce una piattaforma coerente per creare applicazioni utilizzando dati statici e/o in tempo reale. In secondo luogo, la pulizia dei dati e la logica di manipolazione verrebbero implementate una volta per l’uso sia nella ricerca statica che nei casi di produzione dinamica. Duplicare questa logica è costoso e aumenta le probabilità che la ricerca e la produzione differiscano in modi inaspettati e consequenziali. In terzo luogo, i modelli di intelligenza artificiale sarebbero facili da serializzare e deserializzare. Ciò consente di sostituire i modelli di produzione semplicemente modificando un percorso di file o un URL. Infine, il sistema semplificherebbe il monitoraggio, in tempo reale, delle prestazioni dei modelli di IA di produzione in natura.
Un percorso facile per gestire il software man mano che cambiano i requisiti e il mondo esterno
Il cambiamento è inevitabile, soprattutto quando si lavora con dati dinamici. Nei sistemi di dati, queste modifiche possono riguardare origini dati di input, requisiti, membri del team e altro ancora. Non importa quanto accuratamente venga pianificato un progetto, sarà costretto ad adattarsi nel tempo. Spesso questi adattamenti non accadono mai. Il debito tecnico accumulato e le conoscenze perse a causa dei cambi di personale uccidono questi sforzi.
Per gestire un mondo che cambia, l’infrastruttura di intelligenza artificiale in tempo reale deve rendere tutte le fasi di un progetto (dalla formazione alla convalida alla produzione) comprensibili e modificabili da un team molto piccolo. E non solo il team originale per cui è stato creato, ma dovrebbe essere comprensibile e modificabile da nuove persone che ereditano le applicazioni di produzione esistenti.
Quando l’onda di marea dei dati in tempo reale colpisce, vedremo innovazioni significative nell’IA in tempo reale. L’IA in tempo reale andrà oltre i Google e i Facebook del mondo e entrerà nel kit di tutti gli ingegneri dell’IA. Otterremo risposte migliori, più velocemente e con meno lavoro. Ingegneri e data scientist potranno dedicare più tempo a concentrarsi su soluzioni in tempo reale interessanti e importanti. Le aziende riceveranno risposte tempestive e di qualità superiore da un minor numero di dipendenti, riducendo le sfide legate all’assunzione di talenti dell’IA.
Quando avremo strumenti software che facilitano questi quattro requisiti, saremo finalmente in grado di ottenere correttamente l’IA in tempo reale.