> > Sto semplicemente dicendo che quei testi sono in gran parte presenti nel 
> > LLM seppure 
> > codificati con perdita di informazione.
... 
> OK, su cosa succede tecnicamente, ovvero sul tipo di elaborazione e
> immagazzinamento dei testi _elaborari_, credo sia tutto sufficientemente
> chiaro.

No, aspettate, forse mi sono perso qualche puntata precedente.
I testi non sono per nulla presenti nell'LLM, neanche in forma "compressa".
Il "model" non è altro che un enorme contenitore di "numeri". Nel caso di 
GPT3-175B, 175 miliardi di numeri, fine.
Questi numeri si chiamano "pesi" ma sempre numeri sono. 
Provo con qualche esempio.

Prompt: Quante lune ha Giove?
La prima operazione che fa un LLM è la tokenizzazione, nel caso dell'esempio:
Token array: Array
(
    [Qu] => 4507
    [ante] => 12427
    [Ġl] => 300
    [une] => 1726
    [Ġha] => 387
    [ĠGi] => 8118
    [ove] => 659
    [?] => 30
)

Il dizionario usato da OpenAI è pubblico e contiene 50257 token, quindi i 
numeri qui sopra sono quelli che realmente entrano nel processo di "inferenza" 
di ChatGPT.

Quello che ChatGPT fa non è altro che aggiungere UN numero a quella sequenza 
(ovviamente sulla base di migliaia di calcoli che non sto qui a dettagliare).
Il numero trovato (su una versione mininale di ChatGPT) è 33704.
ChatGPT prende questo numero e lo accoda a 30, e così via ...
Alla fine, la sequenza completa di ChatGPT sarà: 33704, 659, 387, 334, 2108, 
498, 434, 68, 9225, 300, 1726, 1013, 7780, 378, che "detokenizzato", diventa: 
"Giove ha ufficialmente 79 lune confermate".

Ciao,
Antonio

_______________________________________________
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa

Reply via email to