Costruire una piattaforma di dati e intelligenza artificiale sicura e scalabile |  di Adil Rizvi |  Febbraio 2024

 | Intelligenza-Artificiale

Potenziare il business attraverso un processo decisionale basato sui dati

fotografato da Igor Omilaev SU Unsplash

Negli ultimi quattro anni, ho avuto l’occasione d’oro di guidare la strategia, la progettazione e l’implementazione di piattaforme di big data e intelligenza artificiale su scala globale su non una ma due piattaforme cloud pubbliche: AWS e GCP. Inoltre, il mio team ha reso operativi oltre 70 casi d’uso di data science/machine learning (DSML) e 10 applicazioni digitali, contribuendo a una crescita dei ricavi di oltre 100 milioni di dollari.

Il viaggio è stato pieno di sfide entusiasmanti e di alcune curve di apprendimento ripide, ma i risultati finali sono stati di grande impatto. Attraverso questo post, voglio condividere i miei insegnamenti e le mie esperienze, che aiuteranno gli altri innovatori tecnologici a riflettere sul loro processo di pianificazione e a superare la loro implementazione.

Questo post si concentrerà principalmente sul costrutto fondamentale per fornire un quadro olistico dell’ecosistema produttivo complessivo. Nei post successivi discuterò delle scelte tecnologiche e condividerò prescrizioni più dettagliate.

Vorrei iniziare illustrandovi gli elementi costitutivi della piattaforma dati e intelligenza artificiale.

Architettura end-to-end a livello di blocco dei dati e della piattaforma AI

Pensare all’architettura end-to-end è un’ottima idea in quanto puoi evitare la trappola comune di fare le cose in modo rapido e sporco. Dopotutto, l’output del tuo modello ML è buono quanto i dati che gli stai fornendo. E non vuoi scendere a compromessi sulla sicurezza e l’integrità dei dati.

1. Acquisizione e immissione dei dati

La creazione di un framework DataOps ben architettato è essenziale per il processo complessivo di onboarding dei dati. Molto dipende dalla fonte che genera i dati (strutturati o non strutturati) e dal modo in cui li ricevi (batch, replica, quasi in tempo reale, in tempo reale).

Man mano che si acquisiscono i dati, esistono diversi modi per integrarli:

  1. Estrai → Carica (non è necessaria alcuna trasformazione)
  2. Estrai → Carica → Trasforma (utilizzato principalmente nei caricamenti batch)
  3. Estrai → Trasforma → Carica (funziona meglio per lo streaming di dati)

Gli ingegneri delle funzionalità devono combinare ulteriormente i dati per creare funzionalità (ingegneria delle funzionalità) per i casi d’uso del machine learning.

2. Archiviazione dei dati

Scegliere l’archiviazione ottimale dei dati è essenziale e i bucket di archiviazione di oggetti come S3, GCS o archiviazione BLOB sono le opzioni migliori per importare dati grezzi, principalmente per dati non strutturati.

Per i casi d’uso di pura analisi, inoltre se stai portando dati strutturati SQL, puoi anche inserire i dati direttamente in un data warehouse sul cloud (Big Query, ecc.). Molti team di tecnici preferiscono inoltre utilizzare un archivio di data warehouse (diverso dall’archiviazione di oggetti). La scelta dipenderà dai casi d’uso e dai costi coinvolti. Procedi con saggezza!

In genere, è possibile importare direttamente i dati da fonti interne ed esterne (di prima e terza parte) senza alcun passaggio intermedio.

Tuttavia, esistono alcuni casi in cui il fornitore di dati avrà bisogno di accedere al tuo ambiente per le transazioni di dati. Pianifica una landing zone di terze parti in una configurazione DMZ per evitare di esporre l’intero sistema dati ai fornitori.

Inoltre, per i dati relativi alla conformità come PCI, PII e dati regolamentati come GDPR, MLPS, AAPI, CCPA, ecc., crea zone di archiviazione strutturate per trattare i dati in modo sensato fin dall’inizio.

Ricordarsi di pianificare policy di conservazione e backup in base ai requisiti di viaggio nel tempo o di contesto storico dei report di analisi e modello ML. Sebbene l’archiviazione sia economica, l’accumulo di dati nel tempo aumenta i costi in modo esponenziale.

3. Governance dei dati

Mentre la maggior parte delle organizzazioni è brava a trasferire e archiviare i dati, la maggior parte dei team di ingegneri ha bisogno di aiuto per rendere i dati fruibili per gli utenti finali.

I principali fattori che portano a una scarsa adozione sono:

  1. Competenza sui dati inadeguata nell’organizzazione
  2. Assenza di un catalogo dati e di un dizionario dati ben definiti (metadati)
  3. Inaccessibilità all’interfaccia di query

I team dati devono collaborare con team legali, privacy e sicurezza per comprendere le normative nazionali e regionali sui dati e i requisiti di conformità per una corretta governance dei dati.

Diversi metodi che potresti utilizzare per implementare la governance dei dati sono:

  1. Mascheramento e anonimizzazione dei dati
  2. Controllo degli accessi basato sugli attributi
  3. Localizzazione dei dati

La mancata protezione adeguata dell’archiviazione e dell’accesso ai dati potrebbe esporre l’organizzazione a problemi legali e sanzioni associate.

4. Modelli di consumo dei dati

Man mano che i dati vengono trasformati e arricchiti in KPI aziendali, la presentazione e il consumo dei dati hanno aspetti diversi.

Per la pura visualizzazione e dashboarding, tutto ciò di cui avrai bisogno è un semplice accesso ai dati archiviati e all’interfaccia di query.

Man mano che i requisiti diventano più complessi, come la presentazione dei dati ai modelli di machine learning, è necessario implementare e migliorare l’archivio delle funzionalità. Questo dominio necessita di maturità e la maggior parte delle soluzioni native del cloud sono ancora nelle fasi iniziali di preparazione a livello di produzione.

Inoltre, cerca un livello dati orizzontale in cui puoi presentare i dati tramite API per l’utilizzo da parte di altre applicazioni. GraphQL è una buona soluzione per aiutare a creare il livello dei microservizi, che aiuta in modo significativo con la facilità di accesso (dati come servizio).

Man mano che si matura quest’area, è necessario strutturare i dati in domini di prodotti dati e trovare amministratori dei dati all’interno delle unità aziendali che possano essere i custodi di quel dominio.

5. Apprendimento automatico

Dopo l’elaborazione dei dati, esiste un approccio in due fasi al Machine Learning: sviluppo del modello e distribuzione e governance del modello.

Rendere operativa la piattaforma AI

Nella fase di sviluppo del modello, gli ingegneri ML collaborano strettamente con i data scientist fino a quando il modello non è assemblato e pronto per essere distribuito. La scelta di framework e funzionalità ML e la collaborazione con DS per l’ottimizzazione degli iperparametri e l’addestramento dei modelli fanno tutti parte del ciclo di vita dello sviluppo.

La creazione di pipeline di distribuzione e la scelta dello stack tecnologico per rendere operativo e servire il modello rientrano in MLOps. Gli ingegneri MLOps forniscono anche la gestione dei modelli ML, che include monitoraggio, punteggio, rilevamento della deriva e avvio della riqualificazione.

L’automazione di tutti questi passaggi nel ciclo di vita del modello ML aiuta a scalare.

Non dimenticare di archiviare tutti i modelli addestrati in un registro di modelli ML e di promuovere il riutilizzo per operazioni efficienti.

6. Operazioni di produzione

Servire l’output del modello richiede una collaborazione costante con altre aree funzionali. Una pianificazione avanzata e canali di comunicazione aperti sono fondamentali per garantire che i calendari dei rilasci siano ben allineati. Si prega di farlo per evitare scadenze non rispettate, conflitti nella scelta della tecnologia e problemi a livello di integrazione.

A seconda del livello di consumo e degli obiettivi di distribuzione, pubblicheresti l’output del modello (endpoint del modello) tramite API o faresti in modo che le applicazioni recuperino direttamente l’inferenza dallo store. L’utilizzo di GraphQL insieme all’API Gateway è un modo efficiente per realizzarlo.

7. Livello di sicurezza

Scollega il piano di gestione e crea un livello di servizi condivisi, che sarà il principale punto di ingresso-uscita per gli account cloud. Sarà anche il tuo punto di incontro per i cloud pubblici/privati ​​esterni e interni all’interno della tua organizzazione.

Servizi condivisi: Google Cloud Platform
Servizi condivisi: Amazon Web Services

Le policy di controllo dei servizi (AWS) o i vincoli delle policy organizzative (GCP) dovrebbero essere centralizzati e proteggere le risorse dalla creazione o dall’hosting senza controlli di accesso adeguati.

8. Interfaccia di gestione utente/Livello di consumo

È consigliabile scegliere in anticipo la struttura dei propri account cloud. Puoi strutturarli in linee di business (LOB) OPPURE, domini di prodotto O un mix di entrambi. Inoltre, progetta e separa i tuoi ambienti di sviluppo, gestione temporanea e produzione.

Sarebbe meglio se centralizzassi anche la tua toolchain DevOps. Preferisco un set di strumenti indipendente dal cloud per supportare la perfetta integrazione e transizione tra un ecosistema multi-cloud ibrido.

Per gli IDE per sviluppatori, potrebbe esserci un mix di IDE individuali e condivisi. Assicurati che gli sviluppatori controllino frequentemente il codice in un repository di codice; altrimenti rischiano di perdere il lavoro.

Configurazione GCP con toolchain DevSecOps indipendente dal cloud

Processo di scienza dei dati end-to-end

Navigare attraverso le dinamiche organizzative e riunire le parti interessate su un obiettivo comune allineato è vitale per il successo della distribuzione della produzione e delle operazioni in corso.

Condivido i flussi di lavoro e i processi interfunzionali che fanno funzionare senza intoppi questo motore complesso.

Processo di distribuzione end-to-end del modello di data science

Conclusione

Speriamo che questo post abbia stimolato i tuoi pensieri, suscitato nuove idee e ti abbia aiutato a visualizzare il quadro completo della tua impresa. È un compito complesso, ma con una progettazione ben ponderata, un’esecuzione adeguatamente pianificata e molte partnership interfunzionali, lo affronterai facilmente.

Un ultimo consiglio: non creare soluzioni tecnologiche solo perché sembra interessante. Inizia comprendendo il problema aziendale e valutando il potenziale ritorno sull’investimento. In definitiva, l’obiettivo è creare valore aziendale e contribuire alla crescita dei ricavi dell’azienda.

Buona fortuna con la creazione o il perfezionamento dei tuoi dati e della tua piattaforma AI.

Fai un buon viaggio!

~ Adil {LinkedIn}

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *