> I word embedding sono composi di centinaia di dimensioni e non è 
> ricostruibile cosa rappresenti ciascuna: sono le centinaia di 
> sfumature/sfaccettature che tratteggiano le caratteristiche di una parola, 
> sia semantiche che sintattiche o chissà che altro.

Diamo un po' di numeri ;)
GPT3:
a: QKV columns = 128
b: Heads = 96
c: Layers = 96
d: Vocab-size = 50257
e: Sequence len = 2048

In tutto fanno ...
(a*b)^2*12*c+d*a*b+e*a*b = 175181291520 (i famosi 175B) fonte: [1]

Andrej Karpathy, co-fondatore di OpenAI, e autore di buona parte del software 
inizialmente sviluppato da OpenAI, ha messo a disposizione su github parecchio 
codice. Tra i tanti repository (50), uno mi ha colpito, forse perché preferisco 
C a Python ;) ed è questo [2].
In breve, un LLM lillipuziano ma perfettamente funzionante, pur ovviamente nei 
limiti delle sue dimensioni.
a: QKV columns = 8
b: Heads = 8
c: Layers = 5
d: Vocab-size = 512
e: Sequence len = 512
(a*b)^2*12*c+d*a*b+e*a*b = 311296 (in realtà sono un po' meno, 264132, perché i 
key/value heads (4) minori dei query heads(8) )
(en passant, mi sono permesso di "ridurre" ancora di più il codice, se avete 
voglia, è qui: [3])

Tutto questo per dirvi cosa?
Che alla fine, per un informatico, il "chissà che altro" che rimanda a qualcosa 
di "magico", di segreto industriale, ecc. è inammissibile. E' vero, ad oggi è 
così, ma, come giustamente ha scritto Guido Vetere "fare un LLM di qualche 
decina di miliardi di parametri magari solo per l'italiano è alla portata 
perfino del più sgangherato dei carrozzoni pubblici italiani".

Buona domenica,
Antonio

[1] https://digital-garden.jonghoon.blog/gpt3%20architecture
[2] https://github.com/karpathy/llama2.c 
[3] https://github.com/opensignature/stories
_______________________________________________
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa

Reply via email to