Skip to content

Add tekken pre-tokenizer (Mistral NeMo family) — Nemotron-Nano-9B-v2 unloadable since #373's loud gate #387

Description

@jamesburton

Follow-up to #373, found live during the #372 perplexity A/B: bartowski/nvidia_NVIDIA-Nemotron-Nano-9B-v2-GGUF carries tokenizer.ggml.pre = tekken, which #373's (correct) loud gate now rejects at load. Before #373 this model silently tokenized with NO pre-tokenization — so every prior dotLLM run of it, including the gated NemotronHTextGeneratorTests real-weights e2e, was mis-tokenizing.

Fix: add the tekken pipeline. .NET regex supports Unicode category classes natively, so use the ORIGINAL tokenizer.json pattern quoted verbatim in llama.cpp llama-vocab.cpp:408 (llama.cpp itself ships a lookahead rewrite only because std::regex lacks \p{Lu}-style classes).

Acceptance:

  • tekken resolves to its own pipeline (llama.cpp LLAMA_VOCAB_PRE_TYPE_TEKKEN).
  • A test discriminating tekken from BOTH gpt2 and llama3 routing (its bare \p{N} splits every digit; the others group digit runs).
  • Nemotron-Nano-9B-v2 loads.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions