Getty Images
Questo articolo è estratto 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
di
Gaétan Raoul,
LeMagIT
Pubblicato il:
04 settembre 2023

L’intelligenza artificiale generativa sta invadendo gli annunci degli editori e suscitando un interesse crescente, sia positivo che negativo, nelle organizzazioni. Tuttavia, non ha nulla di magico, come osserva Chris Howard, responsabile della ricerca presso Gartner. Ed è proprio perché è intrinsecamente tecnica che possiede un suo proprio vocabolario specifico e in continua evoluzione.

Questo “piccolo” lessico si concentra in particolare sui termini associati ai grandi modelli di linguaggio, capaci di generare testo e codice. Questa rassegna non pretende di essere esaustiva, ma mira a elencare e a definire rapidamente i concetti e le tecniche più utilizzati in questo campo, fornendo una base di comprensione per navigare nel mondo dell'IA generativa.

IA generativa

L’intelligenza artificiale generativa corrisponde allo sviluppo di reti neurali profonde capaci di generare una vasta gamma di contenuti, tra cui testo, codice, immagini, suono, video o persino sequenze di molecole. Se le prime sperimentazioni in questo campo iniziarono a metà degli anni '50, la vera svolta e l'emergere dei sistemi d'IA moderna capaci di generare contenuti complessi a partire da dati di riferimento si deve all'introduzione dei generative adversarial networks (GANs) nel 2014 e degli autoencoder variazionali (VAEs) nel 2013. Nonostante queste innovazioni fondamentali, è stato solo con la straordinaria popolarità dell'applicazione ChatGPT, propulsa da un grande modello di linguaggio, che l'espressione IA generativa si è diffusa capillarmente tra il grande pubblico e l'industria tecnologica, rendendo il concetto una parte integrante del dibattito contemporaneo sull'innovazione.

Transformer

Il termine Transformer si riferisce a un'architettura di rete neurale all'avanguardia, sviluppata nel 2017 dai ricercatori di Google, con l'obiettivo primario di elaborare e comprendere il linguaggio naturale con maggiore efficienza. Questa architettura si distingue nettamente da quelle tradizionali delle reti neurali ricorrenti (RNN) o convoluzionali (CNN) per il fatto che si basa unicamente su un meccanismo di autoattenzione (self-attention). Questa innovativa strato di attenzione consente al modello di elaborare simultaneamente tutte le parti di un testo in ingresso, un'abilità cruciale che gli permette di gestire efficacemente le dipendenze tra le parole, anche a lunga distanza all'interno del testo. Grazie a questa capacità, il Transformer è diventato il socle comune e il fondamento architettonico della stragrande maggioranza dei grandi modelli di linguaggio attuali, rivoluzionando il campo dell'elaborazione del linguaggio naturale.

Large Language Model (LLM)

I grandi modelli di linguaggio, o Large Language Model (LLM), sono reti neurali estremamente complesse e potenti, addestrate su volumi di dati incredibilmente vasti, tipicamente estratti dal web. L'addestramento avviene principalmente attraverso tecniche di apprendimento non supervisionato o semi-supervisionato, e questi modelli sono caratterizzati dall'essere dotati di miliardi di parametri, che ne definiscono la capacità e la flessibilità.

La loro architettura si basa generalmente su un'implementazione del Transformer, che viene spesso modificata o migliorata con l'aiuto di tecniche avanzate come l'approccio Mixture of Experts o, più recentemente, RoPE (Rotary Position Embeddings), per ottimizzare le prestazioni e la capacità di comprensione del linguaggio.

Tra i grandi modelli più conosciuti e influenti nel panorama attuale dell'IA figurano:

  • BERT
  • GPT-3
  • GPT-4
  • PaLM
  • BLOOM
  • Claude
  • Llama
  • MegaTron-Turing

L'espressione Large Language Model è stata impiegata retroattivamente per designare modelli di Natural Language Processing (NLP), come BERT e T5, la cui architettura si basava già su un Transformer. È interessante notare che, prima del 2019, la comunità scientifica utilizzava principalmente i termini "Large Transformer Model" o "Large Neural Networks". L'espressione "Large Language Model" è stata resa popolare in modo significativo dopo la pubblicazione dell'articolo dedicato a GPT-2 da parte dei ricercatori di OpenAI, nel febbraio 2019, diventando da allora il termine standard per questa categoria di modelli.

Pre-allenamento

Il termine pre-allenamento (o pre-addestramento) corrisponde alla fase iniziale e fondamentale dell'addestramento di un modello di deep learning. Nel contesto specifico di un grande modello di linguaggio, questa fase implica l'addestramento intensivo del modello su un corpus di testi estremamente ampio, che sono stati suddivisi in unità più piccole chiamate token, e che non sono etichettati. Questi dati grezzi vengono tipicamente estratti da internet utilizzando sofisticate tecniche di crawling. Ad esempio, attori importanti come OpenAI, Meta AI e persino l'azienda francese LightOn sfruttano ampiamente i set di dati forniti dal progetto CommonCrawl, una risorsa open source di pagine web.

Durante questa cruciale fase di pre-allenamento, i ricercatori adattano l'architettura Transformer alle loro specifiche esigenze e applicano una serie di iperparametri. Questi iperparametri sono essenziali per definire una funzione di perdita, che misura l'errore del modello, e per configurare le diverse attività che il modello dovrà imparare a svolgere, gettando le basi per le sue future capacità generative e di comprensione.

GPT (Generative Pre-trained Transformer)

I Generative Pre-trained Transformer (GPT) si riferiscono a una tipologia specifica di grande modello di linguaggio. Anch'essi si basano sull'innovativa architettura Transformer, ma la loro caratteristica distintiva risiede nel fatto che sono stati pre-allenati su un corpus di testo di dimensioni colossali, con l'obiettivo primario di generare sequenze di testo coerenti e contestualmente pertinenti in base alle istruzioni o "prompt" forniti in ingresso. Più precisamente, il ruolo intrinseco di un modello GPT è quello di predire, in modo probabilistico, la prossima parola di una frase, basandosi su un contesto che è regolato sia dalle istruzioni ricevute sia dai dati utilizzati durante la sua fase di pre-allenamento.

La storia della denominazione è anch'essa significativa: nel giugno 2018, i ricercatori di OpenAI hanno definito ufficialmente la loro tecnica di pre-allenamento per insegnare a un Transformer a generare testo come "generative pre-training". È stato solo l'anno successivo, nel febbraio 2019, in concomitanza con la presentazione del modello GPT-2, che la startup ha formalizzato e ufficializzato l'espressione Generative Pre-trained Transformer, o più comunemente GPT. Il modello iniziale, GPT-1, è stato designato come tale retroattivamente, consolidando la nomenclatura.

L'acronimo GPT è stato rapidamente adottato da numerose altre organizzazioni e progetti nel campo dell'IA, tra cui Eleuther AI, Salesforce, Cerebras, e molti altri, a seguito dell'enorme aumento di popolarità e riconoscimento globale indotto dal lancio di GPT-3 (2020) e, successivamente, dalla diffusione virale di ChatGPT (2022), che hanno catapultato questi modelli al centro dell'attenzione pubblica e industriale.

Token

Un token corrisponde a una serie di caratteri che viene definita come un'unità elementare di testo o di codice, essenziale per l'elaborazione da parte di un modello di linguaggio. Questa unità può assumere diverse forme, ad esempio una parola intera, una sillaba (spesso definita come "sotto-parola" o "subword"), un segno di punteggiatura, o qualsiasi altra entità significativa che il modello può sfruttare per apprendere un compito specifico. I token sono ottenuti attraverso l'applicazione di un algoritmo specializzato il cui ruolo è quello di suddividere un testo continuo in queste entità discrete.

Il risultato di questo processo, noto come tokenizzazione, è fortemente dipendente dall'algoritmo specifico utilizzato per questa operazione. È fondamentale notare che la dimensione dei giochi di dati utilizzati dai progettisti di LLM è quasi sempre espressa in termini di numero di token, e non in volume di archiviazione (come gigabyte) o in semplice conteggio del numero di parole. Questa metrica è cruciale perché riflette direttamente la granularità e la quantità di informazione che il modello è in grado di elaborare e su cui si addestra.

Prompt

Un prompt è, in sostanza, un testo di ingresso, un'istruzione, una richiesta o una domanda che viene inviata a un modello di linguaggio per ottenere un output pertinente e desiderato. Questo prompt è generalmente espresso in linguaggio naturale, ovvero nella lingua comune dell'utente, a condizione che tale lingua sia supportata dalla rete neurale del modello. È importante considerare che, poiché i Large Language Model (LLM) sono prevalentemente addestrati utilizzando un'enorme mole di documenti redatti in inglese, i testi generati in altre lingue potrebbero occasionalmente presentare delle imperfezioni o dei difetti che un utente potrebbe erroneamente paragonare a errori di traduzione. Per migliorare la qualità e la specificità dell'output, un prompt in linguaggio naturale può essere arricchito e reso più efficace attraverso l'aggiunta di embeddings, che forniscono al modello un contesto semantico più ricco e strutturato.

Embedding

Un embedding è una rappresentazione vettoriale, ovvero una sequenza di numeri a virgola mobile (generalmente compresa tra -1 e 1 o tra 0 e 1), di un testo, di un file audio o di un'immagine in uno spazio a n dimensioni. Questa rappresentazione numerica viene poi interpretata da uno o più strati di una rete neurale profonda, consentendo al modello di comprendere e processare i dati in modo matematico.

Nel campo dell'elaborazione del linguaggio naturale (NLP), la conversione di un testo in vettori di numeri reali implica l'uso di una tecnica fondamentale nota come Word Embedding, o "plunging lessicale" in italiano. Esistono diversi algoritmi sofisticati che permettono di effettuare questa conversione, tra cui i più noti sono GloVe, Word2vec o l'embedding-ada di OpenAI. Questa procedura richiede di associare un vettore unico a uno o più token corrispondenti, con l'obiettivo di codificare la semantica e la sintassi di parole, frasi o espressioni intere. Questa tecnica è progettata specificamente per confrontare parole, espressioni o sequenze di testo in base alla loro somiglianza o relazione semantica nello spazio vettoriale.

La scelta di un algoritmo di creazione di embedding deve essere fatta preferibilmente in base al compito specifico da svolgere. Le applicazioni includono:

  • classificazione
  • clustering
  • ricerca
  • raccomandazione
  • rilevamento di anomalie
  • misurazione della diversità

Queste attività generiche di analisi del testo si rivelano essenziali per un'ampia gamma di casi d'uso pratici, come:

  • la traduzione automatica
  • l'analisi di sentimenti
  • la ricerca semantica avanzata

Gli embedding sono impiegati sia durante l'addestramento iniziale che durante il fine-tuning dei grandi modelli di linguaggio. Essi permettono inoltre di arricchire significativamente il contesto di un prompt, fornendo al modello informazioni semantiche aggiuntive che migliorano la pertinenza e la qualità delle risposte generate.

Finestra di contesto (Context Length)

La finestra di contesto – o context length in inglese – è un concetto chiave nel funzionamento dei Large Language Model (LLM) e corrisponde a due aspetti interconnessi: da un lato, indica la lunghezza massima di un testo che può essere sottoposto in ingresso a un LLM in una singola richiesta; dall'altro, rappresenta la sua capacità di memoria in relazione a una conversazione o a una sequenza di interazioni precedenti. Questa misura cruciale è sempre espressa in numero di token. Ad esempio, il modello GPT-4 è noto per disporre di un'ampia finestra di contesto di ben 32.000 token, che equivale approssimativamente a circa 80 pagine di testo scritto in inglese, consentendogli di mantenere una coerenza e una comprensione approfondita anche in conversazioni o documenti molto lunghi.

Reinforcement Learning with Human Feedback (RLHF)

L'apprendimento per rinforzo con feedback umano (RLHF) è una tecnica avanzata e sempre più diffusa utilizzata per affinare i modelli di linguaggio. Il suo scopo principale è guidare questi modelli a produrre risposte non solo sintatticamente corrette, ma anche più utili, sicure e allineate con le preferenze e i valori umani, incorporando valutazioni e feedback diretti da parte di persone. (Nota dell'editore: il testo originale si interrompe bruscamente a questo punto.)