j72-tokenizer

日本語向けの SentencePiece Unigram トークナイザ(語彙 72,000)。J72 系列モデルの学習・推論で使用しているものと同一のファイルです。

改行や ▁ などを私用領域文字 U+E000 でエスケープする薄いラッパー(ReversibleSentencePieceAdapter)と組み合わせて使うことで、任意の文字列を decode(encode(text)) == text で復元できます。

ファイル

ファイル 内容
tokenizer.model SentencePiece モデル本体
tokenizer.sha256 tokenizer.model の SHA-256
tokenizer_adapters.py 可逆エスケープラッパー(escape-e000-v2)

tokenizer.model の SHA-256:

73f58a921e338883470bc99c4cc364a3d5ef955a4c28b8ef62f0af508208f03f

仕様

項目 値
方式 SentencePiece Unigram
語彙数 72,000
特殊トークン <unk>=0, <s>=1, </s>=2(pad なし)
byte fallback あり(<0x00>〜<0xFF> の 256 個)
正規化 なし(identity)
dummy prefix なし

使い方

from huggingface_hub import snapshot_download
import sys

path = snapshot_download("j-llm/j72-tokenizer")
sys.path.insert(0, path)
from tokenizer_adapters import ReversibleSentencePieceAdapter

tok = ReversibleSentencePieceAdapter(f"{path}/tokenizer.model")
text = "吾輩は猫である。\n名前はまだ無い。"
ids = tok.encode(text)
assert tok.decode(ids) == text

注意

  • tokenizer.model を SentencePiece で直接読むだけでは、\r\n・U+2028・▁ などを含む文字列が元に戻りません。モデルの学習時と同じ ID 列を得るには、必ず ReversibleSentencePieceAdapter を通してください。
  • encode は BOS/EOS を付与しません。必要な場合は呼び出し側で ID 1 / 2 を追加してください。
  • transformers の AutoTokenizer 用ファイル(tokenizer.json など)は同梱していません。

ライセンス

CC BY-NC 4.0(表示・非営利)

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support