Lessico dell'IA generativa: i grandi modelli di linguaggio
Questo articolo è tratto da uno dei nostri magazine. Scarica gratuitamente questo numero di: Applicazioni & Dati: Applicazioni e dati 22 – Prime pietre di un'infra sovrana per l'IA europea, a cura di Gaétan Raoul per LeMagIT, pubblicato il 04 settembre 2023.
L'intelligenza artificiale generativa sta invadendo gli annunci degli editori e sta suscitando interesse, sia positivo che negativo, tra le organizzazioni. Tuttavia, come osserva Chris Howard, responsabile della ricerca presso Gartner, non ha nulla di magico. Ed è proprio perché è intrinsecamente tecnica che possiede un suo vocabolario specifico.
Questo "piccolo" lessico elenca in particolare i termini associati ai grandi modelli di linguaggio, capaci di generare testo e codice. Questa rassegna non è esaustiva, ma mira a elencare e definire rapidamente i concetti e le tecniche più utilizzati in questo campo.
Definizioni chiave dell'IA generativa
IA generativa
L'intelligenza artificiale generativa corrisponde allo sviluppo di reti di neuroni profondi capaci di generare testo, codice, immagini, suono, video o anche sequenze di molecole. Sebbene le prime sperimentazioni risalgano alla metà degli anni '50, l'emergere delle reti neurali antagoniste generative (GAN) e degli autoencoder variazionali (rispettivamente nel 2014 e nel 2013) ha dato vita ai moderni sistemi di IA capaci di generare contenuti a partire da dati di riferimento. È solo con la popolarità dell'applicazione ChatGPT, alimentata da un grande modello di linguaggio, che l'espressione "IA generativa" si è diffusa presso il grande pubblico e nell'industria tecnologica.
Transformer
Il termine Transformer si riferisce a un'architettura di rete neurale sviluppata nel 2017 da ricercatori di Google per elaborare e comprendere il linguaggio naturale. Questa architettura si distingue da quelle delle reti neurali ricorrenti o convoluzionali per il fatto di basarsi unicamente su un meccanismo di autoattenzione (self-attention). Questo strato di attenzione elabora simultaneamente tutte le parti di un testo in ingresso, consentendogli di gestire efficacemente le dipendenze a lunga distanza tra le parole nel testo. È il fondamento comune della maggior parte dei grandi modelli di linguaggio.
Large Language Model (LLM)
I grandi modelli di linguaggio, o Large Language Model (LLM), sono reti di neuroni addestrate su ampi volumi di dati estratti dal web. Sono formati utilizzando tecniche di apprendimento non supervisionato o semi-supervisionato e sono dotati di miliardi di parametri. La loro architettura si basa generalmente su un Transformer modificato o migliorato, utilizzando tecniche come l'approccio Mixture of Experts o, più recentemente, RoPE (Rotary Position Embeddings).
I grandi modelli più noti includono:
- BERT
- GPT-3
- GPT-4
- PaLM
- BLOOM
- Claude
- Llama
- MegaTron-Turing
Préentraînement (Pre-training)
Il termine pre-training corrisponde alla fase iniziale dell'addestramento di un modello di deep learning. Nel caso di un grande modello di linguaggio, si tratta di addestrarlo su un corpus di testi, suddivisi in token, non etichettati. Questi dati grezzi sono generalmente estratti tramite tecniche di crawling. Ad esempio, OpenAI, Meta AI e persino la francese LightOn sfruttano i set di dati forniti dal progetto CommonCrawl. Durante questa fase, i ricercatori adattano l'architettura Transformer alle loro esigenze e applicano iperparametri per definire una funzione di perdita e configurare i compiti da svolgere.
GPT (Generative Pre-trained Transformer)
I Generative Pre-trained Transformer (GPT) si riferiscono a un tipo specifico di grande modello di linguaggio. Anch'essi si basano su un'architettura Transformer, ma sono stati pre-addestrati su un ampio corpus di testo con l'obiettivo di generare sequenze di testo coerenti in base alle istruzioni fornite in ingresso. Più precisamente, il ruolo di un modello GPT è prevedere la parola successiva di una frase in base a un contesto regolato dalle istruzioni e dai dati utilizzati durante il suo pre-training.
Nel giugno 2018, i ricercatori di OpenAI definirono ufficialmente la loro tecnica di pre-training per insegnare a un Transformer a generare testo come "generative pre-training". Solo l'anno successivo, nel febbraio 2019, al momento della presentazione del modello GPT-2, la startup ufficializzò l'espressione Generative Pre-trained Transformer, o GPT. GPT-1 fu designato come tale retroattivamente.
L'acronimo è stato rapidamente ripreso da Eleuther AI, Salesforce, Cerebras e molti altri dopo il guadagno di popolarità indotto da GPT-3 (2020) e ChatGPT (2022).
Elementi di interazione e rappresentazione
Token
Un token corrisponde a una serie di caratteri definiti come un'unità elementare di testo o codice, ad esempio una parola, una sillaba (o "sotto-parola"), una punteggiatura, utilizzata dal modello per apprendere un compito. I token sono ottenuti utilizzando un algoritmo il cui ruolo è quello di suddividere un testo in entità distinte. Il risultato del processo, chiamato tokenizzazione, dipende dall'algoritmo dedicato a questo compito. La dimensione dei set di dati utilizzati dai progettisti di LLM è espressa in token e non in volume di archiviazione o in numero di parole.
Prompt
Un prompt è un testo in ingresso, un'istruzione, una richiesta o una domanda inviata al modello per ottenere un output pertinente. Questo prompt è espresso in linguaggio naturale nella lingua dell'utente, se quest'ultima è supportata dalla rete neurale. Poiché gli LLM sono principalmente addestrati con l'ausilio di documenti redatti in inglese, i testi generati in altre lingue possono presentare difetti che un utente potrebbe paragonare a errori di traduzione. Un prompt in linguaggio naturale può essere arricchito con gli embedding.
Embedding
Un embedding è una rappresentazione vettoriale di un testo, di un file audio o di un'immagine in uno spazio a n dimensioni. Questa rappresentazione vettoriale, una sequenza di numeri in virgola mobile generalmente compresa tra -1 e 1 o 0 e 1, viene interpretata da uno o più strati di una rete neurale profonda.
Nel campo del NLP, la conversione di un testo in vettori di numeri reali implica l'uso della tecnica detta di Word Embedding o plongement lexical in italiano. Diversi algoritmi, tra cui GloVe, Word2vec o embedding-ada di OpenAI, consentono di effettuare questa conversione. Essa richiede di associare un vettore a uno o più token corrispondenti. Si tratta di codificare la semantica e la sintassi di parole, frasi o espressioni. Questa tecnica mira a confrontare parole, espressioni o sequenze di testo. Si utilizza preferibilmente un algoritmo di creazione di embedding in base al compito da svolgere:
- classificazione
- clustering
- ricerca
- raccomandazione
- rilevamento di anomalie
- misura di diversità
Questi compiti generici di analisi del testo si rivelano essenziali per diversi casi d'uso: la traduzione, l'analisi dei sentimenti o la ricerca semantica. Gli embedding sono utilizzati durante l'addestramento o il fine-tuning dei grandi modelli di linguaggio. Permettono inoltre di arricchire il contesto di un prompt.
Fenêtre de contexte (Context Length)
La finestra di contesto – o context length in inglese – corrisponde sia alla lunghezza massima di un testo sottoposto in ingresso a un LLM sia alla sua capacità di memoria di una conversazione. Questa misura è espressa in numero di token. Ad esempio, GPT-4 dispone di una finestra di contesto di 32.000 token, circa 80 pagine scritte in inglese.
Reinforcement Learning with Human Feedback (RLHF)
L'apprendimento per rinforzo con feedback umano (RLHF) è una tecnica utilizzata per allineare i modelli di IA con le preferenze umane, basandosi su un processo di apprendimento...