Che cos'è InstructLab?

Uomo seduto davanti a più monitor di computer

Autori

Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Che cos'è InstructLab?

InstructLab è un metodo per l'addestramento di modelli AI che ha lo scopo di migliorare in modo significativo gli LLM utilizzati nello sviluppo di applicazioni di gen AI.

Instruct Lab è stato sviluppato da IBM Research e RedHat: è un progetto open source, il che significa che si basa su una comunità globale di sviluppatori (nota come comunità InstructLab) per costruirlo e mantenerlo.

Il progetto InstructLab è stato creato per affrontare i problemi che limitano lo sviluppo di modelli linguistici di grandi dimensioni (LLM), in particolare il costo e la complessità dell'addestramento e della raccolta dati e la difficoltà di contribuire con competenze e conoscenze.

Secondo Forbes, InstructLab ha aumentato le prestazioni degli LLM e risolto diverse sfide di scalabilità dell'addestramento di LLM tradizionale, eliminando la necessità per le aziende di creare e gestire più LLM. Ciò è in gran parte possibile grazie a un metodo di addestramento di LLM noto come Large-scale Alignment for chatBots, o LAB, sviluppato da IBM.

Cos'è Large-scale Alignment for chatBots (LAB)?

Oggi i chatbot più potenti, come Siri, Alexa e ChatGPT, dipendono tutti da LLM pre-addestrati, che permettono loro di apprendere rapidamente i compiti durante il processo di allineamento dell'AI. Ma portare l'intelligenza artificiale a quel livello può essere costoso e richiedere tempo, e i modelli che emergono spesso mancano della profondità necessaria per affrontare situazioni complesse, sfumate e simili a quelle umane. Secondo l'IBM Institute of Business Value, i dirigenti si aspettavano che il costo medio del calcolo sarebbe aumentato di quasi il 90%, principalmente a causa delle esigenze di costruire LLM per applicazioni di intelligenza artificiale generativa (gen AI).

Large-scale Alignment for chatBots (LAB) è un metodo per generare dati sinteticamente per compiti specifici che un'organizzazione necessita di un chatbot per svolgere. A differenza dei metodi di formazione tradizionali, consente ai chatbot di assimilare rapidamente nuove informazioni e apprendere nuove competenze senza sovrascrivere ciò che hanno già imparato.  

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Come funziona InstructLab?

L'approccio di InstructLab allo sviluppo e alla manutenzione dei modelli linguistici di grandi dimensioni (LLM) è diverso dagli altri modelli in quanto pone il processo saldamente nelle mani di una comunità mondiale di sviluppatori, un processo noto come AI open source. Così come il software open source consente agli sviluppatori di contribuire allo sviluppo di codice e funzionalità, l'AI open source consente loro di aggiungere nuove competenze e capacità e iterare rapidamente sui modelli esistenti.

Sostenuto dal metodo LAB, l'approccio di InstructLab alla costruzione di LLM è diverso dagli altri in tre aspetti critici:

  • Data curation basata sulla tassonomia
  • Generazione su larga scala di dati sintetici
  • Regolazione dell'allineamento su larga scala

Data curation basata sulla tassonomia

Nell'addestramento di un LLM, la tassonomia è una struttura gerarchica che categorizza le competenze e le aree di conoscenza critiche per l'applicazione prevista di un LLM. Ad esempio, la tassonomia di un LLM che verrà applicata a un veicolo autonomo sarebbe molto diversa da quella applicata alla ricerca medica, proprio come un pilota di auto da corsa dovrebbe imparare competenze diverse da un medico.

I dati di InstructLab sono strutturati in modo da facilitare la comprensione delle competenze e delle conoscenze esistenti del modello. La semplicità della struttura di InstructLab consente agli sviluppatori di individuare facilmente le lacune e di integrare conoscenze e competenze laddove necessario. Questa data curation basata sulla tassonomia permette anche di indirizzare i modelli specificamente per nuovi casi d'uso, come la ricerca o un'applicazione specifica dell'Internet of Things (IoT), e di fornire le competenze appropriate.

A tal fine, l'approccio di InstructLab si basa fortemente su YAML ("YAML Ain't No Markup Language", o "Yet Another Markup Language"), un formato standardizzato per rappresentare i dati in modo facile da interpretare sia per gli esseri umani che per le macchine. L'approccio YAML apre la strada al prossimo passo chiave nel processo di InstructLab: la generazione su larga scala di dati sintetici.

Generazione di dati sintetici su larga scala

Una volta che i dati per l'addestramento di uno specifico modello sono stati curati, il modello è pronto a generare autonomamente nuovi dati basandosi sui dati di addestramento, un processo noto come generazione di dati sintetici. Ciò che distingue l'approccio di InstructLab a questa fase dell'addestramento di un LLM è la scala su cui viene effettuata e la precisione dei dati che può generare. Affidandosi ancora una volta al metodo Large-scale Alignment for chatBots (LAB), l'approccio di InstructLab aggiunge una fase automatizzata, affinando ulteriormente le risposte generate dall'LLM per garantirne l'accuratezza.

I nuovi dati generati durante questa fase, critici per l'addestramento di tutti gli LLM, non solo di InstructLab, si basano su quello che è noto come modello "insegnante", un modello più ampio che genera etichette e dati per un modello "studente" più piccolo ed efficiente da cui imparare.

Con il metodo LAB, gli LLM di InstructLab non utilizzano effettivamente i dati memorizzati dal modello "insegnante", ma piuttosto prompt specifici che aumentano esponenzialmente il set di dati mentre assicurano che gli esempi generati dal modello "studente" rimangano in linea con lo scopo previsto degli LLM.

Secondo IBM Research, questo approccio "genera sistematicamente dati sintetici per i compiti che vuoi far svolgere al tuo chatbot e per integrare nuove conoscenze e funzionalità nel foundation model, senza sovrascrivere ciò che il modello ha già appreso".

Regolazione dell'allineamento su larga scala

Nella fase finale del processo InstructLab/LAB, l'LLM viene riqualificato sui dati sintetici da cui ha imparato, affinando le sue capacità e migliorando la precisione delle sue risposte. Quest'ultimo passaggio è suddiviso in due fasi:

  • Knowledge tuning: il knowledge tuning è un tipo di addestramento che si concentra sul migliorare la conoscenza di base delle competenze essenziali dell'LLM, introducendo nuovi fatti che richiedono risposte brevi e lunghe e valutando l'accuratezza di tali risposte.
  • Skill tuning: dopo il completamento dell'addestramento della conoscenza, il modello viene sottoposto allo skill tuning come parte della preparazione finale prima di essere distribuito. Durante lo skill tuning, il modello viene addestrato su campioni di dati relativi a competenze specifiche richieste (a seconda dello scopo previsto). Ad esempio, durante questa fase di addestramento, un customer service chatbot si addestrerebbe probabilmente su migliaia di ore di trascrizioni di richieste dei clienti.
Red Hat

Abilita le funzionalità di AI con Red Hat Openshift on IBM Cloud

Scopri come utilizzare Red Hat OpenShift on IBM Cloud per abilitare la piattaforma flessibile e scalabile per operazioni di machine learning, dotata di strumenti per creare, implementare e gestire le applicazioni che impiegano l'AI.

In che modo InstructLab si differenzia dal processo RAG tradizionale

Gli LLM addestrati con metodi più tradizionali utilizzano tipicamente un processo chiamato retrieval-augmented generation (RAG) per integrare le loro conoscenze con una formazione più focalizzata e specifica per il settore. Il processo RAG è uno strumento utile per le organizzazioni che necessitano di aggiungere dati proprietari a un modello base esistente per uno scopo specifico senza rinunciare al controllo sui propri dati proprietari.

Il metodo InstructLab/LAB può essere utilizzato per lo stesso scopo di un processo RAG più tradizionale, ma invece di aggiungere conoscenze specifiche esistenti, si concentra maggiormente sui contributi degli utenti finali della comunità per sviluppare conoscenze e competenze rilevanti. Le organizzazioni che desiderano mettere a punto gli LLM per uno scopo specifico possono utilizzare sia RAG che InstructLab/LAB per ottenere risultati ideali.

Infrastruttura di addestramento dei modelli di InstructLab

Man mano che le applicazioni AI diventano più impegnative, gli LLM che le supportano diventano più grandi e complessi, imponendo quindi richieste più rigorose all'infrastruttura AI sottostante. InstructLab/LAB, come tutti gli altri metodi avanzati di addestramento dei modelli, dipende da un'infrastruttura ad alta intensità di GPU in grado di raggiungere i benchmark di prestazioni necessari per riaddestrare costantemente i modelli AI in base ai contributi della sua comunità globale open source su github.com/instructlab.

Fortunatamente, IBM si dedica a fornire tutti gli strumenti necessari per il data storage, la gestione dei dati, i workflow e le pratiche utili al successo dei progetti LLM.

Perché InstructLab è importante?

Oggi, gli LLM supportano i casi d'uso più interessanti dell'AI, dai chatbot di AI generativa e dagli assistenti di codifica all'edge computing, alle applicazioni Internet of Things (IoT) e molto altro. Possono essere modelli proprietari, come OpenAI e Claude, oppure modelli che invece si basano su principi open source per quanto riguarda i dati di pre-addestramento utilizzati, come Mistral, Llama-2 e i modelli Granite di IBM.

InstructLab eccelle nella sua capacità di eguagliare e persino superare le prestazioni dei modelli proprietari utilizzando quelli disponibili al pubblico. IBM Watsonx, una piattaforma di AI e dati progettata per aiutare le aziende a scalare e accelerare l'impatto dell'AI, ne fa ampio uso. Ad esempio, Merlinite-7B, un modello recentemente addestrato con il metodo LAB, ha superato diversi modelli proprietari in aree chiave, secondo un articolo di IBM Research.

I limiti della modifica degli LLM esistenti

Per soddisfare le esigenze delle applicazioni avanzate di AI generativa, gli sviluppatori spesso si affidano a un LLM esistente che adattano per soddisfare una specifica esigenza aziendale. Prendiamo ad esempio una compagnia assicurativa che desidera sviluppare un'applicazione di gen AI per aiutare i dipendenti a ricavare insight dai dati proprietari dei clienti. Oggi, probabilmente acquisterebbero un LLM esistente costruito per i chatbot e lo modificherebbero in base alle loro esigenze. Ma questo approccio presenta diverse limitazioni importanti:

  • Mettere a punto un LLM esistente per comprendere l'area di competenza unica richiesta dalla tua organizzazione può essere costoso e richiede molte risorse.
  • È difficile per il modello migliorare continuamente una volta che è stato regolato per soddisfare un certo insieme di esigenze, il che significa che non può iterare o evolversi con i requisiti dell'organizzazione.
  • Per adattare un LLM a uno scopo aziendale specifico è necessario un grande volume di dati generati dall'uomo su cui addestrare il modello, un processo che richiede tempo e risorse elevate.

InstructLab migliora gli LLM con meno input umano e meno risorse

Il metodo InstructLab può addestrare gli LLM utilizzando meno input generati dall'uomo e molte meno risorse di calcolo. La base del metodo di addestramento della maggior parte degli LLM moderni, specialmente di quelli che sostengono potenti chatbot, è un ampio pre-addestramento su grandi set di dati di testo non strutturato. Sebbene questo approccio formativo permetta agli LLM di acquisire nuove competenze relativamente rapidamente nella fase di allineamento, è costoso e richiede un ampio input umano.

L'approccio LAB, sviluppato da IBM Research, utilizza la generazione di dati sintetici guidata dalla tassonomia per ridurre i costi e la necessità di input umano. Unito all'approccio open source e guidato dalla comunità di InstructLab, questo metodo democratizza efficacemente lo sviluppo degli LLM necessari per le applicazioni di AI generativa.

L'interfaccia a linea di comando (CLI) di InstructLab, l'insieme di istruzioni che gli sviluppatori usano per gestirla, è persino progettata per funzionare su dispositivi ampiamente usati come i laptop personali, e gli sviluppatori sono incoraggiati a contribuire con nuove conoscenze o competenze tramite la comunità di AI Hugging Face.

Casi d'uso di InstructLab

InstructLab adotta un approccio open source e basato sulla comunità per perfezionare gli LLM per una vasta gamma di casi d'uso. Ecco alcuni dei più comuni.

Settore sanitario

Gli LLM sviluppati con l'approccio InstructLab possono essere addestrati per acquisire nuove competenze e conoscenze in molte applicazioni nel settore sanitario, dal setacciare grandi volumi di dati clinici per aiutare gli scienziati a fare progressi nella ricerca medica, alla valutazione del rischio dei pazienti basata sulla storia clinica, e molto altro.

Settore bancario

Nel settore bancario, l'approccio InstructLab può costruire LLM con particolare attenzione all'analisi delle operazioni e alla proiezione dei modelli per aiutare a individuare le tendenze e prevedere il rischio associato alle strategie di trading. Può anche essere utilizzato per addestrare LLM per applicazioni di gen AI nella finanza personale, come risparmiare per la pensione, fare budget e altro ancora.

Servizio clienti

Gli LLM addestrati utilizzando l'approccio InstructLab possono alimentare chatbot intelligenti formati in aree specifiche del servizio clienti, come la restituzione di un articolo o la richiesta di un prodotto specifico. Oltre a questo, il metodo LAB può aiutare a mettere a punto gli LLM per trasformarli in assistenti virtuali con un insieme complesso di competenze, come programmare appuntamenti, prenotare viaggi, dichiarare i redditi e altro ancora.

Marketing

Il metodo InstructLab aiuta a mettere a punto gli LLM alla base delle applicazioni di gen AI nel marketing per una varietà di scopi. Possono imparare a esaminare i dati dei clienti per ottenere insight sul comportamento, sulle preferenze dei prodotti e persino sul design dei prodotti futuri. Possono anche acquisire le competenze necessarie per offrire consigli personalizzati sui prodotti, come la taglia delle scarpe o degli abiti, la preferenza del colore e altro ancora.

DevOps

L'applicazione del metodo InstructLab per addestrare gli LLM per migliorare il ciclo di vita DevOps può portare benefici agli sviluppatori in diversi modi importanti. Gli LLM addestrati con il metodo InstructLab possono generare codice e creare script, automatizzare il provisioning dell'infrastruttura (applicazioni Infrastructure as Code (IaC)) e velocizzare e migliorare la risoluzione di problemi, il troubleshooting e persino l'analisi e la revisione del codice.  

Soluzioni correlate
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud è una OpenShift Container Platform (OCP) completamente gestita.

Esplora IBM Red Hat OpenShift
Soluzioni Red Hat

Sblocca Red Hat AI e InstructLab as a service su IBM Cloud.

Esplora le soluzioni AI di Red Hat
Servizi di consulenza Red Hat

Trasforma il tuo business con le tecnologie Red Hat e IBM Consulting, riduci i costi e accelera il tuo percorso verso l'hybrid cloud.

Scopri i servizi Red Hat
Prossimi passi

Sblocca Red Hat AI e InstructLab as a service su IBM Cloud.

Esplora le soluzioni AI di Red Hat Ottieni maggiori informazioni