Download README.md from SentinelHub/gpTommy-32k: direct link, hf CLI and curl.
- Browser
- Download file 12.6 kB
-
https://huggingface.co/SentinelHub/gpTommy-32k/resolve/main/README.md
- Command line
-
hf download hf://SentinelHub/gpTommy-32k/README.md
-
curl -L -o README.md https://huggingface.co/SentinelHub/gpTommy-32k/resolve/main/README.md
license: other
license_name: sentinel-r08-non-commercial-v2
license_link: LICENSE.md
language:
- it
pipeline_tag: text-generation
library_name: custom_code
tags:
- sentinel
- r08
- gptommy
- tokenizer
- italian
๐ฎ๐น gpTommy 32k โ Vocabolario & Tokenizer v2 Nativo per la Lingua Italiana
Vocabolario e Tokenizer lessicale v2 a 32.768 token (Spazio Implicito + Maiuscole 100% Lossless) concepito e strutturato specificamente per la lingua italiana.
Autore & Ideatore: Thomas Seri (Sentinel)
Ecosistema di Riferimento: Sentinel LifeOS & Famiglia di Modelli Sentinel R-08
๐ Aggiornamento Tokenizer v2 & Registro Correzioni (7 novembre 2026)
Questo repository include ora il Tokenizer v2 (v2.0.0, implicit_space=True di default) che risolve i limiti strutturali del Tokenizer v1 pur mantenendo lo stesso vocabolario di 32.768 ID e la retrocompatibilitร (implicit_space=False) per i checkpoint storici (v7, v7.2, v7.2a).
| # | Aspetto | Tokenizer v1 (storico) | Tokenizer v2 Aggiornato (v2.0.0, default) |
Stato |
|---|---|---|---|---|
| 1 | gptommy_tokenizer.py |
Aveva un SyntaxError (from __future__ import annotations dopo l'header di licenza) |
Corretto e aggiornato a v2.0.0 (implicit_space=True di default, implicit_space=False per compatibilitร v1) |
โ Risolto e attivo |
| 2 | Gestione degli spazi e token per parola (sui 177 testi italiani di prova: 32.560 parole, 200.713 caratteri) |
Ogni spazio singolo era un token separato (ID 10 = <spazio>, pari al 41,1% di tutti i token): 75.815 token totali, 2,33 token/parola (2,65 caratteri/token). (In precedenza era indicato ~1,06 token/parola, che contava solo i token-parola senza spazi e punteggiatura) |
Spazio singolo implicito tra le parole (zero token sprecati per gli spazi normali; ID 10 = <attaccato> usato solo per incollare sotto-pezzi o punteggiatura; ID 9 per spazi multipli): 60.366 token totali (-20,4%), 1,85 token/parola (3,32 caratteri/token) |
โ Tokenizer v2 attivo |
| 3 | Decodifica 100% Lossless e Maiuscole (decode(encode(testo)) == testo) |
Restituiva il testo tutto minuscolo ("Il cuscinettoโฆ" โ "il cuscinettoโฆ") |
100% Lossless (decode(encode(testo)) == testo) su tutti i 177 testi di prova, grazie ai marcatori di caso ID 6 (Iniziale Maiuscola / TitleCase, es. "Il", "Thomas") e ID 5 (TUTTO MAIUSCOLO, es. "PLC", "R08") |
โ 100% Lossless in v2 |
| 4 | Confronto con i tokenizer subword (2,4 โ 3,2 sub-token per parola) |
Dichiarato nella prima versione del README senza benchmark riproducibile allegato | Ritirato finchรฉ non verrร pubblicato uno script di benchmark comparativo pubblico | โ Corretto |
I 177 testi di prova (heldout_it_v1.jsonl) sono un set di valutazione italiano mai usato in addestramento.
๐ผ Investment, Compute Grants & Enterprise Licensing (Investimenti & Partnership Industriali)
๐ฌ๐ง Sentinel is scaling the Geodesic Pyramidal Sphere Architecture (
R-08) from 50M to 110Mโ1B+ parameters, with a patent application filed at the Italian Patent and Trademark Office (UIBM).
Open to Seed / Deep-Tech Investment, GPU/TPU Compute Grants, and Enterprise R&D Partnerships.
๐ฎ๐น Aperto a Investimenti Seed / Deep-Tech, Grant Computazionali GPU/TPU e Licenze Industriali Enterprise.
๐ฉ Contact Founder & Inventor Thomas Seri: ๐ www.sentinelhub.eu | ๐ GitHub (@Thomasseri) | ๐ค Hugging Face (@SentinelHub) | ๐ฌ Open an Inquiry / Issue
๐ Ecosistema Sentinel & Modelli R-08 Correlati
Il vocabolario gpTommy 32k รจ il motore lessicale ad alta densitร impiegato per la nuova generazione di modelli geodetici compatti e leggeri della famiglia Sentinel R-08:
- ๐ Sito Ufficiale: www.sentinelhub.eu โ Piattaforma Sentinel LifeOS
- ๐ค Sentinel R-08 v7 (Pyramid 44.5M): GitHub | Hugging Face
- ๐ Sentinel R-08 v7.2 (51.6M con 12 Hub Icosaedrici): GitHub | Hugging Face
- ๐ Sentinel R-08 v7.2a DA ZERO (51.6M 82.51% BLiMP-IT, migliore tra gli R-08): GitHub | Hugging Face
- ๐ฌ Modello di Controllo A/B Transformer Baseline (44.9M): GitHub | Hugging Face
๐ Suite Europea Multilingua gpTommy 32k (32.768 Token Nativi per Lingua):
- ๐ฎ๐น Italiano (
gpTommy-32k): GitHub | Hugging Face - ๐ฌ๐ง English (
gpTommy-32k-EN): GitHub | Hugging Face - ๐ฉ๐ช Deutsch (
gpTommy-32k-DE): GitHub | Hugging Face - ๐ซ๐ท Franรงais (
gpTommy-32k-FR): GitHub | Hugging Face - ๐ช๐ธ Espaรฑol (
gpTommy-32k-ES): GitHub | Hugging Face
๐ฏ Perchรฉ gpTommy 32k รจ Diverso dai Tokenizer Tradizionali
I tokenizer BPE statistici tradizionali calibrati prevalentemente sulla lingua inglese presentano una forte frammentazione quando applicati alla morfologia italiana. Nel testo italiano questo comporta una grave frammentazione:
- Una parola come ยซcuscinettoยป o ยซmanutenzioneยป viene spezzata in 3 o 4 sottosillabe arbitrarie (
cus-,ci-,net-,to), aumentando a dismisura la lunghezza del contesto, i costi computazionali e il rischio di allucinazioni ortografiche.
gpTommy 32k adotta un approccio lessicale nativo e strutturato:
- Contiene 29.775 parole italiane complete (il 90,9% dell'intero vocabolario), coprendo forme base, singolari, plurali, verbi coniugati e l'intero lessico tecnico-scientifico.
- Le parole non vengono spezzettate: la rete neurale associa un singolo token atomico a ciascun concetto lessicale finito.
๐ Metriche Oggettive di Compressione & Nota sulla Nomenclatura (32k)
- Significato di
32k: Il suffisso32kindica la dimensione del vocabolario lessicale (32.768token ID distinti) e non la finestra di contesto del modello. - Efficienza di Tokenizzazione (Tokenizer v2 vs v1 sui 177 testi di valutazione):
Con il Tokenizer v2 (
implicit_space=True), lo spazio singolo ASCII tra le parole รจ implicito e non consuma token: sui 177 testi italiani di prova (32.560parole,200.713caratteri), la sequenza completa richiede60.366token (1,85 token per parola,3,32 caratteri per token) con ricostruzione 100% lossless delle maiuscole, rispetto ai75.815token (2,33 token per parola) della modalitร storicav1(implicit_space=False).
๐ Architettura ad Archivio: Il Sistema a Schede SSvvv
Il vocabolario gpTommy adotta una codifica deterministica a 5 cifre SSvvv:
SS(Scheda): Indica la categoria o la lettera dell'alfabeto (da01a26per le lettere A..Z).vvv(Riga): Indica la specifica riga / lemma all'interno di quella scheda.
| Scheda | Intervallo ID | Contenuto Principale | Esempi di Token |
|---|---|---|---|
00 |
00000 โ 00999 |
Token speciali AI, marcatori di caso/spazio v2 (ID 5, 6, 9, 10), punteggiatura, cifre |
<|user|>, <|assistant|>, <|system|>, +, -, =, *, % |
01 |
01000 โ 01999 |
Lettera A (parole italiane e forme latine) | anche, amico, allora, avere, analizzare, attualitร |
03 |
03000 โ 03999 |
Lettera C | casa, cosa, cittร , cuscinetto, costruire, cilindro |
07 |
07000 โ 07999 |
Lettera G | giorno, grande, gruppo, giovane, governo |
20 |
20000 โ 20999 |
Lettera T | tempo, terra, tavolo, totale, tiranti, trasmissione |
26 |
26000 โ 26999 |
Lettera Z (oltre 940 lemmi in Z) | zona, zone, zero, zio, zucchero, zaino, zitto, zucca |
๐ Ripartizione dei 32.768 Token
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ gpTommy 32k (32.768 ID) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโค
โ Tipologia โ Conteggioโ Percentualโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโค
โ Parole Italiane Complete โ 29.775 โ 90,9% โ
โ Caratteri Singoli, Cifre e Simboli โ 1.925 โ 5,9% โ
โ Token Speciali di Controllo & Chat โ 1.069 โ 3,2% โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโ
๐ Utilizzo Rapido in Python โ Tokenizer v2 (Zero Dipendenze Esterne)
Il tokenizer gptommy_tokenizer.py (v2.0.0) รจ completamente autonomo e non richiede pacchetti pesanti esterni:
from gptommy_tokenizer import gpTommyTokenizer
# 1. Inizializza il Tokenizer v2 (Spazio Implicito + Maiuscole Lossless di default)
tokenizer = gpTommyTokenizer()
# 2. Codifica una frase italiana in token ID (senza sprecare token per gli spazi singoli)
testo = "Il cuscinetto a sfere radiale riduce l'attrito volvente."
token_ids = tokenizer.encode(testo)
print("Token IDs v2:", token_ids)
# Output: [6, 9043, 3001, 10, 21472, 10, 14147, 1001, 28253, 18533, 10, 4262, 10, 12045, 18405, 12001, 10, 71, 10, 30421, 30656, 10, 63]
# 3. Decodifica 100% Lossless tornando al testo italiano originale (maiuscole incluse!)
testo_ricostruito = tokenizer.decode(token_ids)
print("Decodifica v2:", testo_ricostruito)
# Output: "Il cuscinetto a sfere radiale riduce l'attrito volvente."
assert testo_ricostruito == testo
# 4. Opzionale: modalitร v1 legacy per i checkpoint storici (R-08 v7 / v7.2 / v7.2a)
tokenizer_v1 = gpTommyTokenizer(implicit_space=False)
๐ก๏ธ Licenza e Attribuzione
Questo vocabolario รจ rilasciato per scopi di Ricerca Scientifica e Sperimentazione Libera (Non-Commercial Research License) con vincoli etici di protezione (esclusione di impieghi bellici, propaganda e usi lesivi).
Tutti i diritti sull'architettura a schede e sull'organizzazione lessicale sono riservati a Thomas Seri (Sentinel). Per collaborazioni o utilizzi in progetti di produzione: www.sentinelhub.eu.