Cos'è LLMOps?

Copia URL

I modelli linguistici di grandi dimensioni (Large Language Model, LLM) sono modelli di machine learning (ML) capaci di comprendere e generare linguaggio umano.I modelli LLM, come GPT-3, LLaMA e Falcon, vengono addestrati su set di dati da cui imparano a combinare parole e frasi. 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.

Con Large Language Model Operations (LLMOps) si intende un insieme di metodologie operative utilizzate per gestire i modelli linguistici di grandi dimensioni. Questo approccio permette di gestire e automatizzare il ciclo di vita degli LLM in tutte le sue fasi, dal fine tuning alla manutenzione, e costituisce un valido aiuto per team aziendali e sviluppatori.

Gli LLM sono un sottoinsieme dei modelli di ML e la metodologia LLMOps è 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 fondativo su cui si esegue un processo di fine tuning con nuovi dati per migliorare le prestazioni del modello in ambiti specifici.

Ottimizzazione: sono processi tipici degli LLM: il fine tuning per incrementare l'accuratezza e migliorare le prestazioni apportando al modello maggiori conoscenze su un determinato argomento, il fine tuning dei prompt per aumentare la capacità degli LLM di eseguire specifici task, e l'ottimizzazione degli iperparametri. In realtà, sia i modelli di ML classici che gli LLM traggono vantaggi notevoli dal processo di ottimizzazione, ma per finalità diverse. Se nel machine learning tradizionale l'ottimizzazione serve principalmente per incrementare l'accuratezza, nel caso degli LLM si esegue anche perché indispensabile per ridurre i costi e l'energia necessaria per l'addestramento. Infine, è importante ricordare la retrieval-augmented generation (RAG) o generazione potenziata dal recupero, un processo supplementare utilizzabile in combinazione al fine tuning per incrementare la precisione delle risposte.

Feedback: l'apprendimento per rinforzo da feedback umano (RLHF) è una tecnica utilizzata per l'addestramento degli LLM ed è essenziale per il funzionamento ottimale di questi modelli. Nel caso degli LLM si valuta l'accuratezza in base ai feedback, mentre nei modelli di ML tradizionali si utilizzano metriche specifiche.

Metriche prestazionali: nei modelli di ML si utilizzano precise metriche prestazionali, mentre negli LLM si utilizzano 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 permette ai team di accelerare lo sviluppo e il deployment dei modelli e migliorare la qualità dei modelli. Con un approccio più snello alla gestione, i team possono collaborare agevolmente su una piattaforma che promuove la comunicazione, lo sviluppo e l'implementazione.

Scalabilità: LLMOps migliora la scalabilità e la gestione perché permette di controllare, gestire e monitorare più modelli e assicura l'integrazione e la distribuzione continui (CI/CD). LLMOps garantisce anche un'esperienza dell'utente più reattiva grazie all'ottimizzazione di comunicazioni e risposte. 

Riduzione dei rischi: LLMOps promuove la trasparenza e aiuta a garantire la conformità alle policy aziendali e di settore.LLMOps migliora la sicurezza e la privacy perché protegge i dati sensibili e previene le esposizioni ai rischi.

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. Elimina la necessità di intervenire manualmente per la stesura di nuovo codice, con conseguente riduzione dei tempi di fermo e rilasci del codice più rapidi. Strumenti come Tekton, su cui si basa Red Hat OpenShift Pipelines, supportano i flussi di lavoro degli sviluppatori automatizzando i deployment su più piattaforme.

Raccolta, etichettatura e storage dei dati: la raccolta dei dati sfrutta diverse sorgenti per ottenere informazioni più accurate. L'etichettatura dei dati classifica i dati, e lo storage dei dati raccoglie e conserva le informazioni digitali relative a una rete.

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 valutare e preparare i dati per il ciclo di vita del machine learning attraverso la creazione di set di dati.

  • Raccolta dei dati: il primo passo per l'addestramento di un LLM consiste nell'acquisire dati da un'ampia gamma di sorgenti, come archivi di codice e social media.
  • Pulizia dei dati: una volta terminata l'acquisizione, occorre esaminare 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 condividere i dati accessibili fra i team e di sviluppare prompt per gli LLM.

  • Preparazione dei dati: i dati utilizzati nell'addestramento di un LLM subiscono processi di preparazione specifici.
  • 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 Hugging Face Transformers, 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 Kubeflow.

  • Verifica del modello: terminato il fine tuning, è necessario sottoporre il modello LLM a un processo di verifica, che comprende l'individuazione di bias 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 fornisce agli sviluppatori e ai team un ambiente che promuove la collaborazione attraverso l'analisi dei dati, il monitoraggio degli esperimenti, l'ingegneria dei prompt e la gestione degli LLM. Fornisce inoltre funzionalità per la transizione, il deployment e il monitoraggio degli LLM.Razionalizzando la gestione della libreria, la piattaforma contribuisce a ridurre i costi operativi e il bisogno di disporre di professionisti specializzati per completare attività come la preelaborazione dei dati, il monitoraggio dei modelli e il deployment.

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à.

Nuovo prodotto

InstructLab

InstructLab è un progetto open source che ha la finalità di migliorare i modelli linguistici di grandi dimensioni (LLM).

Maggiori informazioni su AI/ML

Prodotti

Ora disponibile

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'IA è una gamma di strumenti 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