Che cos'è una finestra contestuale?

Carver Apartments a Los Angeles

Autori

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

Che cos'è una finestra contestuale?

La finestra contestuale (o "lunghezza del contesto") di un modello linguistico di grandi dimensioni (LLM) è la quantità di testo, in token, che il modello può considerare o "ricordare" in qualsiasi momento. Una finestra contestuale più ampia consente a un modello AI di elaborare input più lunghi e incorporare una maggiore quantità di informazioni in ogni output.

La finestra contestuale di un LLM può essere considerata come l'equivalente della sua memoria di lavoro. Determina la lunghezza di una conversazione che può svolgere senza dimenticare i dettagli della parte precedente dello scambio. Determina anche la dimensione massima dei documenti o dei campioni di codice che può elaborare contemporaneamente. Quando un prompt, una conversazione, un documento o una base di codice supera la finestra contestuale di un modello AI, deve essere troncato o riepilogato affinché il modello possa procedere. 

In generale, l'aumento delle dimensioni della finestra contestuale di un LLM si traduce in una maggiore precisione, meno allucinazioni, risposte del modello più coerenti, conversazioni più lunghe e una migliore capacità di analizzare sequenze di dati più lunghe. Tuttavia, l'aumento della lunghezza contestuale non è privo di compromessi: spesso comporta un aumento dei requisiti di potenza computazionale, e quindi un aumento dei costi, e un potenziale aumento della vulnerabilità agli attacchi avversari.

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. 

Finestre contestuali e tokenizzazione

 Moral In termini reali, la lunghezza del contesto di un modello linguistico non si misura in parole, ma in token.Per capire come funzionano in pratica le finestre contestuali, è importante capire come funzionano questi token.

Il modo in cui gli LLM elaborano il linguaggio è fondamentalmente diverso da quello degli esseri umani. Considerando che l'unità di informazione più piccola che utilizziamo per rappresentare il linguaggio è un singolo carattere, come una lettera, un numero o un segno di punteggiatura, l'unità linguistica più piccola utilizzata dai modelli AI è un token. Per addestrare un modello a comprendere il linguaggio, a ogni token viene assegnato un numero ID; questi numeri ID, piuttosto che le parole o persino i token stessi, vengono utilizzati per addestrare il modello. Questa tokenizzazione del linguaggio riduce in modo significativo la potenza computazionale necessaria per elaborare e imparare dal testo.

C'è una grande variabilità nella quantità di testo che può rappresentare un token: un token può sostituire un singolo carattere, una parte di una parola (come un suffisso o un prefisso), una parola intera o anche una breve frase composta da più parole. Considera i diversi ruoli svolti dalla lettera "a" nei seguenti esempi:

"Jeff è andato a casa.

Qui "a" è una parola intera. In questa situazione, sarebbe rappresentata da un token distinto.

"Jeff è amorale."

Qui, "a" non è una parola, ma la sua aggiunta alla parola Moral cambia sostanzialmente il significato della parola. AMoral sarebbe quindi rappresentata da due token distinti: un token per a e un altro per Moral.

"Jeff ama il suo gatto."

Qui a è semplicemente una lettera nella parola "CaT." Non ha alcun significato semantico a sé stante e, quindi, non avrebbe bisogno di essere rappresentata da un token distinto.


Non esiste un “tasso di cambio” fisso tra parola e token e diversi modelli o tokenizzatori (un sottoinsieme modulare di un modello più ampio responsabile della tokenizzazione) potrebbero tokenizzare lo stesso passaggio di scrittura in modo diverso. Una tokenizzazione efficiente può aiutare ad aumentare la quantità effettiva di testo che rientra nei confini di una finestra di contesto. Ma per scopi generali, una stima decente sarebbe di circa 1,5 token per parola. Il Tokenizer Playground su Hugging Face è un modo semplice per vedere e sperimentare come diversi modelli tokenizzano gli input di testo.

Le variazioni nella struttura linguistica e nella rappresentazione nei dati di formazione possono far sì che alcune lingue vengano tokenizzate in modo più efficiente rispetto ad altre. Ad esempio, uno studio dell'ottobre 2024 ha esplorato un esempio di tokenizzazione della stessa frase sia in inglese che in telugu. Nonostante la traduzione in telugu contenga un numero significativamente inferiore di caratteri rispetto all'equivalente inglese, ha prodotto oltre 7 volte il numero di token contestuali.

Mixture of Experts | 12 dicembre, episodio 85

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Perché i modelli hanno una lunghezza massima del contesto?

Sebbene le finestre contestuali siano generalmente associate agli LLM utilizzati per il riepilogo, la generazione di testo e altre attività di elaborazione del linguaggio naturale (NLP), la lunghezza del contesto come considerazione tecnica non è esclusiva dei modelli linguistici. Il concetto di finestra contestuale è rilevante per qualsiasi modello di machine learning che utilizzi l'architettura trasformativa, che comprende i più moderni modelli di modelli di AI generativa, inclusi quasi tutti gli LLM.

I modelli trasformatori utilizzano un meccanismo di auto-attenzione per calcolare le relazioni e le dipendenze tra le diverse parti di un input (come le parole all'inizio e alla fine di un paragrafo). Matematicamente parlando, un meccanismo di auto-attenzione calcola i vettori di peso per ogni token in una sequenza di testo, in cui ogni peso rappresenta la rilevanza di quel token per gli altri nella sequenza. Un LLM autoregressivo consulta iterativamente quei pesi ogni volta che genera la parola successiva del suo output. La dimensione della finestra contestuale determina il numero massimo di token a cui il modello può "prestare attenzione" in qualsiasi momento.

Vale la pena notare che il testo dell'input effettivo dell'utente spesso non è l'unica cosa che occupa spazio all'interno della finestra contestuale di un modello. In molti casi, come nel caso dei chatbot, ai modelli viene fornito anche un "prompt di sistema", spesso nascosto all'utente, che condiziona il loro comportamento e regola altri aspetti della conversazione. Anche le informazioni supplementari tratte da fonti di dati esterne per la retrieval-augmented generation (RAG) vengono memorizzate nella finestra contestuale durante l'inferenza. Anche i caratteri speciali, le interruzioni di riga e altre misure di formattazione utilizzano una parte del contesto disponibile.

Vale anche la pena notare che i modelli linguistici non sono le uniche reti neurali che utilizzano trasformatori. Ad esempio, alcuni modelli di diffusione utilizzati per la generazione di immagini incorporano l'attenzione personale nella loro architettura. Nel loro caso, il contesto a cui si presta attenzione non è tra i token che rappresentano parole (o parti di parole) nel contenuto scritto, ma tra i pixel di un'immagine. In un modello di questo tipo, la lunghezza del contesto si applicherebbe al numero di pixel di cui il modello deve comprendere le relazioni. La finestra contestuale potrebbe essere superata da un'immagine ad alta risoluzione contenente troppi pixel da elaborare contemporaneamente.
 

Finestre contestuali e risorse di calcolo

Dotare un modello di un'ampia finestra contestuale ha un costo, sia in senso figurato che letterale. I requisiti di calcolo scalano quadraticamente con la lunghezza di una sequenza: ad esempio, se il numero di input token raddoppia, il modello ha bisogno di 4 volte più potenza di elaborazione per gestirlo.

Allo stesso modo, l'aumento della lunghezza del contesto può anche rallentare gli output. Ogni volta che il modello stima in modo autoregressivo il token successivo in una sequenza, calcola le relazioni tra tale token e ogni singolo token precedente nella sequenza. L'inferenza potrebbe essere relativamente veloce all'inizio di una sequenza o di una conversazione, ma diventare progressivamente più lenta all'aumentare della lunghezza del contesto. Questo risulta problematico per i casi d'uso che richiedono un'inferenza quasi istantanea in tempo reale.

I recenti progressi nella lunghezza media del contesto per i modelli linguistici sono stati parzialmente consentiti da nuove tecniche per aumentare la velocità e l'efficienza dell'inferenza in modo tale da compensare sufficientemente questi compromessi intrinseci. Queste tecniche di ottimizzazione hanno permesso anche ai piccoli LLM moderni open source di offrire finestre contestuali esponenzialmente più grandi di quelle del modello GPT-3.5 originale che ha lanciato ChatGPT di OpenAI alla fine del 2022.

 

Le sfide delle finestre contestuali lunghe

Anche quando vengono prese misure adeguate per compensare i compromessi in termini di requisiti di calcolo e velocità di elaborazione, l'estensione del limite di lunghezza del contesto di un modello introduce ulteriori sfide e complicazioni.
 

Sfide in termini di prestazioni

Come le persone, gli LLM possono essere sopraffatti da un'abbondanza di dettagli extra. Possono anche diventare pigri e prendere scorciatoie cognitive. Una ricerca 2023 ha rilevato che i LLM non "utilizzano in modo efficace le informazioni in contesti di input lunghi". Più precisamente, gli autori hanno osservato che i modelli funzionano meglio quando le informazioni rilevanti si trovano verso l'inizio o la fine del contesto di input. Hanno inoltre osservato che le prestazioni si degradano quando il modello deve considerare attentamente le informazioni in mezzo a lunghi contesti.1

I nuovi metodi per migliorare l'efficacia del meccanismo di auto-attenzione stesso del trasformatore, come il rotary position embedding (RoPE), mirano a modificare la codifica posizionale dei token nei vettori di attenzione. L'adozione diffusa dei metodi basati su RoPE ha permesso di migliorare le prestazioni e la velocità nei compiti che coinvolgono i token a grande distanza l'uno dall'altro.

La ricerca in corso ha prodotto una serie di benchmark progettati per misurare la capacità di un LLM di trovare e utilizzare efficacemente le informazioni rilevanti con grandi passaggi, come needle-in-a-haystack (NIAH), RULER e LongBench.


Sicurezza e sfide della cybersecurity

Una finestra contestuale più lunga potrebbe anche avere l'effetto involontario di presentare una superficie di attacco più lunga per i prompt contraddittori. La recente ricerca di Anthropic ha dimostrato che l'aumento della lunghezza del contesto di un modello aumenta anche la sua vulnerabilità al "jailbreaking" e (successivamente) all'essere provocato a produrre risposte dannose.2

 

Dimensioni delle finestre contestuali dei principali LLM

La finestra contestuale media di un LLM è cresciuta in modo esponenziale da quando sono stati rilasciati i trasformatori generativi pre-addestrati (GPT) originali. Ad oggi, ogni generazione successiva di LLM ha comportato in genere una lunghezza del contesto significativamente maggiore. Al momento, la più grande finestra contestuale offerta da un modello commerciale di spicco è di oltre 1 milione di token. Resta da vedere se le finestre contestuali continueranno ad espandersi o se ci stiamo già avvicinando al limite massimo della necessità pratica.  

Come riferimento, ecco le attuali lunghezze di contesto offerte da alcuni modelli e famiglie di modelli comunemente citati, a partire da ottobre 2024.

La serie GPT di OpenAI:

  • Il modello GPT-3.5 che ha alimentato il lancio di ChatGPT aveva una lunghezza massima del contesto di 4.096 token, successivamente estesa a 8.192 token con GPT-3.5-Turbo.
  • Al momento del lancio, GPT-4 aveva la stessa lunghezza del contesto di 8.192 token. Sebbene da allora la finestra contestuale di GPT-4 e GPT-4-Turbo sia stata aumentata a 128.000 token, i suoi token di output massimo rimangono limitati a 4.096 token.
  • Sia GPT-4o che GPT-4o mini hanno una finestra contestuale di 128.000 token, con un output limitato a 16.384 token.

Anche la nuova famiglia di modelli o1 offre una finestra di contesto di 128.000 token, sebbene con una maggiore lunghezza del contesto di output.

Modelli Meta Llama

I modelli originali di Llama avevano una lunghezza massima del contesto di 2.048 token, che è stata raddoppiata a 4.096 token per Llama 2. Durante il lancio ad aprile 2024, i modelli Llama 3 offrivano una finestra contestuale di circa 8.000 token.

La lunghezza del contesto di Llama è stata notevolmente aumentata con il lancio dei modelli Llama 3.1, con finestre di contesto lunghe 128.000 token. Allo stesso modo, i modelli Llama 3.2 hanno una lunghezza massima del contesto di 128.000 token.

Mistral Large 2

Mistral Large 2, il modello di punta offerto da Mistral AI, ha una finestra contestuale di 128.000 token.

Modelli di Google Gemini

La serie di modelli Google Gemini offre quella che è attualmente la più ampia finestra contestuale tra i modelli linguistici commerciali. Gemini 1.5 Pro, il modello di punta di Google, offre una lunghezza del contesto fino a 2 milioni di token. Altri modelli Gemini 1.5, come Gemini 1.5 Flash, hanno una finestra contestuale di 1 milione di token.

I modelli Claude di Anthropic

Gli ultimi modelli Claude di Anthropic, come Claude 3.5 Sonnet, offrono una finestra contestuale standard di circa 200.000 token. All'inizio di settembre 2024, Anthropic ha annunciato che i modelli a cui si accede tramite il suo nuovo piano "Claude Enterprise" offriranno una finestra contestuale ampliata di 500.000 token.

Note a piè di pagina
Soluzioni correlate
IBM watsonx Orchestrate

Progetta facilmente assistenti e agenti di AI scalabili, automatizza le attività ripetitive e semplifica i processi complessi con IBM watsonx Orchestrate.

Scopri watsonx Orchestrate
Strumenti di elaborazione del linguaggio naturale e API

Accelera il valore aziendale dell'intelligenza artificiale con un portfolio potente e flessibile di librerie, servizi e applicazioni.

Esplora le soluzioni NLP
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Progetta facilmente assistenti e agenti di AI scalabili, automatizza le attività ripetitive e semplifica i processi complessi con IBM watsonx Orchestrate.

Scopri watsonx Orchestrate Esplora le soluzioni NLP