Upload folder using huggingface_hub
Browse files- README.md +79 -0
- manifest.json +68 -0
- merges.txt +0 -0
- tokenizer.json +0 -0
- vocab.json +0 -0
README.md
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: other
|
| 3 |
+
license_name: wyrd-research
|
| 4 |
+
language:
|
| 5 |
+
- en
|
| 6 |
+
library_name: tokenizers
|
| 7 |
+
tags:
|
| 8 |
+
- tokenizer
|
| 9 |
+
- bpe
|
| 10 |
+
- byte-level-bpe
|
| 11 |
+
- constructed-language
|
| 12 |
+
- wyrd
|
| 13 |
+
- induction-resistant
|
| 14 |
+
---
|
| 15 |
+
|
| 16 |
+
# WYRD42 — BPE-32k Tokenizer
|
| 17 |
+
|
| 18 |
+
A **deterministic** 32,768-token ByteLevel BPE tokenizer for **WYRD42**, a seeded,
|
| 19 |
+
induction-resistant constructed language. It is the shared token id-space for both
|
| 20 |
+
base-pretraining and chat fine-tuning of a 1.1B WYRD language model.
|
| 21 |
+
|
| 22 |
+
## What is WYRD?
|
| 23 |
+
|
| 24 |
+
WYRD is a constructed language defined not by a hand-written grammar but by a *seeded
|
| 25 |
+
deterministic generator*: a pure program plus a private 256-bit master seed that coins
|
| 26 |
+
its own lexicon, fills every inflectional paradigm, and realises surface strings in
|
| 27 |
+
linear forward time. Irregularity across orthography, morphophonology, morphology, and
|
| 28 |
+
syntax is keyed to a pseudorandom function of `(lexeme, morphosyntactic cell)` under the
|
| 29 |
+
seed, so the corpus is cheap to generate forward and engineered to be intractable to
|
| 30 |
+
invert into a compact grammar. Seed for this corpus: `"42"` (hence *WYRD42*).
|
| 31 |
+
|
| 32 |
+
## Determinism & reproducibility
|
| 33 |
+
|
| 34 |
+
The tokenizer is a byte-verifiable function of the corpus and a pinned trainer:
|
| 35 |
+
|
| 36 |
+
- Training sample: a **fixed, sorted, per-register byte budget** of the `wyrd` field of
|
| 37 |
+
the seed-42 v4 corpus — no sampling, no shuffling (`train/train_tokenizer.py`).
|
| 38 |
+
- BPE trainer: `tokenizers==0.22.2`, `vocab_size=32768`, `min_frequency=2`, ByteLevel.
|
| 39 |
+
- `manifest.json` records the sha256 of the sample and of `vocab.json` / `merges.txt`,
|
| 40 |
+
so a re-run can be byte-compared.
|
| 41 |
+
|
| 42 |
+
| artefact | sha256 (first 16) |
|
| 43 |
+
|---|---|
|
| 44 |
+
| training sample (3037 MB) | `9c3364d96a873ae2` |
|
| 45 |
+
| `vocab.json` | `22dee61e598829d5` |
|
| 46 |
+
| `merges.txt` | `a53b26703e0256f4` |
|
| 47 |
+
|
| 48 |
+
## Special tokens
|
| 49 |
+
|
| 50 |
+
`<|endoftext|>` · `<|doc|>` · `<|q|>` · `<|user|>` · `<|assistant|>` · `<|pad|>` — document,
|
| 51 |
+
query, and chat-role markers, so base bins and chat-SFT data share one id-space.
|
| 52 |
+
|
| 53 |
+
## Fertility
|
| 54 |
+
|
| 55 |
+
**3.38 characters / token** (3.92 bytes/token) on native WYRD. WYRD is agglutinative with
|
| 56 |
+
long words; this fertility sets the ~30B-token training budget for the 1.1B model.
|
| 57 |
+
|
| 58 |
+
## Registers in the training sample
|
| 59 |
+
|
| 60 |
+
FineWeb-Edu, FineWeb (commerce), Wikipedia, Gutenberg, balanced native-generation,
|
| 61 |
+
conversations, queries, and a multilingual feature-rich supplement — so the merges cover
|
| 62 |
+
web, narrative, chat, and the full WYRD feature space (evidentiality, dual/paucal, etc.).
|
| 63 |
+
|
| 64 |
+
## Usage
|
| 65 |
+
|
| 66 |
+
```python
|
| 67 |
+
from tokenizers import Tokenizer
|
| 68 |
+
tok = Tokenizer.from_file("tokenizer.json")
|
| 69 |
+
ids = tok.encode("Riga-Kola thüükwúe John Muir").ids # brands pass through as tokens
|
| 70 |
+
print(tok.decode(ids)) # -> "Riga-Kola thüükwúe John Muir"
|
| 71 |
+
```
|
| 72 |
+
|
| 73 |
+
Proper names and brands pass through the language verbatim as a transparent loanword
|
| 74 |
+
channel, so a brand first seen *after* training still has a valid token sequence.
|
| 75 |
+
|
| 76 |
+
## License
|
| 77 |
+
|
| 78 |
+
Research artefact. WYRD is a linguistics research object (forward-easy / invert-hard keyed
|
| 79 |
+
text transform), **not** a security primitive.
|
manifest.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "wyrd42-bpe-32k",
|
| 3 |
+
"vocab_size": 32768,
|
| 4 |
+
"min_frequency": 2,
|
| 5 |
+
"special_tokens": [
|
| 6 |
+
"<|endoftext|>",
|
| 7 |
+
"<|doc|>",
|
| 8 |
+
"<|q|>",
|
| 9 |
+
"<|user|>",
|
| 10 |
+
"<|assistant|>",
|
| 11 |
+
"<|pad|>"
|
| 12 |
+
],
|
| 13 |
+
"tokenizers_version": "0.22.2",
|
| 14 |
+
"registers": [
|
| 15 |
+
[
|
| 16 |
+
"web_edu",
|
| 17 |
+
"data/web-wyrd-edu-v4/*.jsonl",
|
| 18 |
+
"jsonl",
|
| 19 |
+
900
|
| 20 |
+
],
|
| 21 |
+
[
|
| 22 |
+
"web_gen",
|
| 23 |
+
"data/web-wyrd-gen-v4/*.jsonl",
|
| 24 |
+
"jsonl",
|
| 25 |
+
700
|
| 26 |
+
],
|
| 27 |
+
[
|
| 28 |
+
"wikipedia",
|
| 29 |
+
"data/wyrd-wikipedia-v4/*.jsonl",
|
| 30 |
+
"jsonl",
|
| 31 |
+
500
|
| 32 |
+
],
|
| 33 |
+
[
|
| 34 |
+
"gutenberg",
|
| 35 |
+
"data/wyrd-gutenberg-v4/*.jsonl",
|
| 36 |
+
"jsonl",
|
| 37 |
+
500
|
| 38 |
+
],
|
| 39 |
+
[
|
| 40 |
+
"native",
|
| 41 |
+
"data/native-wyrd/*.txt",
|
| 42 |
+
"text",
|
| 43 |
+
400
|
| 44 |
+
],
|
| 45 |
+
[
|
| 46 |
+
"conv",
|
| 47 |
+
"data/wyrd-conv-v4/*.jsonl",
|
| 48 |
+
"jsonl",
|
| 49 |
+
200
|
| 50 |
+
],
|
| 51 |
+
[
|
| 52 |
+
"multiling",
|
| 53 |
+
"data/multiling-wyrd/**/*",
|
| 54 |
+
"text",
|
| 55 |
+
100
|
| 56 |
+
],
|
| 57 |
+
[
|
| 58 |
+
"queries",
|
| 59 |
+
"data/wyrd-queries-v4/*.jsonl",
|
| 60 |
+
"jsonl",
|
| 61 |
+
100
|
| 62 |
+
]
|
| 63 |
+
],
|
| 64 |
+
"sample_mb": 3037,
|
| 65 |
+
"sample_sha256": "9c3364d96a873ae24266de3798ea76472c62ca5b942155fade1002b22301ccde",
|
| 66 |
+
"vocab_sha256": "22dee61e598829d558e1bd396a54abe87ece5f997bd2d6e3e3e2f623e961cf2c",
|
| 67 |
+
"merges_sha256": "a53b26703e0256f41b74aa06e57b4abbd9902110f7e8a374f1b4dc55e8691599"
|
| 68 |
+
}
|
merges.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tokenizer.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
vocab.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|