Language Modeling
La modellazione del linguaggio assegna probabilità a sequenze di parole o token, in genere prevedendo ogni token successivo. Panoramica su n-grammi, modelli neurali e valutazione.
La modellazione del linguaggio consiste nell'assegnare una probabilità a una sequenza di parole o token. Per la regola della catena delle probabilità, P(w1, w2, ..., wn) = P(w1) x P(w2 | w1) x ... x P(wn | w1, ..., wn-1); un modello che prevede ogni token successivo a partire da quelli precedenti definisce quindi la probabilità di qualsiasi testo, mentre il campionamento da queste previsioni genera nuovo testo. L'obiettivo del token successivo addestra ogni modello GPT e la maggior parte dei modelli linguistici di grandi dimensioni (LLM); per decenni, prima degli LLM, modelli linguistici più piccoli hanno classificato gli output candidati nei sistemi di riconoscimento vocale e di traduzione automatica, e ancora oggi suggeriscono la parola successiva sulle tastiere dei telefoni.
Come genera testo un modello linguistico#
Un modello addestrato legge il prompt, assegna un punteggio a ogni token del suo vocabolario e trasforma i punteggi in probabilità per il token successivo usando una softmax. Una regola di decodifica sceglie quindi un token, il modello lo aggiunge e il ciclo si ripete finché non viene generato un token di fine o non si raggiunge un limite di lunghezza: è così che funziona la generazione di testo:
Il campionamento con una temperatura o il campionamento del nucleo sacrifica parte della probabilità per ottenere varietà. Poiché ogni token dipende da quelli già scritti, la risposta arriva un token alla volta. L'interfaccia LLM di Ultralytics inoltra stream=True al provider, così una pipeline YOLO26 che chiede a un modello di descrivere una scena rilevata può stampare ogni delta di testo man mano che arriva.
Dagli n-grammi ai modelli neurali#
Nel suo articolo del 1948 sulla teoria dell'informazione, Claude Shannon ha costruito approssimazioni di parole e lettere inglesi basate su statistiche degli n-grammi. Un modello n-grammi stima P(parola successiva | n-1 parole precedenti) contando la frequenza delle sequenze di parole in un corpus, e i sistemi di riconoscimento vocale IBM degli anni Settanta e Ottanta si basavano su questi modelli. Un modello bigramma, con n = 2, illustra l'idea in poche righe di Python:
from collections import Counter
sentences = ["the cat sat on the mat .", "the dog sat on the rug .", "the cat saw the dog ."]
corpus = " ".join(sentences).split()
# Count word pairs to estimate P(next word | previous word)
pairs = Counter(zip(corpus, corpus[1:]))
firsts = Counter(corpus[:-1])
# The model's next-word distribution after "the"
print({nxt: round(n / firsts["the"], 2) for (prev, nxt), n in pairs.items() if prev == "the"})
# Chain rule: a sentence's probability is the product of its next-word probabilities
sentence = ["the", "dog", "sat", "on", "the", "mat"]
p = 1.0
for prev, nxt in zip(sentence, sentence[1:]):
p *= pairs[(prev, nxt)] / firsts[prev]
print(f"P(dog sat on the mat | the) = {p:.4f}")Dopo "the", il modello prevede "cat" e "dog" con probabilità 0,33 ciascuno e "mat" e "rug" con probabilità 0,17 ciascuno. Assegna a "dog sat on the mat" dopo "the" una probabilità di 0,0278, anche se la frase non compare mai nel corpus, perché vi compaiono tutte le coppie di parole che la compongono. Qualsiasi coppia assente dal corpus ha probabilità zero, perciò i modelli n-grammi pratici richiedono metodi di smoothing come Kneser-Ney e non possono comunque usare un contesto più ampio di n-1 parole.
Il modello linguistico probabilistico neurale del 2003 di Yoshua Bengio e colleghi ha sostituito i conteggi con embedding appresi e una rete neurale, permettendo a parole simili di condividere informazioni statistiche. Le reti neurali ricorrenti (RNN) e le LSTM hanno esteso il contesto utilizzabile; dal 2017, il transformer, con la self-attention sull'intera finestra di contesto, è diventato l'architettura standard. Nel 2020 GPT-3 ha dimostrato che un modello linguistico con 175 miliardi di parametri poteva apprendere nuovi compiti dagli esempi nel prompt.
Modellazione linguistica causale e mascherata#
La modellazione linguistica causale, o autoregressiva, prevede ogni token a partire da quelli alla sua sinistra ed è l'obiettivo alla base dei modelli generativi. La modellazione linguistica mascherata nasconde alcuni token e li prevede usando il contesto su entrambi i lati. BERT si addestra in questo modo sul 15% dei token di input; il contesto bidirezionale lo rende efficace nei compiti di comprensione come la classificazione e il riconoscimento di entità denominate, ma non gli permette di scrivere testo da sinistra a destra. I modelli linguistici a diffusione estendono il mascheramento in un generatore che riempie molte posizioni in parallelo in più passaggi.
Addestramento e valutazione#
L'addestramento è apprendimento autosupervisionato: il testo grezzo fornisce le proprie etichette e il modello minimizza la funzione di perdita di entropia incrociata tra la distribuzione prevista e ogni token successivo effettivo. L'esponenziale della perdita media è la perplessità, la metrica intrinseca standard, mentre le leggi di scala descrivono come la perdita diminuisce al crescere dei modelli, dei dati e della capacità di calcolo. Un modello base preaddestrato si limita a continuare il testo; il fine-tuning delle istruzioni e l'apprendimento per rinforzo basato sul feedback umano (RLHF) lo trasformano in un assistente che segue le richieste.
Modellazione linguistica e termini correlati#
- Modello linguistico e LLM: un modello linguistico è qualsiasi modello addestrato per questo compito, da una tabella di bigrammi a un transformer. Un LLM è un modello linguistico con miliardi di parametri, addestrato su migliaia di miliardi di token.
- Elaborazione del linguaggio naturale (NLP): l'intero campo dell'informatica applicata al linguaggio umano, di cui la modellazione linguistica è una sola attività.
- Modellazione autoregressiva visiva (VAR): applica alle immagini la stessa previsione del passaggio successivo, generando mappe di token da scale di risoluzione grossolane a fini invece che parole.










