[Lane 1 · numerics] tokenizer.json parity — normalizer / pre-tokenizer survey and NFC strategy for commonMain
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 57/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Ambito
- data, machine-learning
Direzione di ricerca
Start by reading the two linked ModernBERT and mmBERT tokenizer.json files and the Hugging Face tokenizers documentation, then use a small Python script with json.load to survey 15–20 checkpoint files. Record the requested tokenizer fields in a Markdown table with exact revision links, summarize normalizer and pre-tokenizer types and merge formats, and compare NFC options using the linked Unicode data. Done means posting the completed table and recommendation as a comment on #1321.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Sub-issue of #1321 (HF tokenizer.json parity for BPE encoders).
Lane: 1 · Numerics / Research
Skill needed: Python and the Hugging Face tokenizers library. No Kotlin, no SKaiNET codebase knowledge.
Size: s (an afternoon)
Blocked by: nothing
What to do
- Pick 15–20 public checkpoints that ship a
tokenizer.jsonand cover the families SKaiNET loads or plans to load: GPT-2, Qwen2.5/Qwen3, Llama 3.x, Gemma 3/4, Mistral (HF export), SmolLM2, BitNet, ModernBERT, mmBERT, BERT-base, XLM-R, T5, Whisper, Moonshine. - For each file record:
model.type,model.byte_fallback,model.ignore_merges, the form ofmodel.merges[0](string or array), the fullnormalizerblock, thepre_tokenizerblock, thedecoderblock, and the number ofadded_tokenswithspecial: false. A 30-line script withjson.loadis enough — no need to run the tokenizers. - Produce one Markdown table, sorted by family, and a short section answering: which normalizer types occur at all (expected:
NFC,NFKC,Replace,Prepend,Sequence,BertNormalizer,Lowercase,StripAccents), which pre-tokenizer types (ByteLevel,Metaspace,Split,Sequence,BertPreTokenizer), and how many files use the array form of merges. - Recommend an NFC strategy for Kotlin
commonMain: (a)expect/actualwithjava.text.Normalizeron JVM andString.prototype.normalizeon JS/Wasm, with a passthrough on Kotlin/Native; (b) a table-driven implementation (quote the table size for the composition exclusions + canonical compositions); or (c) something better. One paragraph per option, one recommendation. - Post the table and recommendation as a comment on #1321.
Acceptance
- Table with ≥ 15 checkpoints, each row linking the exact
tokenizer.jsonrevision on the Hub - Count of files whose merges are in array form vs string form
- NFC recommendation with a link to the Unicode data it would depend on
- Result reported back on #1321
Notes
The two files that triggered the parent are ModernBERT and mmBERT; include both so the Kotlin lanes can cross-check. If you find a normalizer type that cannot be implemented without a large Unicode table (e.g. NFKC), say so — that is a finding, not a blocker.
- Lingua principale
- Kotlin
- Stelle
- 52
- Fork
- 15
- Merge medio
- 1g 15h
- PR unite (30g)
- 36
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di SKaiNET-developers/SKaiNET
-
coding good first issue size:xs skill:kotlin-core sub-issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
SKaiNET-developers/SKaiNET#1323 ·
I maintainer di solito rispondono entro 1 giorno
-
coding good first issue platform size:xs skill:js sub-issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
SKaiNET-developers/SKaiNET#1232 ·
I maintainer di solito rispondono entro 1 giorno
-
skeep tracking
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
SKaiNET-developers/SKaiNET#1331 ·
I maintainer di solito rispondono entro 1 giorno
-
assessment size:s skill:review sub-issue
Difficoltà 4/5 1-2 giorni Idoneità per principianti 18/100
SKaiNET-developers/SKaiNET#1330 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue size:s skill:docs sub-issue
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
SKaiNET-developers/SKaiNET#1329 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di SKaiNET-developers/SKaiNET
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
Kotlin/kotlin-lsp#288 ·
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
chrisbanes/haze#1536 ·
I maintainer di solito rispondono entro 1 giorno
-
Cassiopeia drops the `präsentiert von` credit printed in the event bodyForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaafk-ok area:data-quality importer size:S
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
enorm-labs/event-junkie#3166 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
rajpreetcodes/Skills_MCP_Server#25 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
com-lihaoyi/mill#7776 ·
I maintainer di solito rispondono entro 1 giorno