[Lane 1 · numerics] tokenizer.json parity — normalizer / pre-tokenizer survey and NFC strategy for commonMain
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 57/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 領域
- data, machine-learning
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Kotlin
- スター
- 52
- フォーク
- 15
- 平均マージ
- 1日 15時間
- マージ済み PR(30日)
- 36
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
SKaiNET-developers/SKaiNET のほかの issue
-
coding good first issue size:xs skill:kotlin-core sub-issue
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
SKaiNET-developers/SKaiNET#1323 ·
メンテナーはふだん 1 日以内に返信
-
coding good first issue platform size:xs skill:js sub-issue
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
SKaiNET-developers/SKaiNET#1232 ·
メンテナーはふだん 1 日以内に返信
-
skeep tracking
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
SKaiNET-developers/SKaiNET#1331 ·
メンテナーはふだん 1 日以内に返信
-
assessment size:s skill:review sub-issue
難易度 4/5 1〜2日 初心者へのやさしさ 18/100
SKaiNET-developers/SKaiNET#1330 ·
メンテナーはふだん 1 日以内に返信
-
documentation good first issue size:s skill:docs sub-issue
難易度 3/5 1〜2日 初心者へのやさしさ 78/100
SKaiNET-developers/SKaiNET#1329 ·
メンテナーはふだん 1 日以内に返信
SKaiNET-developers/SKaiNET の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
supabase-community/supabase-kt#1413 ·
メンテナーはふだん 5 日以内に返信
-
[Submission] 抖音火山版オープンsubmit-adaption submit-adaption-pre
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
BetterAndroid/android-notification-icon-project#744 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
utopia-rise/godot-jvm#1004 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
pedroSG94/RootEncoder#2213 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
elm-tooling/intellij-elm#85 · コメント 1 件 ·