Modelli linguistici di grandi dimensioni (LLM)
Cosa sono i modelli linguistici di grandi dimensioni (LLM)?
I modelli linguistici di grandi dimensioni (LLM) sono una nuova classe di modelli per l'elaborazione del linguaggio naturale (NLP) che hanno superato in modo significativo i loro predecessori in termini di prestazioni e capacità in una serie di compiti come la risposta a domande aperte, la chat, la sintesi di contenuti, l'esecuzione di istruzioni quasi arbitrarie, la traduzione e la generazione di contenuti e codici. I LLM vengono addestrati a partire da enormi set di dati utilizzando algoritmi avanzati di machine learning per apprendere i pattern e le strutture del linguaggio umano.
Ecco altre informazioni utili
The Big Book of MLOps
Lettura preziosa per tecnici di Machine Learning e data scientist che cercano strumenti migliori per le MLOps
Sfrutta il potenziale dei LLM
Come aumentare l'efficienza e ridurre i costi con l'AI.
Costruisci il tuo LLM, come Dolly
Scopri come ottimizzare e implementare il tuo LLM personalizzato.
Come funzionano i modelli linguistici di grandi dimensioni (LLM)?
L'architettura dei modelli linguistici di grandi dimensioni o LLM comprende in genere tre elementi:
- Encoder: dopo che un tokenizzatore ha convertito grandi quantità di testo in token, ossia valori numerici, l'encoder crea embedding significativi di token che accostano nello spazio vettoriale parole con significati simili.
- Meccanismi di attenzione: questi algoritmi utilizzati nei LLM consentono loro di concentrarsi su parti specifiche del testo in ingresso, ad esempio per individuare parole collegate. Questo elemento non è separato dall'encoder e dal decoder.
- Decoder: il tokenizzatore riconverte i token in parole, in modo da renderle comprensibili agli utenti. In questo processo, il LLM predice la parola successiva, poi la seguente, e così via per milioni di parole. Una volta completato il processo di addestramento i modelli sono in grado di svolgere nuovi compiti, come rispondere a domande, tradurre da una lingua all'altra, effettuare ricerche semantiche e altro ancora.
Come funzionano i LLM?
Una versione semplificata del processo di addestramento dei LLM
Ulteriori informazioni sui trasformatori, il fondamento di ogni LLM
Qual è la storia dei modelli linguistici di grandi dimensioni (LLM)?
Le tecniche utilizzate nei LLM sono il punto di arrivo della ricerca e del lavoro nel campo dell'intelligenza artificiale iniziati negli anni '40 del secolo scorso.
1943
Viene pubblicato il primo lavoro sulle reti neurali.
1989
Lecun pubblica un articolo scientifico sul riconoscimento delle cifre, dimostrando che una rete a retropropagazione può essere applicata ai problemi di riconoscimento delle immagini.
2012
Un articolo di Hinton et al. dimostra che le reti neurali profonde assicurano prestazioni significativamente superiori rispetto a qualsiasi modello precedente per il riconoscimento vocale.
Una rete neurale convoluzionale (AlexNet) dimezza il tasso di errore esistente nel riconoscimento visivo di Imagenet, diventando la prima a superare il 75% di precisione. La rete mette in luce nuove tecniche, tra cui l'uso delle GPU per addestrare i modelli.
2017
Il rivoluzionario articolo "Attention is All you Need" introduce l'architettura dei trasformatori, la base di tutti i LLM.
2018
Google lancia BERT (Bidirectional Encoder Representations from Transformers), che rappresenta un grande passo avanti nell'architettura e apre la strada ai futuri modelli linguistici di grandi dimensioni.
2020
OpenAI rilascia GPT-3 che, con i suoi 175 miliardi di parametri, diventa il modello più grande esistente e stabilisce un nuovo benchmark di prestazioni per le attività collegate al linguaggio.
2022
Viene lanciato ChatGPT, che trasforma GPT-3 e modelli simili in un servizio ampiamente accessibile agli utenti attraverso un'interfaccia web e dà il via a un enorme aumento della consapevolezza pubblica dei LLM e dell'AI generativa.
2023
I LLM open source mostrano risultati sempre più impressionanti con la distribuzione di prodotti come LLaMA 2, Falcon e MosaicML MPT. Nello stesso anno viene rilasciato GPT-4, che stabilisce un nuovo benchmark sia in termini di dimensioni dei parametri sia di prestazioni.
Quali sono i casi d'uso dei LLM?
I LLM possono generare un impatto sul business in numerosi casi d'uso e in diversi settori. I casi d'uso esemplificativi includono:
- Chatbot e assistenti virtuali: i LLM sono utilizzati per alimentare i chatbot e consentire a clienti e dipendenti di avere conversazioni aperte, utili per fornire assistenza ai clienti, effettuare il follow-up dei lead dei siti e offrire i servizi di un assistente personale.
- Generazione di codice e debug: i LLM possono generare utili frammenti di codice, identificare e correggere gli errori e completare programmi sulla base delle istruzioni ricevute.
- Analisi del sentiment: i LLM possono comprendere automaticamente il sentiment di un testo per automatizzare la valutazione del livello di soddisfazione dei clienti.
- Classificazione e clustering del testo: i LLM sono in grado di organizzare, categorizzare e ordinare grandi volumi di dati per identificare temi e tendenze comuni a supporto di un processo decisionale informato.
- Traduzione linguistica: i LLM possono tradurre documenti e pagine web in diverse lingue.
- Riassunto e parafrasi: i LLM sono in grado di riassumere documenti, articoli, telefonate con i clienti o riunioni e di far emergere i punti più importanti.
- Generazione di contenuti: i LLM sono in grado di stendere una scaletta o scrivere nuovi contenuti che possono fornire una buona bozza da cui partire.
Quali sono alcuni esempi di clienti che hanno implementato in modo efficace i LLM?
JetBlue
JetBlue si è affidato alla tecnologia Databricks per implementare "BlueBot", un chatbot che utilizza modelli di AI generativa open source integrati da dati aziendali. Il chatbot può essere utilizzato da tutti i team di JetBlue per ottenere accesso ai dati in base al ruolo. Ad esempio, il team finanziario può vedere i dati del sistema SAP e i documenti normativi, mentre il team operativo vede solo le informazioni sulla manutenzione.
Chevron Phillips
Chevron Phillips Chemical utilizza Databricks per supportare le sue iniziative di AI generativa, compresa l'automazione dei processi documentali.
Thrivent Financial
Thrivent Financial sta valutando l'impiego dell'AI generativa per rendere più efficienti le ricerche, produrre informazioni meglio sintetizzate e più accessibili e aumentare la produttività dell'ingegneria.
Perché i modelli linguistici di grandi dimensioni (LLM) sono diventati improvvisamente così popolari?
Numerosi recenti progressi tecnologici hanno portato i LLM sotto i riflettori:
- Progressi nelle tecnologie di machine learning
- I LLM utilizzano molti dei progressi nelle tecniche di ML. Il più importante è l'architettura a trasformatori, che è alla base della maggior parte dei LLM.
- Maggiore accessibilità
- Il rilascio di ChatGPT consente a chiunque abbia accesso a Internet di interagire con uno dei più avanzati LLM attraverso una semplice interfaccia web. Questo permette al mondo di capire il potere dei LLM.
- Potenza di calcolo aumentata
- La disponibilità di risorse di calcolo più potenti, come le unità di elaborazione grafica (GPU), e di migliori tecniche di elaborazione dei dati ha permesso ai ricercatori di addestrare modelli molto più grandi.
- Quantità e qualità dei dati di addestramento
- La disponibilità di grandi set di dati e la capacità di elaborarli hanno migliorato notevolmente le prestazioni dei modelli. Ad esempio, GPT-3 è stato addestrato su Big Data (circa 500 miliardi di token) che comprendevano sottoinsiemi di alta qualità, incluso il set di dati WebText2 (17 milioni di documenti) che contiene pagine web accessibili pubblicamente estratte da un crawler con un'attenzione particolare alla qualità.
Come posso personalizzare un LLM con i dati della mia organizzazione?
Ci sono quattro pattern architettonici da considerare quando si personalizza un'applicazione LLM con i dati della propria organizzazione. Le tecniche descritte di seguito non si escludono a vicenda. Al contrario, possono (e devono) essere combinate per sfruttare i punti di forza di ciascuna.
Metodo | Definizione | Caso d'uso primario | Requisiti dei dati | Vantaggi | Considerazioni |
---|---|---|---|---|---|
Creazione di prompt specializzati per guidare il comportamento dei LLM | Guida rapida, in tempo reale del modello | Nessuno | Veloce, economico, non richiede addestramento | Meno controllo rispetto all'ottimizzazione | |
Combinazione tra un LLM e il recupero di conoscenze esterne | Set di dati dinamici e conoscenze esterne | Base di conoscenza o database esterno (ad esempio, database vettoriale) | Contesto aggiornato dinamicamente, maggiore precisione | Aumenta la lunghezza dei prompt e la computazione inferenziale | |
Adattamento di un LLM preaddestrato a set di dati o settori specifici | Specializzazione del settore o del compito | Migliaia di esempi specifici del settore o di esempi di istruzioni | Controllo granulare, alta specializzazione | Richiede dati etichettati, costo computazionale | |
Addestramento di un LLM da zero | Compiti unici o corpora specifici del settore | Grandi set di dati (da miliardi a migliaia di miliardi di token) | Massimo controllo, adatto a esigenze specifiche | Estremamente oneroso dal punto di vista delle risorse |
Indipendentemente dalla tecnica scelta, costruire una soluzione in modo ben strutturato e modulare garantisce alle organizzazioni di essere pronte a iterare e adattarsi. Per saperne di più su questo approccio e su altri aspetti, consulta The Big Book of MLOps.
Che cosa significa ingegneria dei promp nel contesto dei modelli linguistici di grandi dimensioni (LLM)?
L'ingegneria dei prompt è la pratica di adattare i prompt di testo forniti a un LLM per ottenere risposte più accurate o pertinenti. Non tutti i LLM produrranno la stessa qualità, dal momento che l'ingegneria dei prompt è specifica del modello. Ecco alcuni suggerimenti generici che funzionano per una varietà di modelli:
- Utilizzare messaggi chiari e concisi, che possono includere un'istruzione, il contesto (se necessario), una domanda o un input dell'utente e una descrizione del tipo o del formato di output desiderato.
- Fornire degli esempi nel prompt (strategia del "few-shot learning") per aiutare il LLM a capire cosa si vuole.
- Istruire il modello su come comportarsi, ad esempio dicendogli di ammettere se non è in grado di rispondere a una domanda.
- Dire al modello di pensare passo dopo passo o di spiegare il suo ragionamento.
- Se il prompt include l'input dell'utente, utilizzare tecniche per prevenire l'hacking del prompt, ad esempio rendendo molto chiaro quali parti del prompt corrispondono alle tue istruzioni e quali all'input dell'utente.
Cosa significa Retrieval Augmented Generation (RAG) in relazione ai modelli linguistici di grandi dimensioni (LLM)?
La RAG (Retrieval Augmented Generation) è un approccio architettonico che può migliorare l'efficacia delle applicazioni di modelli linguistici di grandi dimensioni (LLM) sfruttando dati personalizzati. Ciò avviene recuperando dati/documenti pertinenti a una domanda o a un compito e fornendoli come contesto per il LLM. La RAG ha dimostrato di avere successo nel supportare i chatbot e i sistemi Q&A che devono mantenere informazioni aggiornate o accedere a conoscenze specifiche del settore.
Per saperne di più sulla RAG, fai clic qui.
Cosa significa ottimizzare i modelli linguistici di grandi dimensioni (LLM)?
L'ottimizzazione è il processo che consiste nell'adattare un LLM preaddestrato a un insieme di dati relativamente più piccolo, specifico di un settore o di un'attività. Durante il processo di ottimizzazione, l'addestramento continua per un breve periodo di tempo, eventualmente tramite la regolazione di un numero relativamente inferiore di pesi rispetto all'intero modello.
Il termine "ottimizzazione" può riferirsi a diversi concetti; le due forme più comuni sono:
- Ottimizzazione supervisionata delle istruzioni: questo approccio prevede la prosecuzione dell'addestramento di un LLM con un data set di esempi input e output, solitamente si usano migliaia di esempi.
- Preaddestramento continuo: questo metodo di ottimizzazione non si basa su esempi di input e output, ma utilizza un testo non strutturato specifico del settore per continuare lo stesso processo del preaddestramento (ad esempio, la previsione del token successivo o la modellazione del linguaggio mascherato).
Cosa significa preaddestrare un modello linguistico di grandi dimensioni (LLM)?
Il preaddestramento di un LLM da zero si riferisce alla pratica di addestrare un modello linguistico su un ampio corpus di dati (ad esempio, testo o codice) senza utilizzare alcuna conoscenza preliminare o pesi derivati da un modello esistente. È diverso dall'ottimizzazione, in cui un modello già preaddestrato viene ulteriormente adattato a un'attività o a un set di dati specifici. Il risultato del preaddestramento completo è un modello di base che può essere utilizzato direttamente o ulteriormente ottimizzato per le attività a valle. Il preaddestramento è in genere l'attività di addestramento più onerosa e costosa e non rientra tra quelle comunemente svolte dalla maggior parte delle organizzazioni.
Quali sono i LLM più comuni e in cosa si differenziano?
Il campo dei modelli linguistici di grandi dimensioni è affollato, con molte opzioni tra cui scegliere. In generale, è possibile raggruppare i LLM in due categorie: servizi proprietari e modelli open source.
Servizi proprietari
Il LLM più popolare è ChatGPT di OpenAI, che è stato rilasciato con grande clamore. ChatGPT offre un'interfaccia di ricerca intuitiva in cui gli utenti possono inserire prompt e ricevere una risposta rapida e pertinente. Gli sviluppatori possono accedere all'API ChatGPT per integrare questo LLM nelle proprie applicazioni, prodotti o servizi. Altri servizi includono Google Bard e Claude di Anthropic.
Modelli open source
Un'altra opzione è quella di implementare un LLM autonomo, in genere utilizzando un modello open source disponibile per uso commerciale. La community open source ha recuperato rapidamente terreno, raggiungendo le prestazioni dei modelli proprietari. Due dei LLM open source più diffusi sono Llama 2 di Meta e MPT di MosaicML (acquisito da Databricks).
Come valutare la scelta migliore
Le considerazioni più importanti e le differenze di approccio tra l'utilizzo di un'API chiusa di un fornitore terzo e l'hosting interno del proprio LLM open source (o ottimizzato) sono la predisposizione per il futuro, la gestione dei costi e lo sfruttamento dei dati come vantaggio competitivo. I modelli proprietari possono diventare obsoleti e venire rimossi, interrompendo le pipeline e gli indici vettoriali esistenti; i modelli open source, al contrario, saranno accessibili per sempre. I modelli open source ottimizzati offrono maggiori opzioni di personalizzazione, consentendo un migliore compromesso tra prestazioni e costi. Pianificare l'ottimizzazione futura dei propri modelli permette di sfruttare i dati dell'organizzazione come vantaggio competitivo per costruire modelli migliori di quelli disponibili pubblicamente. Infine, i modelli proprietari possono sollevare problemi di governance, in quanto questi LLM "black box" consentono una minore supervisione dei processi di addestramento e dei pesi.
L'hosting dei propri LLM open source richiede più lavoro rispetto all'utilizzo di LLM proprietari. MLflow di Databricks rende più semplice, per chi ha esperienza con Python, estrarre qualsiasi modello di trasformatore e usarlo come oggetto Python.
Come faccio a scegliere il LLM da utilizzare in base a una serie di criteri di valutazione?
La valutazione dei LLM è una scelta impegnativa e in continua evoluzione, soprattutto perché i LLM spesso dimostrano capacità disomogenee che variano in base al task. Un LLM potrebbe eccellere in un benchmark, ma basteranno piccole variazioni nel prompt o nel problema per influenzare drasticamente le sue prestazioni.
Tra i principali strumenti e benchmark utilizzati per valutare le prestazioni di un LLM si possono ricordare:
- MLFLOW
- Fornisce una serie di strumenti LLMOps per la valutazione dei modelli.
- Mosaic Model Gauntlet
- Un approccio di valutazione aggregato, che categorizza le competenze del modello in sei vasti ambiti (illustrati di seguito) anziché estrapolare un'unica metrica monolitica.
- Hugging Face raccoglie centinaia di migliaia di modelli da contributori di LLM aperti.
- BIG-bench (Beyond the Imitation Game Benchmark)
- Un framework di benchmarking dinamico, che attualmente ospita oltre 200 task, con l'obiettivo di adattarsi alle future capacità dei LLM.
- EleutherAI LM Evaluation Harness
- Un framework olistico che valuta i modelli su oltre 200 task, combinando valutazioni come BIG-bench e MMLU e promuovendo riproducibilità e comparabilità.
Leggi anche le Best practice per la valutazione tramite LLM di applicazioni RAG.
Come si operazionalizza la gestione dei modelli linguistici di grandi dimensioni (LLM) tramite Large Language Model Ops (LLMOps)?
Large Language Model Ops (LLMOps) riguarda le pratiche, le tecniche e gli strumenti utilizzati per la gestione operativa di modelli linguistici di grandi dimensioni in ambienti di produzione.
LLMOps consente l'implementazione, il monitoraggio e la manutenzione efficienti di modelli linguistici di grandi dimensioni. LLMOps, come il tradizionale Machine Learning Ops (MLOps), richiede la collaborazione fra data scientist, ingegneri DevOps e informatici. Per maggiori dettagli su LLMOps, vedi qui.
Dove posso trovare maggiori informazioni sui modelli linguistici di grandi dimensioni (LLM)?
Ci sono molte risorse disponibili in cui trovare maggiori informazioni sui LLM, tra cui:
Formazione
- LLMs: Foundation Models From the Ground Up (EDX e Databricks Training) — Corso di formazione gratuito di Databricks che entra nei dettagli dei modelli di base nei LLM
- LLMs: Application Through Production (EDX e Databricks Training) — Corso di formazione gratuito di Databricks incentrato sulla costruzione di applicazioni incentrate sui LLM con i framework più recenti e più noti
eBook
Blog tecnici
- Best practice per la valutazione tramite LLM di applicazioni RAG
- Usare MLflow AI Gateway e Llama 2 per costruire applicazioni di AI generativa (Ottenere una maggiore precisione usando la generazione potenziata dal recupero, o RAG, con i propri dati)
- Implementa il tuo Chatbot LLM con RAG (Retrieval Augmented Generation), llama2-70B (Inferenze MosaicML) e Vector Search
- LLMOps: Everything You Need to Know to Manage LLMs
Passaggi successivi
- Contatta Databricks per programmare una demo e parlarci dei tuoi progetti di modelli linguistici di grandi dimensioni (LLM).
- Scopri le offerte di Databricks per i LLM
- Ulteriori informazioni sui casi d'uso della Retrieval Augmented Generation (RAG), l'architettura LLM più comune