AI: non parole ma tocchetti

Difficile fare un discorso breve sull’AI. Questi appunti sono destinati a proliferare, obbligandoci anche a compiere vari passi indietro. Ad esempio, è già emerso come per l’AI le parole siano meri numeri ma non si tratta di una semplice questione di codifica. Se lasciamo la cosa lì rischiamo di capire poco.

Cosa intendiamo normalmente per codifica? Ad esempio, semplificando, le lettere che sto scrivendo in questo testo vengono immediatamente trasformate in sequenze di uno e zero, un byte (otto bit) per ogni carattere, per la precisione. Il testo verrà memorizzato, eventualmente elaborato e infine in qualche modo riprodotto ma all’interno di tale processo i byte viaggeranno indisturbati, codici di simboli che per noi sono lettere. Altrettanto indisturbate viaggeranno le parole composte da tali lettere, e così i relativi significati.

Nell’AI la storia è assai diversa e ritroveremo le nostre fidate parole disperse in spazi talmente complessi da non potere essere immaginati. Ci vorrà un po’ di tempo e un po’ di fantasia per farsene una ragione. Andiamo quindi per gradi rifacendosi dall’inizio: cosa succede ad una parola appena introdotta nell’AI?

Verrà codificata in qualche maniera per essere poi inviata nella pancia della macchina, portando in un pur periglioso viaggio il significato intatto a destinazione? No. La parola verrà esaminata e, se risultata non idonea, verrà spezzata e ridotta a tocchetti. Insomma noi introduciamo parole mentre l’AI lavora su token, che sono parole o parti di parole. E qui già ci disorientiamo un poco. Ma perché una simile diavoleria?

Intanto vediamola all’opera con il tokenizzatore di ChatGPT:

I colori identificano i token e si vede come questi tendano a identificarsi con delle parole ma non sempre. Riconosciamo una logica in questa trasformazione? Ci ritorneremo. Ora vediamo come funziona uno dei “tokenizzatori” in circolazione (tratto dal modello AI BERT):

Per prima cosa si controlla se la parola è presente nel vocabolario. Se la parola è presente nel vocabolario, la usiamo come token. Se la parola non è presente nel vocabolario, la dividiamo in sottoparole e controlliamo se la sottoparola è presente nel vocabolario. Se la sottoparola è presente nel vocabolario la usiamo come token. Se invece la sottoparola non è presente nel vocabolario, la dividiamo nuovamente e controlliamo se è presente nel vocabolario. Se è presente nel vocabolario, la usiamo come token altrimenti la dividiamo ancora. In questo modo, continuiamo a dividere e a controllare la sottoparola con il vocabolario fino a raggiungere eventualmente i singoli caratteri. Questo metodo è efficace per gestire le parole fuori dal vocabolario (Out Of Vocabulary). La dimensione del vocabolario BERT è di 30’000 token. Se una parola appartiene a questi 30’000 token, allora la usiamo come token. In caso contrario, dividiamo la parola in sottoparole e controlliamo se la sottoparola appartiene a questi 30’000 token. Continuiamo a dividere e a controllare le sottoparole con questi 30’000 token nel vocabolario fino a raggiungere i singoli caratteri.

Ravichandiran, Sudharsan. Getting Started with Google BERT: Build and train state-of-the-art natural language processing models using BERT (p. 67). Packt Publishing. Edizione Kindle.

Perché crearsi una simile complicazione? In parte per motivi computazionali: i processi AI sono estremamente complessi e quindi onerosi in termini computazionali. Occorre risparmiare più che si può dove si può. Inoltre le lingue naturali hanno vocabolari non solo sterminati ma anche dinamici, ricchi di continue fioriture di neologismi e contaminazioni linguistiche. La riduzione di un corpus di parole a un vocabolario fisso non troppo grande aiuta a rendere possibili i processi messi in atto dall’AI.

Bene, per ora ci fermiamo qui: c’è sufficiente materiale su cui riflettere, magari giocando con il tokenizzatore di ChatGPT. Importante è ricordare che nel viaggio spaziale — è il caso di dire — che stiamo per intraprendere dovremo cavalcare token e non parole.

2 pensieri riguardo “AI: non parole ma tocchetti”

Lascia un commento