Che cos'è uno stack AI?

Autori

Cole Stryker

Staff Editor, AI Models

IBM Think

Che cos'è uno stack AI?

Uno stack AI è un insieme di tecnologie, framework e componenti infrastrutturali che facilitano l'utilizzo di sistemi di intelligenza artificiale (AI). Fornisce una struttura per la creazione di soluzioni di AI mediante la stratificazione di questi componenti per supportare l'intero ciclo di vita dell'AI.

In modo simile agli stack tecnologici nello sviluppo del software, uno stack AI organizza gli elementi in livelli che lavorano insieme per consentire implementazioni di AI efficienti e scalabili. Questo approccio a più livelli suddivide il complesso processo di creazione di soluzioni AI in componenti gestibili, consentendo ai team di concentrarsi sui singoli aspetti senza perdere di vista il quadro generale.

Ogni livello dello stack rappresenta una funzione specifica, dalla gestione dei dati alla distribuzione del modello, semplificando l'identificazione delle dipendenze, l'allocazione delle risorse e la risoluzione sistematica delle problematiche. Questa visione modulare migliora la chiarezza, soprattutto quando si lavora in team multidisciplinari, in quanto crea una comprensione condivisa di come interagiscono i vari componenti.

Diverse applicazioni di intelligenza artificiale toccheranno più livelli nello stack AI. Ad esempio, Red Hat OpenShift è una piattaforma Kubernetes aziendale progettata per gestire applicazioni containerizzate su larga scala, utilizzata praticamente in tutti i livelli dello stack AI.

I professionisti operanti nello spazio dell'AI organizzano lo stack AI in modo diverso, disponendo i componenti in un ordine diverso o enfatizzando componenti o funzioni diverse. Questo perché gli approcci all'AI possono variare, sia a livello di caso d'uso che a livello organizzativo. Inoltre, il panorama dello sviluppo dell'AI è in continua evoluzione.

Di seguito, una versione generalizzata di uno stack AI aziendale . Per maggiori informazioni sull'approccio di IBM all'intelligenza artificiale generativa(gen AI) e sui modelli linguistici di grandi dimensioni(LLM)(come GPT di OpenAI) puoi consultare lo stack tecnologico di AI generativa di IBM.

Le ultime notizie nel campo della tecnologia, supportate dalle analisi degli esperti

Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e oltre con la newsletter Think. Leggi l' Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Il livello dell'infrastruttura

Il livello infrastrutturale dell'AI costituisce la base su cui vengono sviluppati e implementati i sistemi di AI. Questo livello fornisce la potenza di calcolo, lo storage fisico e gli strumenti necessari per sviluppare, addestrare e fare funzionare i modelli AI in modo efficace. Questo livello supporta l'intero ciclo di vita dell'AI, dalla sperimentazione iniziale all'implementazione su larga scala, ed è composto da diversi componenti chiave.

Calcolo

Per elaborare i dati è necessario dell'hardware fisico. I chip possono essere ottimizzati per i workload dell'AI: le unità di elaborazione a prestazioni elevate chiamate acceleratori AI(GPU, CPU e TPU) riducono drasticamente i tempi di addestramento dei modelli complessi. Inoltre, il computing distribuito consente lo sviluppo di sistemi all'avanguardia e ad alta intensità di risorse come i modelli linguistici di grandi dimensioni.

Le piattaforme di cloud service (ad esempio: AWS, Microsoft Azure, Google Cloud e IBM Cloud) offrono la flessibilità necessaria per scalare le risorse verso l'alto o verso il basso, rendendole accessibili alle aziende di qualsiasi dimensione, mentre l'edge computing supporta il processo decisionale in tempo reale in ambienti remoti o a bassa larghezza di banda. Il livello di calcolo si integra perfettamente con gli strumenti di orchestrazione, ottimizzando l'allocazione delle risorse e contribuendo a garantire l'efficienza dei costi.

Storage

I sistemi di storage fisico devono gestire grandi quantità di dati non elaborati, utilizzati durante il ciclo di vita dell'AI, dai set di dati grezzi ai pesi dei modelli e ai log. Le soluzioni di storage ad alta velocità consentono un accesso rapido ai dati, il che è fondamentale per le attività ad alta intensità di calcolo, come l'addestramento dei modelli di deep learning.

La scalabilità è un'altra caratteristica principale, con file system distribuiti come HDFS o sistemi di object storage (Amazon S3) che supportano le crescenti richieste di dati. Questi sistemi utilizzano spesso strategie di storage a più livelli, conservando i dati a cui si accede di frequente su supporti ad alta velocità mentre archiviano i dati meno utilizzati su soluzioni più lente ed economiche.

I meccanismi di backup and recovery robusti incentivano ulteriormente la resilienza dei dati, combinando opzioni di storage cloud e locale per proteggersi dai guasti.

Networking

L'AI spesso comporta lo spostamento di molti dati da un luogo all'altro con una latenza minima. La rete integra lo storage collegando i vari componenti dell'infrastruttura e rendendo ottimali il trasferimento dei dati e la collaborazione.

AI Academy

Prepararsi all'AI con l'hybrid cloud

Condotto dai migliori leader di pensiero di IBM, il programma di studi è stato progettato per aiutare i dirigenti aziendali ad acquisire le conoscenze necessarie per dare priorità agli investimenti in AI che possono favorire la crescita.

Il livello dati

Si tratta di un'altra parte fondamentale dello stack AI, incentrata sulla raccolta, memorizzazione e preparazione dei dati per i modelli AI. Include database, data lake e data warehouse. I data scientist utilizzano vari strumenti per la data ingestion, la pulizia e la preelaborazione dei dati, tutti facenti parte di questo livello di gestione dei dati.

Dati di alta qualità e ben preparati consentono ai modelli di apprendere in modo efficace, dando vita a previsioni e a processi decisionali migliori. Al contrario, dati di scarsa qualità o distorti possono compromettere l'accuratezza e l'equità dei modelli AI, con conseguenti risultati non ottimali. Investendo in un solido livello di dati, le organizzazioni preparano il terreno per implementazioni AI di successo.

Acquisizione e storage dei dati

I dati possono essere acquisiti da varie fonti, come database strutturati, file di testo non strutturati, immagini, dispositivi IoT, application programming interface (API) o interazioni con l'utente. L'infrastruttura di storage deve essere in grado di gestire grandi volumi di dati diversificati mantenendo al contempo affidabilità e accessibilità.

Le tecnologie includono database relazionali (ad es. MySQL e PostgreSQL), database NoSQL (ad es. MongoDB e Cassandra) e data lake (ad es. Hadoop) per la gestione di dati strutturati e non strutturati.

La data ingestion comporta l'importazione di dati da varie fonti nei sistemi di storage. Strumenti come Apache Kafka automatizzano e gestiscono le pipeline di data ingestion, contribuendo a garantire che i dati fluiscano senza problemi nel sistema.

Pre-elaborazione dei dati

I dati non elaborati spesso richiedono attività di pulizia, normalizzazione e trasformazione prima di poter essere utilizzati nei modelli AI. Ciò comporta la rimozione dei duplicati, il riempimento dei missing value, la standardizzazione dei formati e la codifica delle variabili categoriche.

Il linguaggio di programmazione Python dispone di librerie gratuite per questo scopo, mentre altre tra cui Pandas, NumPy o strumenti come Apache Spark sono comunemente usati per la pre-elaborazione.

Annotazione ed etichettatura dei dati

Per l'apprendimento supervisionato, i dati devono spesso essere etichettati affinché il modello apprenda. Ciò comporta l'etichettatura delle immagini, la categorizzazione del testo o la marcatura delle funzionalità pertinenti. Piattaforme come Labelbox, Amazon SageMaker Ground Truth e strumenti open source come LabelMig facilitano i workflow di annotazione.

Sicurezza e conformità dei dati

Il data storage e il trattamento dei dati devono rispettare le leggi sulla privacy (ad es. GDPR e CCPA). Tecniche di crittografia, controllo degli accessi e anonimizzazione sono spesso utilizzate per proteggere i dati sensibili.

Il livello di sviluppo del modello

È qui che i modelli AI vengono progettati, addestrati e messi a punto per risolvere problemi specifici, determinando l'intelligence e le funzioni principali di un sistema AI. Si basa sul livello di dati utilizzando dati elaborati e puliti per addestrare algoritmi in grado di apprendere modelli, fare previsioni o generare output.

Questo livello stabilisce anche un ciclo di feedback con il livello di dati, consentendo la riqualificazione e il miglioramento via via che nuovi dati diventano disponibili. Questo livello è fondamentale per il ciclo di vita dell'AI, in quanto definisce le prestazioni del sistema nelle applicazioni del mondo reale.

Framework e librerie AI

I framework di machine learning (ML) e deep learning semplificano la creazione e l'addestramento dei modelli. Gli strumenti più diffusi sono TensorFlow, PyTorch, Scikit-learn, Keras e XGBoost, ognuno dei quali è adatto a diversi tipi di attività dell'AI, come la computer vision, l'elaborazione del linguaggio naturale (NLP) o l'analisi dei dati tabellari.

Selezione dell'algoritmo

La scelta del giusto algoritmo di machine learning è fondamentale per ottenere prestazioni ottimali. Gli algoritmi vanno dalla regressione lineare e dai decision tree per attività semplici ad architetture complesse come le reti neurali e i trasformatori. La selezione dipende da fattori tra cui il tipo di dati, il dominio del problema e i vincoli computazionali.

Addestramento del modello

L'addestramento prevede l'inserimento di dati etichettati nel modello, in modo che possa apprendere modelli e relazioni. Questo passaggio richiede risorse computazionali significative per modelli complessi. Il processo di addestramento prevede l'impostazione di iperparametri (ad esempio: velocità di apprendimento e dimensione del batch) e l'ottimizzazione iterativa del modello utilizzando tecniche come la discesa del gradiente.

Progettazione e messa a punto di funzioni

La progettazione di funzioni trasforma i dati non elaborati in input per il modello. Questo passaggio potrebbe includere ridimensionamento, codifica, riduzione della dimensionalità o creazione di nuove funzioni derivate.

Modelli pre-addestrati e transfer learning

L'utilizzo di modelli pre-addestrati, come BERT e ResNet, può ridurre notevolmente i tempi di sviluppo e i costi computazionali. L'apprendimento per trasferimento adatta questi modelli a nuove attività con un addestramento aggiuntivo minimo.

Validazione e ottimizzazione

Dopo che i modelli sono stati sviluppati, spesso devono essere ottimizzati e messi a punto prima della distribuzione. Ciò potrebbe includere l'ottimizzazione degli iperparametri, la compressione del modello e la convalida del modello.

Prima della distribuzione, i modelli vengono valutati utilizzando set di dati di convalida e test separati per misurare metriche delle prestazioni, tra cui accuratezza, precisione, richiamo e punteggio F1. Questo passaggio aiuta a garantire che il modello si generalizzi bene e funzioni in modo affidabile su dati non visibili.

Il livello di distribuzione del modello

Il livello di distribuzione del modello è il punto in cui i modelli di machine learning passano dallo sviluppo all'uso pratico, fornendo previsioni o inferenze in ambienti live.

La distribuzione comprende la preparazione di modelli in formati distribuibili, spesso utilizzando tecnologie di containerizzazione, promuovendo la coerenza e la portabilità tra ambienti diversi. Questi container vengono quindi gestiti e scalati utilizzando piattaforme di orchestrazione, consentendo il bilanciamento del carico, la tolleranza ai guasti e l'alta disponibilità.

I modelli distribuiti sono in genere esposti tramite API o microservizi che utilizzano framework come TensorFlow Serving, NVIDIA Triton o soluzioni personalizzate, che consentono una perfetta integrazione con sistemi aziendali, app o piattaforme web.

Il livello applicativo

Il livello applicativo è quello in cui i modelli AI vengono integrati nei sistemi del mondo reale per fornire insight fruibili e guidare il processo decisionale, e rappresenta la parte più vicina all'utente dello stack AI. Questo livello integra le funzionalità dell'AI in applicazioni software, prodotti e servizi.

In questa fase, i modelli AI diventano parte della logica aziendale, automatizzando le attività, migliorando i workflow o alimentando funzionalità intelligenti, come i sistemi di raccomandazione, l'analytics predittiva, l'elaborazione del linguaggio naturale o la computer vision. Queste funzionalità sono in genere accessibili tramite API o sono inserite all'interno di microservizi, al fine di incoraggiare l'interazione ottimale con altri componenti dell'ecosistema.

Un obiettivo chiave del livello applicativo è l'usabilità. La funzionalità di AI è spesso avvolta in interfacce utente intuitive che utilizzano visualizzazioni e altre presentazioni per comunicare le informazioni in modo chiaro e interpretabile, consentendo agli utenti di comprendere e agire in base a insight basati sull'AI.

Ad esempio, un rilevamento delle frodi basato su AI potrebbe segnalare le transazioni sospette all'interno di una piattaforma finanziaria e generare una notifica attraverso l'automazione, mentre l'esperienza utente di un chatbot interagisce con gli utenti in tempo reale.

Livelli di osservabilità e governance

Il livello di osservabilità facilita il monitoraggio, il tracciamento e la valutazione dei workflow di AI. Fornisce la visibilità e gli insight necessari per comprendere il funzionamento dei modelli AI in ambienti reali, consentendo ai team di identificare e risolvere tempestivamente i problemi, mantenere lo stato di salute del sistema e migliorare le prestazioni nel tempo.

Al centro dell'osservabilità ci sono strumenti e framework che tracciano varie metriche relative sia ai modelli AI che all'infrastruttura su cui vengono eseguiti.

Il livello di governance è il framework che aiuta a garantire che i sistemi di AI siano distribuiti, utilizzati e mantenuti in modo responsabile, etico e in linea con gli standard organizzativi e societari.

Questo livello è fondamentale per gestire i rischi, promuovere la trasparenza e generare fiducia nelle tecnologie AI. Comprende politiche e processi per supervisionare il ciclo di vita dei modelli AI con normative legali, principi etici e obiettivi organizzativi.

Una funzione primaria del livello di governance è la definizione di politiche di raccolta e utilizzo dei dati insieme a framework di conformità per aderire a normative come il regolamento generale sulla protezione dei dati (GDPR), l'Health Insurance Portability and Accountability Act (HIPAA) o le linee guida specifiche per l'AI, tra cui l'EU AI Act. Questi framework definiscono il modo in cui i dati vengono raccolti, memorizzati e utilizzati, incoraggiando la privacy e la sicurezza.

Inoltre, la governance include la creazione di meccanismi di verificabilità e tracciabilità, che consentano alle organizzazioni di registrare e tenere traccia delle decisioni basate sull'AI, delle modifiche ai modelli e dell'utilizzo dei dati, il che è fondamentale per la responsabilità e la risoluzione di controversie o errori.

Il livello di governance affronta anche questioni di equità, bias e spiegabilità nei sistemi di AI. Si tratta di implementare strumenti e tecniche per rilevare e mitigare i pregiudizi nei dati di addestramento o negli output dei modelli, contribuendo a incoraggiare i sistemi AI a operare in modo equo tra popolazioni diverse.

Il vantaggio dell'approccio di stack AI

Considerare l'AI come uno stack promuove la scalabilità, la flessibilità e l'efficienza. I team possono lavorare all'aggiornamento di livelli specifici per trarre beneficio dai progressi più recenti senza rivedere l'intero sistema, consentendo miglioramenti e adattamenti iterativi via via che le tecnologie e le esigenze aziendali evolvono.

Ad esempio, è possibile passare da un provider di cloud a un altro nel livello dell'infrastruttura o adottare un nuovo framework di machine learning nel livello di sviluppo del modello senza interrompere l'applicazione.

Questa prospettiva a più livelli semplifica anche il benchmarking e il monitoraggio di ogni fase del ciclo di vita dell'AI, contribuendo a garantire che le prestazioni, la conformità e l'affidabilità siano mantenute in ogni fase. L'approccio stack semplifica la complessità dell'AI, rendendola più accessibile e attuabile per le organizzazioni di qualsiasi dimensione.

Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno strumento aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una quantità di dati minima.

Scopri watsonx.ai
Infrastruttura AI

IBM Infrastructure è sicuro, scalabile, aperto, indennizzato e progettato per supportare la natura altamente dinamica e ad alta intensità di prestazioni dei workload AI, offrendo al contempo operazioni AI sostenibili che riducono i costi, i rischi e il consumo energetico.

Esplora l'infrastruttura AI
Consulenza e servizi sull'AI

Reinventa i workflow e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Prossimi passi

Potenzia i tuoi workload AI con un'infrastruttura ottimizzata per prestazioni, affidabilità e integrazione hybrid cloud, progettata per le reali esigenze aziendali.

Esplora le soluzioni per l'infrastruttura AI Ottieni maggiori informazioni