> https://huggingface.co/sapienzanlp/Minerva-3B-base-v1.0

You need to agree to share your contact information to access this model
This repository is publicly accessible, but you have to accept the conditions 
to access its files and content.
Login or Sign Up to review the conditions and access this model content

Ok, ma fortunatamente (sic!), la Hugging Face del "singolaritario" Julien 
Chaumond [1], non è schizzinosa e si accontenta di una "temporary email".
Quello che mi serve scaricare, per un primo giudizio, è il file tokenizer.json 
[2]
Per evitarvi la trasformazione da json a plain text, potete visualizzare i 
token ivi contenuti qui: https://www.saela.eu/minerva/
In breve, il vocab_size è 32768 token (quello di GPT2-3 è 50257, di GPT3.5-4 è 
100256, di LLaMA 32768)
Per un vocabolario "bilingue", inglese e italiano, è sufficiente. Ma i token 
sono quelli che rendono il model efficiente ?
Secondo me, no.
Intanto i 32768 vanno divisi per due (due lingue) e poi per quattro. Questa 
divisione può non essere chiara. Provo a spiegarla.
Prendiamo un lemma semplice: casa. Come token possiamo trovarlo in quattro o 
anche più posizioni, casa, Casa, _casa, _Casa, _CASA (dove l'underscore sta per 
spazio) e già questo significa "spreco" di risorse computazionali, perché il 
significato è sempre lo stesso.
Quindi, 32768 : 8 = 4096, 4096 token non sono tantissimi e bisogna sceglierli 
con "cura". Accuratezza che, ovviamente, i vari Sentencepiece, lavorando 
esclusivamente sulla statistica, non hanno.
Basta dare un'occhiata all'elenco dei token per capire cosa voglio dire. Vi 
troviamo _casinò, _casino, _Casino e _casinos, tanti segni, ad esempio '.....', 
'...]', '0%)' ma mancano, per dire: gioioso, delizia, giocattolo. In questi 
casi il model dovrà usare due, o più, token di grandezza inferiore per comporre 
la parola e ciò a scapito dell'efficienza.
Forse servirebbe un po' meno statistica e un po' più morfologia :) 

Antonio

[1] https://medium.com/@julien_c/about
[2] 
https://huggingface.co/sapienzanlp/Minerva-3B-base-v1.0/raw/main/tokenizer.json
[3] https://en.wikipedia.org/wiki/Byte_pair_encoding
[4] 
https://medium.com/codex/sentencepiece-a-simple-and-language-independent-subword-tokenizer-and-detokenizer-for-neural-text-ffda431e704e

Reply via email to