Nozioni di base sui Large Language Model
Obiettivi di apprendimento
Al completamento di questa unità, sarai in grado di:
- Descrivere un Large Language Model (LLM).
- Spiegare come vengono addestrati gli LLM.
- Comprendere meglio il concetto di fine-tuning degli LLM.
Che cos'è un Large Language Model?
Immagina di avere un assistente digitale superintelligente che ha letto un'enorme quantità di testi, tra cui libri, articoli, siti Web e altri contenuti scritti fino all'anno 2021. Tuttavia, l'assistente non "immagazzina" i libri interi, come avverrebbe in una biblioteca, ma elabora dei pattern usando i dati testuali su cui è addestrato.
Puoi fare qualsiasi domanda all'assistente digitale, che proverà a risponderti in base a quello che ha "letto". Non "capisce" come farebbe una persona, ma è molto bravo a ricordare e collegare le informazioni tra loro.
Questo assistente digitale è come un Large Language Model (LLM). Gli LLM sono modelli informatici avanzati progettati per comprendere e generare testi simili a quelli creati dall'uomo. Sono addestrati su grandi quantità di dati testuali per apprendere pattern, strutture linguistiche e relazioni tra parole e frasi.
Come funzionano i Large Language Model?
Essenzialmente, gli LLM come GPT-3 elaborano previsioni relative a un solo token (ad esempio, una parola o un carattere) alla volta, costruendo una sequenza dall'inizio alla fine. Data una richiesta, provano a prevedere il token successivo, poi quello dopo, quello ancora dopo e così via.
Le previsioni elaborate dagli LLM si riferiscono alla loro capacità di generare o completare dei testi in base ai pattern che hanno visto durante l'addestramento, mostrando incredibili capacità di riconoscimento dei pattern su grandi quantità di testo. Sono in grado di generare contenuti coerenti e contestualmente pertinenti su un'ampia gamma di argomenti.
La parola "Large" nell'espressione "Large Language Model" si riferisce alle dimensioni e alla complessità di questi modelli, che utilizzano considerevoli risorse di calcolo, ad esempio server potenti con più processori e moltissima memoria. Queste risorse consentono al modello di gestire ed elaborare enormi quantità di dati, migliorando la sua capacità di comprendere e generare testi di qualità elevata.
Gli LLM variano in base alle dimensioni, ma in genere contengono miliardi di parametri. I parametri sono le variabili che il modello apprende durante il processo di addestramento e rappresentano la conoscenza e la comprensione che acquisisce a partire dai dati. Più è elevato il numero di parametri, maggiore è la capacità del modello di imparare e acquisire pattern complessi dai dati.
Per darti un'idea della quantità di parametri utilizzata dagli LLM, le versioni precedenti dei modelli GPT (Generative Pre-trained Transformer, Transformer pre-addestrato generativo), ad esempio GPT-3, hanno circa 175 miliardi di parametri. Questi modelli sono considerati piuttosto grandi e hanno contribuito a migliorare sensibilmente le capacità di elaborazione del linguaggio. Sembra che GPT-4 abbia più di 1000 miliardi di parametri.
Questi numeri sono davvero impressionanti, ma le dimensioni enormi dei modelli sono anche accompagnate da sfide come le risorse di calcolo necessarie per addestrarli, il loro impatto ambientale, la potenziale presenza di bias e altro ancora.
I Large Language Model sono come assistenti virtuali incredibilmente competenti che possono aiutare a svolgere un'ampia gamma di attività correlate al linguaggio. Possono aiutare a scrivere, fornire informazioni, offrire suggerimenti creativi e persino conversare. L'obiettivo dei creatori dei modelli è supportare le interazioni con la tecnologia rendendole più naturali e simili a quelle umane. Tuttavia, gli utenti devono essere consapevoli dei loro limiti e utilizzarli come strumento anziché come fonte infallibile di verità.
Che cos'è l'addestramento degli LLM?
Addestrare un LLM è come insegnare a un robot come comprendere e utilizzare il linguaggio umano. E come si fa ad addestrare un robot in modo che comprenda e utilizzi il linguaggio umano? Ecco un modo per farlo.
- Raccogliere libri e articoli. Immagina di raccogliere un'enorme pila di libri, articoli e altri scritti per insegnare al robot.
- Esercitarsi nella lettura. Fai leggere una frase al robot e poi chiedigli di indovinare la parola successiva. All'inizio, potrebbe tirare a indovinare, perché sta ancora imparando.
- Controllare le risposte. Dopo che il robot ha indovinato, gli mostri la parola corretta nel testo reale. Se la risposta del robot è sbagliata, dagli un feedback, ad esempio dicendo "Mi dispiace, è sbagliata".
- Ripetere. Continua con questa routine di "ipotesi e verifica" più volte, usando moltissime frasi. Il robot diventa sempre più bravo a indovinare la parola successiva man mano che legge.
- Eseguire dei test. Ogni tanto, metti alla prova il robot con frasi che non ha mai visto prima, per vedere se sta davvero imparando o sta solo memorizzando.
- Specializzarsi. Se vuoi che il robot sia particolarmente bravo, ad esempio nel linguaggio medico, puoi impartirgli lezioni supplementari usando dei testi di medicina.
- Promuovere. Quando il robot è ormai molto bravo a capire e generare il testo, digli: "Ottimo lavoro!" e lascia che aiuti le persone a svolgere varie operazioni basate sull'uso del linguaggio.
E questo è quanto! L'addestramento consiste in un mix di esercizi di lettura, quiz e lezioni speciali, finché il robot non diventa un esperto nell'uso del linguaggio. La stessa idea di base si applica agli LLM.
Come funziona il fine-tuning?
Il fine-tuning è il processo di ulteriore addestramento di un modello pre-addestrato in cui viene utilizzato nuovo set di dati più piccolo e più specifico del set di dati di addestramento originario.
Immagina di aver insegnato a un robot a cucinare piatti di tutto il mondo utilizzando il più grande libro di cucina internazionale in circolazione. Questo è l'addestramento di base. Supponiamo che tu voglia che il robot si specializzi nella preparazione di piatti italiani. Gli darai un libro di cucina italiana più piccolo e dettagliato e lo farai esercitare con quelle ricette. Questo allenamento specializzato è come il fine-tuning.
Il fine-tuning è come prendere un robot (o un modello) che ha una minima conoscenza di molte cose e poi addestrarlo ulteriormente su un argomento specifico finché non diventa un esperto in quell'area.
Perché è importante il fine-tuning?
- Trasferimento dell'apprendimento: i modelli pre-addestrati hanno già imparato molte caratteristiche generiche dagli ampi set di dati usati per l'addestramento. Il fine-tuning consente a questi modelli di trasferire la conoscenza generale ad attività specifiche attraverso set di dati relativamente piccoli.
- Efficienza: l'addestramento di un modello di deep learning da zero richiede molti dati e molte risorse di calcolo. Con il fine-tuning, si parte da un modello che sa già molto, in modo da ottenere buone prestazioni con meno dati e in meno tempo.
- Prestazioni migliori: i modelli perfezionati con il fine-tuning per operazioni specifiche spesso superano in termini di prestazioni i modelli addestrati da zero sulle stesse operazioni, poiché sfruttano la conoscenza più ampia acquisita durante l'addestramento iniziale.
Cosa c'è in una versione?
Per ogni versione, l'architettura sottostante può rimanere simile, ma la scala, i dati di addestramento o alcuni parametri possono cambiare. Ogni nuova versione mira a migliorare i punti deboli di quella precedente, a gestire una gamma più ampia di operazioni o a ridurre il bias e gli errori.Ecco una spiegazione semplificata.
Versione 1 (ad esempio, GPT-1 di OpenAI o BERT-Base di Google)
- L'inizio: il primo rilascio del modello. Funziona bene, ma è come la prima stesura di un romanzo: può essere migliorato.
- Dimensione e dati: utilizza una certa quantità di dati e ha un numero particolare di parametri (simili alle "cellule cerebrali" del modello).
Versione 2 (GPT-2 di OpenAI)
- Miglioramenti: sulla base di quanto appreso dalla prima versione, vengono apportate delle modifiche. È come il lavoro di editing del romanzo basato su feedback.
- Dimensione e dati: spesso aumentano con l'uso di più parametri. Possibilità di addestrarlo su set di dati diversificati o di dimensioni maggiori.
Versione 3 (GPT-3 di OpenAI)
- Ancora meglio: incorpora più feedback, ricerca e progressi tecnologici.
- Dimensione e dati: molto più grande. Ad esempio, GPT-3 ha 175 miliardi di parametri, il che lo rende molto più efficiente, ma richiede anche più risorse.
Versioni con fine-tuning:
- dopo il rilascio delle versioni principali, a volte vengono rilasciate versioni specializzate per attività specifiche. È come prendere un romanzo di argomento generale e trasformarlo in un giallo, una storia d'amore o fantascienza.
Altre iterazioni:
- i modelli come BERT hanno varianti (RoBERTa, DistilBERT e così via) che sono essenzialmente "versioni" diverse con modifiche in termini di strategia di addestramento o architettura.
Le versioni degli LLM sono come edizioni consecutive di una serie di libri, con ogni nuova uscita che mira a offrire una lettura più perfezionata, ampia e accattivante.
Ora vediamo in che modo gli LLM si possono utilizzare in Salesforce.