> 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