Cos'è LLMOps?

Copia URL

I modelli linguistici di grandi dimensioni (LLM) sono modelli di machine learning (ML) che svolgono attività collegate all'utilizzo del linguaggio, come tradurre, rispondere a domande, portare avanti conversazioni in chat, riassumere e generare codice e contenuti. LLM come GPT-3, LLaMA e Falcon sono strumenti innovativi che vengono addestrati su set di dati e sono in grado di rispondere a domande. Essendo strumenti in continua evoluzione, occorre che le aziende definiscano delle procedure consigliate per utilizzare e gestire tali modelli. La metodologia LLMOps si inserisce in questo contesto allo scopo di supportarne l'adozione.

Il termine LLMOps (Large Language Model Operations) si riferisce a un insieme di pratiche, tecniche e strumenti per la gestione operativa dei modelli linguistici di grandi dimensioni in ambienti di produzione. Questo approccio prevede l'impiego di strumenti e metodologie per la gestione e l'automazione del ciclo di vita degli LLM, dalla fase di fine tuning a quella di manutenzione. L'introduzione di operazioni specifiche per i modelli semplifica il deployment, il monitoraggio e l'aggiornamento dei modelli linguistici di grandi dimensioni, a vantaggio di data scientist, ingegneri e team IT.

Gli LLM sono un sottoinsieme dei modelli di ML e la metodologia LLMOp è l'equivalente della metodologia MLOps (Machine Learning Operations) ma per i modelli linguistici di grandi dimensioni. Con MLOps si intende un insieme di metodologie per i flussi di lavoro progettato per semplificare il processo di distribuzione e gestione dei modelli di ML. MLOps punta a creare un processo continuo e in costante evoluzione per l'integrazione dei modelli di ML nei processi di sviluppo software. Allo stesso modo LLMOps ha l'obiettivo di creare un processo continuo di sperimentazione, iterazione, distribuzione e miglioramento per il ciclo di vita dello sviluppo e del deployment degli LLM.

LLMOps e MLOps presentano molti punti in comune, ma anche delle differenze. Le principali sono:

Apprendimento: molti dei modelli di ML tradizionali sono creati o addestrati da zero, gli LLM invece sono creati a partire da un modello di base su cui si esegue un processo di fine tuning con nuovi dati per migliorare le prestazioni del modello in ambiti specifici.

Ottimizzazione: per gli LLM il fine tuning è un processo che permette di migliorare le prestazioni di specifiche applicazioni e di incrementare l'accuratezza apportando maggiori conoscenze su un determinato argomento. Il fine tuning dei prompt è un processo efficiente che aumenta la capacità degli LLM di eseguire specifici task. Un'altra differenza è l'ottimizzazione degli iperparametri. Nell'ML tradizionale il processo di ottimizzazione è volto a migliorare l'accuratezza o altre metriche, mentre nel caso degli LLM l'ottimizzazione ha tra gli obiettivi primari anche la riduzione dei costi e della potenza di elaborazione necessari per l'addestramento e l'inferenza. Sia i modelli di ML classici che gli LLM traggono vantaggi notevoli dal monitoraggio e dalla razionalizzazione del processo di ottimizzazione, ma per finalità diverse. Infine, è importante ricordare anche la retrieval-augmented generation (RAG) o generazione potenziata dal recupero, un processo supplementare utilizzabile in combinazione al fine tuning per incrementare l'accuratezza delle risposte. La RAG prevede di impiegare una base di conoscenza esterna per garantire che vengano forniti fact aggiornati e accurati al modello LLM quando lo si interroga in modo che possa generare un output migliore.

Feedback: l'apprendimento per rinforzo da feedback umano (RLHF) è una tecnica utilizzata per l'addestramento degli LLM. Poiché i task sono spesso molto variabili, ricevere un feedback dagli utenti finali dell'applicazione è essenziale per valutare le prestazioni di un LLM. Mentre gli LLM sfruttano il feedback umano per valutare l'accuratezza e la coerenza dei loro output, i modelli di ML tradizionali valutano l'accuratezza delle loro risposte ai prompt in base a metriche specifiche e automatizzate.

Valutazione delle prestazioni: i modelli di ML valutano le prestazioni in base a metriche chiaramente definite come accuratezza, AUC, F1 score, ecc. Gli LLM invece utilizzano una serie di metriche e punteggi differenti come il Bilingual Evaluation Understudy (BLEU) e il Recall-Oriented Understudy for Gisting Evaluation (ROUGE).

LLMOps sta diventando la scelta ottimale per monitorare e migliorare le prestazioni degli LLM nel tempo. I vantaggi principali di questo approccio sono tre:

Efficienza: LLMOps contribuisce ad accelerare lo sviluppo dei modelli e delle pipeline, erogare modelli di alta qualità e distribuirli in produzione più rapidamente. Ottimizzare le iniziative favorisce la collaborazione fra i team che possono comunicare e condividere informazioni su una piattaforma unificata.

Scalabilità: LLMOps migliora la scalabilità e la gestione perché permette di controllare, gestire e monitorare più modelli e assicura l'integrazione e la distribuzione continue (CI/CD) Le pipeline di LLM promuovono la collaborazione, riducono le divergenze e velocizzano i cicli di rilascio. Inoltre, migliorando la latenza dei modelli, LLMOps contribuisce anche a ottimizzare l'esperienza dell'utente.

Riduzione del rischio: LLMOps aumenta la trasparenza, accelera i tempi di risposta alle richieste e garantisce la conformità alle policy aziendali e di settore. Un approccio LLMOps avanzato, incentrato sulla tutela delle informazioni sensibili, è in grado di migliorare la sicurezza e la privacy, oltre a prevenire vulnerabilità e accessi non autorizzati.

Di seguito sono riportati alcuni scenari di utilizzo della metodologia LLMOps.

Integrazione e distribuzione continue (CI/CD): l'approccio CI/CD permette di semplificare, accelerare e automatizzare il ciclo di vita dello sviluppo dei modelli. Strumenti come Jenkins, che introducono pratiche di sviluppo e test continui dei progetti, semplificano il lavoro degli sviluppatori che possono integrare le modifiche ai progetti più agevolmente e migliorano l'esperienza degli utenti finali che possono ottenere più facilmente un nuova build. In questo modo si snelliscono i processi di aggiornamento e rollback dei modelli e si riducono al minimo le interruzioni per gli utenti.

Raccolta, etichettatura e storage dei dati: la raccolta dei dati attinge a un numero sufficiente di sorgenti, settori e lingue. L'etichettatura dei dati con input umano permette ai modelli di elaborare previsioni più accurate in un determinato ambito. Adottando database e soluzioni di storage dei dati efficaci si possono conservare le informazioni digitali lungo tutto il ciclo di vita di un LLM.

Fine tuning, inferenza e monitoraggio del modello: il fine tuning del modello serve a ottimizzarne le prestazioni su specifici task. L'inferenza del modello può gestire la produzione in base alla conoscenza esistente ed eseguire le azioni in base alle informazioni dedotte. Il monitoraggio del modello, incluso il feedback umano, raccoglie e archivia i dati relativi al comportamento del modello per apprendere come si comportano i modelli con i dati di produzione reali.

LLMOps si compone di diverse fasi e per ciascuna esistono delle procedure consigliate:

Analisi esplorativa dei dati (EDA): il processo di analisi volto a rilevare, condividere e preparare i dati per il ciclo di vita del machine learning attraverso la creazione di set di dati, tabelle e visualizzazioni.

  • Raccolta dei dati: il primo passo per l'addestramento di un LLM consiste nell'acquisire dati da un'ampia gamma di sorgenti, come repository di codice e social media.
  • Pulizia dei dati: una volta terminata l'acquisizione, occorre pulire e preparare i dati per l'addestramento, ovvero eliminare gli errori, correggere le incoerenze e rimuovere i doppioni.
  • Esplorazione dei dati: il passaggio successivo prevede di esaminare i dati al fine di comprenderne le peculiarità, come la presenza di dati estranei o di schemi.

Preparazione dei dati e ingegneria dei prompt: il processo che consente di rendere i dati visibili e condivisibili fra i team e di sviluppare prompt per query strutturate e affidabili per gli LLM.

  • Preparazione dei dati: i dati utilizzati nell'addestramento di un LLM subiscono processi di preparazione specifici, come l'eliminazione delle stop word e la normalizzazione del testo.
  • Ingegneria dei prompt: la creazione di prompt che verranno utilizzati per generare testo aiuta a garantire che gli LLM producano l'output desiderato.

Fine tuning del modello: l'utilizzo di librerie open source molto diffuse, come PyTorch, per ottimizzare le prestazioni di un modello.

  • Addestramento del modello: una volta conclusa la preparazione dei dati, si passa all'addestramento del modello LLM, o al fine tuning, che consiste nell'utilizzare un algoritmo di machine learning per individuare gli schemi nei dati.
  • Valutazione del modello: concluso l'addestramento, si testano le prestazioni del modello utilizzando un set di dati apposito che non è stato utilizzato in fase di addestramento.
  • Fine tuning del modello: se le prestazioni non sono soddisfacenti, si ottimizza il modello modificando i parametri.

Verifica e governance del modello: il processo volto a favorire il rilevamento, la condivisione e la collaborazione tra i modelli di ML con il supporto di piattaforme MLOps open source come MLflow e Kubeflow.

  • Verifica del modello: terminato il fine tuning, è necessario sottoporre il modello LLM a un processo di verifica, che comprende l'individuazione di bias, vulnerabilità e rischi per la sicurezza, allo scopo di garantire la sicurezza e l'affidabilità del modello.
  • Governance del modello: il processo di gestione dell'intero ciclo di vita di un LLM. Include il monitoraggio delle prestazioni, l'applicazione di modifiche e il ritiro del modello quando non è più necessario.

Inferenza e serving del modello: l'analisi della frequenza di aggiornamento del modello, dei tempi di richiesta delle inferenze e lo svolgimento di altri test di produzione.

  • Serving del modello: una volta esaminato e approvato, il modello LLM può essere distribuito in produzione e reso disponibile tramite un'interfaccia di programmazione delle applicazioni (API).
  • Inferenza del modello: le applicazioni possono interrogare l'API tramite query per ottenere testo o la risposta a una domanda. Il processo può avvenire in diversi modi, ad esempio attraverso un'API REST o un'applicazione web.

Monitoraggio del modello e feedback umano: la creazione di pipeline per il monitoraggio dei dati e del modello che generano avvisi in caso di alterazioni del modello e comportamenti dannosi da parte degli utenti.

  • Monitoraggio del modello: una volta distribuito, il modello LLM deve essere sottoposto a controllo costante per garantirne il corretto funzionamento attraverso il monitoraggio delle prestazioni, l'identificazione di eventuali problemi e l'applicazione delle modifiche necessarie.
  • Feedback umano: una tecnica che ha l'obiettivo di migliorare le prestazioni del modello LLM. Consiste nel fornire un feedback sul testo generato dal modello o nell'identificare eventuali problemi relativi alle prestazioni.

Una piattaforma LLMOps offre a data scientist e ingegneri del software un ambiente collaborativo che agevola l'esplorazione dei dati e include funzionalità per il monitoraggio degli esperimenti, l'ingegneria dei prompt e la gestione di modelli e pipeline. Fornisce inoltre funzionalità per la transizione controllata, l'implementazione e il monitoraggio degli LLM.

Una piattaforma LLMOps permette di ottimizzare la gestione della libreria e ridurre così non solo i costi operativi ma anche il personale specializzato necessario per completare le attività. Le operazioni includono l'elaborazione preliminare dei dati, l'addestramento del modello linguistico, il monitoraggio, il fine tuning e il deployment. LLMOps permette di automatizzare tutti gli aspetti relativi a operazioni, sincronizzazione e monitoraggio nel ciclo di vita del machine learning.

Red Hat® OpenShift®, una piattaforma applicativa leader di settore che si basa su tecnologia Kubernetes, permette di accelerare il rilascio di applicazioni basate sull'intelligenza artificiale negli ambienti cloud ibridi, dal datacenter, all'edge della rete agli ambienti cloud.

Con Red Hat OpenShift, le organizzazioni automatizzano e semplificano il processo iterativo di integrazione dei modelli di ML nei processi di sviluppo software, rollout in produzione, monitoraggio, riaddestramento e ridistribuzione per previsioni sempre costanti.

Red Hat OpenShift AI è una piattaforma MLOps, flessibile e scalabile, dotata di strumenti per creare, distribuire e gestire le applicazioni basate sull'intelligenza artificiale. Semplifica le attività di data scientist e sviluppatori delle applicazioni perché agevola l'integrazione dell'intelligenza artificiale (IA) nelle applicazioni e garantisce sicurezza, coerenza e scalabilità. OpenShift AI supporta l'intero ciclo di vita dei modelli e degli esperimenti di AI/ML, sia on premise che nel cloud pubblico.

Combinando le funzionalità di Red Hat OpenShift AI e di Red Hat OpenShift in un'unica piattaforma di livello enterprise per lo sviluppo di applicazioni basate sull'intelligenza artificiale, i team ottengono un ambiente collaborativo che promuove la coerenza, la sicurezza e la scalabilità.

Maggiori informazioni su AI/ML

Prodotti

Nuovo

Una piattaforma per modelli fondativi concepita per sviluppare, testare ed eseguire, in modo semplice, i modelli linguistici di grandi dimensioni (LLM) della famiglia Granite per applicazioni aziendali.

Il portfolio di soluzioni incentrate sull'AI è una gamma di strumenti basati sull'intelligenza artificiale che permettono di addestrare, ottimizzare, impiegare, monitorare e gestire iniziative e modelli di AI/ML su Red Hat OpenShift.

Una piattaforma applicativa di livello enterprise che grazie a servizi verificati consente la distribuzione delle app su un'ampia gamma di infrastrutture. 

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant è un servizio di IA generativa progettato da e per gli sviluppatori, gli operatori e gli autori dell'automazione Ansible. 

Risorse

ebook

Considerazioni essenziali per la creazione di un ambiente di AI/ML pronto per il passaggio in produzione

Resoconto analitico

The Total Economic Impact™ Of Red Hat Hybrid Cloud Platform For MLOps

Webinar

Getting the most out of AI with open source and Kubernetes