AI Detection

Probabilità dei token e log-verosimiglianza nel rilevamento AI

La perplexity attira l'attenzione, ma l'aritmetica che la sottende è la probabilità dei token: ciò che la distribuzione del modello sul termine successivo contiene realmente, perché la matematica del rilevamento opera nello spazio logaritmico invece che sulla probabilità grezza, e come una sequenza di punteggi per token diventa un solo numero.

6 min
Diagram illustrating token probability ai detection: a language model's next-token distribution turning into a log-likelihood score

Se si chiede a un rilevatore come abbia ottenuto quel punteggio, la maggior parte delle sue interfacce utente fornirà la stessa risposta: un paragrafo con alcune parole ombreggiate più scure di altre. L'ombreggiatura non è un'ipotesi. Proviene da un numero associato a ogni token nel passaggio, calcolato prima che il rilevatore tocchi mai la perplexity, la burstiness o una percentuale finale.

Si tratta di una probabilità del token, e ogni rilevamento basato sulla probabilità del token si fonda su questo, dalle basi. Qualsiasi numero di metriche che un rilevatore riporterà, comprese le due che trattiamo altrove in questo sito, è solo aritmetica applicata a una serie di questi numeri. Lo strato sotto lo strato a cui si fermano la maggior parte delle spiegazioni è quello in cui bisogna pensare a che cosa sia realmente un token, a che cosa significhi la distribuzione del modello su di esso e al motivo per cui l'aritmetica opera nello spazio logaritmico invece che sulla probabilità grezza. La maggior parte delle spiegazioni si ferma lì.

Nulla di tutto ciò deve restare opaco. Un token, una distribuzione di probabilità e un logaritmo sono strumenti ordinari, non segreti proprietari, e le stesse tre idee spiegano come funzionano realmente i rilevatori di AI, dal testo grezzo a un singolo numero in un rapporto.

Rilevamento AI basato sulla probabilità del token: dalla distribuzione al punteggio

Il rilevamento AI basato sulla probabilità del token funziona in tre fasi. Un modello linguistico assegna una probabilità a ogni possibile token successivo dato ciò che lo precede. Quelle probabilità per token vengono convertite in logaritmi e sommate lungo il passaggio, il che aggira un problema numerico in cui la moltiplicazione grezza si imbatte quasi subito. La somma risultante, mediata e riscalata, è ciò che alla fine emerge come valore di perplexity o alimenta la decisione di un classificatore. Ogni fase è un pezzo specifico e verificabile di aritmetica, non una scatola nera.

Che cosa sia realmente un token

Un token non è una parola. I moderni modelli linguistici suddividono il testo in pezzi sublessicali con un algoritmo come il byte-pair encoding, quindi una parola comune come 'the' è di solito un token, una parola meno comune come 'perplexity' si divide in due o tre pezzi, e un nome sconosciuto può frammentarsi fino ai singoli caratteri. Un brano di inglese ordinario si tokenizza in modo affidabile in più pezzi di quanti siano le parole, e questo è utile saperlo prima di fidarsi di qualsiasi conteggio di parole che uno strumento restituisca.

Il modello non vede le parole nel modo in cui le vede un lettore. Vede una sequenza di interi, ciascuno un indice in un vocabolario fisso con cui il modello è stato addestrato. Tutto ciò che token probability ai detection fa da questo punto in poi opera su quella sequenza di interi, non sulla stringa originale di lettere, il che è in parte il motivo per cui il funzionamento interno di un rilevatore può sembrare scollegato da come una persona legge davvero una frase.

La distribuzione del modello sul token successivo

A ogni posizione in una sequenza, un modello linguistico autoregressivo non produce una sola previsione. Produce un'intera distribuzione di probabilità su tutto il suo vocabolario, decine di migliaia di numeri che sommano a uno, ordinando ogni possibile token successivo dal più al meno probabile in base a tutto ciò che è venuto prima. Se si dà a un modello la frase 'the results of the', esso distribuisce la maggior parte di quella massa di probabilità su una manciata di sostantivi plausibili, 'study,' 'experiment,' 'analysis,' assegnando invece una quota trascurabile a qualcosa come 'marmalade.'

Il token che compare effettivamente dopo in un documento reale si colloca da qualche parte in quella graduatoria, e la sua probabilità assegnata è la materia prima da cui si costruisce tutto il resto. Un modello che produce il proprio testo può fare affidamento direttamente su questa distribuzione, scegliendo ripetutamente tra le opzioni vicine alla cima. Un rilevatore che legge il testo finito di qualcun altro può solo chiedersi, a posteriori, quanta probabilità il modello avrebbe assegnato alla scelta che è stata effettivamente fatta.

La probabilità di un'intera sequenza è il prodotto della probabilità di ciascun token dato tutto ciò che lo precede; se concateniamo questa domanda per token lungo un intero documento usando la regola standard della probabilità congiunta, il risultato finale è un singolo numero che descrive quanto l'intero passaggio fosse atteso. Questo prodotto è il punto in cui l'aritmetica comincia a cedere, ed è il motivo per cui esiste la sezione successiva.

Umanizza il tuo articolo

Trasforma il tuo testo assistito dall'AI e fallo suonare umano, senza toccare parole importanti o citazioni.

Inizia gratis

Perché la log-verosimiglianza sostituisce la probabilità grezza

Moltiplicare le probabilità tra loro è matematicamente corretto e, in pratica, inutile oltre poche dozzine di token. Ogni probabilità individuale è una frazione minore di uno, quindi un prodotto progressivo si riduce ogni volta che un altro token viene moltiplicato, e si riduce rapidamente. Dopo poche centinaia di token, un prodotto grezzo può scendere così al di sotto del numero più piccolo che un computer può rappresentare da arrotondarsi esattamente a zero, una modalità di guasto chiamata underflow.

Una volta che ciò accade, il numero non porta alcuna informazione. Un documento che era semplicemente improbabile e un documento che era enormemente, caoticamente improbabile collassano entrambi nello stesso zero, senza alcun modo di distinguerli in seguito. I logaritmi risolvono questo problema perché il logaritmo di un prodotto è uguale alla somma dei logaritmi, un'identità dell'algebra di base. Sommare una sequenza di normali numeri negativi non va incontro a underflow come invece accade moltiplicando una sequenza di piccole frazioni, e inoltre è meno costoso da calcolare.

Lunghezza del passaggio (illustrativa)Probabilità grezza, un prodotto progressivoSomma delle log-probabilità
12 token a un illustrativo 0.1 ciascuno1 x 10 alla potenza di -12, ancora rappresentabilecirca -27.6
350 token a un illustrativo 0.1 ciascuno1 x 10 alla potenza di -350, va in underflow fino a esattamente 0circa -805.9

Questa è un'illustrazione semplificata. Le probabilità per token reali variano enormemente, invece di restare ferme a 0.1, ma la direzione del problema è esattamente corretta. Una volta che un prodotto grezzo va in underflow fino a zero, il confronto di cui un rilevatore ha davvero bisogno, se questo documento fosse stato più o meno atteso di quell'altro, diventa impossibile. La somma delle log-probabilità non fallisce mai in questo modo. Rimane un numero preciso, ordinario e confrontabile, indipendentemente da quanto a lungo si estenda il passaggio, che è la ragione effettiva per cui la rilevabilità viene misurata nello spazio logaritmico invece che nello spazio delle probabilità grezze.

Dai punteggi per token a un punteggio di rilevazione

Sommare le log-probabilità lungo un passaggio produce la log-verosimiglianza totale del documento sotto il modello di riferimento. Dividere per il numero di token elimina l'effetto della lunghezza e lascia la log-verosimiglianza media per token, un numero finalmente confrontabile tra un saggio di cinquecento parole e un capitolo di tesi di cinquemila parole. Negare questa media ed esponenziarla produce il punteggio di perplexity, una metrica che questo gruppo tratta in modo completo in un'analisi separata su che cosa misura davvero la perplexity.

Le stesse cifre per frase, tracciate per la variazione all'interno di un documento invece di essere appiattite in una sola media, sono ciò da cui è costruita la burstiness, un segnale correlato ma distinto dalla perplexity. Entrambe partono dagli identici numeri per token descritti sopra. Semplicemente eseguono su di essi un'aritmetica diversa.

Una media semplice non è l'unico modo di usare questo materiale grezzo, e la ricerca è andata ben oltre. DetectGPT, pubblicato a ICML 2023 da Mitchell, Lee, Khazatsky, Manning e Finn, si basa su una proprietà diversa della stessa funzione di probabilità: il testo campionato da un modello linguistico tende a collocarsi in una regione in cui piccole riformulazioni fanno diminuire, invece di aumentare, la log-probabilità, un andamento che l'articolo chiama curvatura negativa.

Piuttosto che addestrare un classificatore o usare una filigrana, questo metodo perturba un passaggio, producendo piccole variazioni nel modo in cui viene riformulato, e poi ricalcola il punteggio di ciascuna variazione con lo stesso modello. L'articolo confronta questo approccio con il miglior baseline zero-shot e rileva che, su testo generato da un modello da 20 miliardi di parametri, questo metodo raggiunge 0.95 AUROC mentre il miglior baseline zero-shot raggiunge 0.81 AUROC.

La stessa distribuzione, usata per filigranare invece che per rilevare

Finora tutto ha trattato la distribuzione di probabilità come qualcosa che si legge a posteriori. Può anche essere toccata nel momento della generazione, il che capovolge del tutto il problema. Un metodo del 2023 di Kirchenbauer, Geiping, Wen, Katz, Miers e Goldstein seleziona, prima che venga prodotto ogni parola, una rosa casualizzata di token consentiti, sulla base di un hash di ciò che è venuto prima, e orienta dolcemente il campionamento verso quella rosa. Il bias è invisibile per un lettore e successivamente recuperabile con un test statistico su un breve tratto di testo, senza bisogno di accedere al modello originale.

SynthID di Google DeepMind mette in produzione una versione di questa idea: modifica i punteggi di probabilità del token successivo al momento della generazione ed è oggi attivo nell'app Gemini e nell'esperienza web. OpenAI ha costruito un sistema comparabile e non lo ha rilasciato. Le cronache attribuiscono la decisione in parte a un sondaggio in cui quasi il 30 percento degli utenti di ChatGPT ha dichiarato che la filigranatura li avrebbe portati a usare meno il prodotto, insieme a preoccupazioni su quanto bene una filigrana avrebbe resistito alla parafrasi.

Il rapporto di un rilevatore mostra una parola evidenziata o una singola percentuale e si ferma lì, senza mostrare mai la distribuzione da cui proviene. Il free perplexity checker di TextPulse esegue una versione semplificata dello stesso punteggio per token sul proprio testo in bozza, il che è un modo più diretto per vedere dove si colloca un passaggio rispetto al leggere un verdetto di seconda mano.

Due pagine vicine riprendono questo aspetto. Se i rilevatori si affidano ancora alla burstiness è cambiato dal 2023, e come GPTZero trasforma queste stesse probabilità in un punteggio è descritto in una pagina propria.

Si colloca accanto al resto degli strumenti gratuiti di TextPulse, così la stessa bozza può essere controllata per ritmo e struttura oltre che per la prevedibilità a livello di parola, senza aprire una dozzina di schede separate per farlo.

Domande frequenti

Il rilevamento AI basato sulla probabilità dei token è il livello sottostante a ogni altra metrica di rilevamento. Un modello linguistico assegna una probabilità a ciascun token in una sequenza, un pezzo di parola alla volta, in base a tutto ciò che lo precede. La perplexity, i punteggi del classificatore e la percentuale in un report sono tutti calcoli eseguiti su quella sequenza di numeri in un secondo momento, non una misurazione separata e indipendente.

Moe

PhD in natural language processing, with years spent building NLP applications end to end. Moe works on text analysis: lexical and syntactic structure, and what separates machine-generated prose from human prose statistically. He has been experimenting with computational linguistics since the early days of NLTK, spaCy and WordNet, and still writes most of his tooling in Python.