jfrick commited on
Commit
6bbbc6f
·
verified ·
1 Parent(s): 67572a6

Publish 18 measured scholarly/code BPE tokenizers and research report

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +3 -0
  2. README.md +110 -0
  3. local-verification.json +17 -0
  4. publication-manifest.json +25 -0
  5. recipe.json +489 -0
  6. research/REPORT.md +138 -0
  7. research/corpus-composition.png +3 -0
  8. research/corpus-composition.svg +2502 -0
  9. research/corpus-manifest.json +1046 -0
  10. research/data-size-gains.png +0 -0
  11. research/data-size-gains.svg +1434 -0
  12. research/evaluation-corpus-manifest.json +885 -0
  13. research/execution-history.json +65 -0
  14. research/fragmentation-probes.png +0 -0
  15. research/fragmentation-probes.svg +1914 -0
  16. research/learning-curve.png +0 -0
  17. research/learning-curve.svg +1602 -0
  18. research/measurements.json +0 -0
  19. research/modal-smoke.json +8 -0
  20. research/research-report.pdf +0 -0
  21. research/resources-and-utilization.png +3 -0
  22. research/resources-and-utilization.svg +2811 -0
  23. research/source-comparisons.png +3 -0
  24. research/source-comparisons.svg +0 -0
  25. special_tokens_map.json +6 -0
  26. tokenizer.json +0 -0
  27. tokenizer_config.json +14 -0
  28. variants/1024mib-16384/special_tokens_map.json +6 -0
  29. variants/1024mib-16384/tokenizer.json +0 -0
  30. variants/1024mib-16384/tokenizer_config.json +14 -0
  31. variants/1024mib-32768/special_tokens_map.json +6 -0
  32. variants/1024mib-32768/tokenizer.json +0 -0
  33. variants/1024mib-32768/tokenizer_config.json +14 -0
  34. variants/1024mib-50000/special_tokens_map.json +6 -0
  35. variants/1024mib-50000/tokenizer.json +0 -0
  36. variants/1024mib-50000/tokenizer_config.json +14 -0
  37. variants/128mib-16384/special_tokens_map.json +6 -0
  38. variants/128mib-16384/tokenizer.json +0 -0
  39. variants/128mib-16384/tokenizer_config.json +14 -0
  40. variants/128mib-32768/special_tokens_map.json +6 -0
  41. variants/128mib-32768/tokenizer.json +0 -0
  42. variants/128mib-32768/tokenizer_config.json +14 -0
  43. variants/128mib-50000/special_tokens_map.json +6 -0
  44. variants/128mib-50000/tokenizer.json +0 -0
  45. variants/128mib-50000/tokenizer_config.json +14 -0
  46. variants/2048mib-16384/special_tokens_map.json +6 -0
  47. variants/2048mib-16384/tokenizer.json +0 -0
  48. variants/2048mib-16384/tokenizer_config.json +14 -0
  49. variants/2048mib-32768/special_tokens_map.json +6 -0
  50. variants/2048mib-32768/tokenizer.json +0 -0
.gitattributes CHANGED
@@ -33,3 +33,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ research/corpus-composition.png filter=lfs diff=lfs merge=lfs -text
37
+ research/resources-and-utilization.png filter=lfs diff=lfs merge=lfs -text
38
+ research/source-comparisons.png filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: transformers
3
+ language:
4
+ - en
5
+ tags:
6
+ - tokenizer
7
+ - byte-level-bpe
8
+ - code
9
+ - scientific-text
10
+ - from-scratch
11
+ ---
12
+
13
+ # Scholarly/code tokenizer learning curve
14
+
15
+ 18 byte-level BPE tokenizers trained from scratch on Modal: 64, 128, 256, 512,
16
+ 1,024 and 2,048 MiB of text, each at 16,384, 32,768 and 50,000 vocabulary entries.
17
+ This is a tokenizer resource, with no language-model weights.
18
+
19
+ The default is **32,768 entries trained on 2 GiB**, a practical starting point
20
+ balancing compression and embedding/output size. This is not a demonstrated
21
+ model-quality optimum. All 18 variants are included for reproducible comparisons.
22
+ The existing scholarly-code-v1 tokenizer in GitHub has not been replaced.
23
+
24
+ ## Usage
25
+
26
+ ```python
27
+ from transformers import AutoTokenizer
28
+
29
+ tokenizer = AutoTokenizer.from_pretrained("jfrick/scholarly-code-tokenizer")
30
+ text = "def square(x):\n return x ** 2\n"
31
+ ids = tokenizer.encode(text, add_special_tokens=False)
32
+ assert tokenizer.decode(ids, clean_up_tokenization_spaces=False) == text
33
+
34
+ # Choose any measured vocabulary and fitting size:
35
+ tokenizer_50k = AutoTokenizer.from_pretrained(
36
+ "jfrick/scholarly-code-tokenizer", subfolder="variants/2048mib-50000"
37
+ )
38
+ ```
39
+
40
+ Tested with `transformers==4.57.6` and `tokenizers==0.22.2`. No custom remote code
41
+ is required. The Rust `tokenizers.Tokenizer.from_file("tokenizer.json")` API also
42
+ works. BOS/EOS are not inserted automatically; training pipelines must add document
43
+ boundaries explicitly. Special IDs: PAD=0, BOS=1, EOS=2, UNK=3. Decode with
44
+ `skip_special_tokens=False` when exact round trips including special literals matter.
45
+ Byte coverage avoids unknown tokens for ordinary valid UTF-8 text. No maximum
46
+ model context is implied by this tokenizer.
47
+
48
+ ## Results
49
+
50
+ ![Learning curve](research/learning-curve.png)
51
+
52
+ All variants were evaluated on the same 32 MiB source-weighted held-out corpus,
53
+ with parent separation and a 16 KiB evaluation parent cap. Higher bytes/token means
54
+ fewer tokens for identical text. The [research report](research/REPORT.md) and
55
+ [PDF](research/research-report.pdf) include per-source curves, paired bootstrap
56
+ intervals, vocabulary utilization, fragmentation probes, fit time and peak memory.
57
+
58
+ | Fitting MiB | Vocabulary | Bytes/token | Variant |
59
+ |---:|---:|---:|---|
60
+ | 64 | 16,384 | 3.7463 | [`64mib-16384`](variants/64mib-16384) |
61
+ | 64 | 32,768 | 4.0110 | [`64mib-32768`](variants/64mib-32768) |
62
+ | 64 | 50,000 | 4.1392 | [`64mib-50000`](variants/64mib-50000) |
63
+ | 128 | 16,384 | 3.7571 | [`128mib-16384`](variants/128mib-16384) |
64
+ | 128 | 32,768 | 4.0258 | [`128mib-32768`](variants/128mib-32768) |
65
+ | 128 | 50,000 | 4.1549 | [`128mib-50000`](variants/128mib-50000) |
66
+ | 256 | 16,384 | 3.7624 | [`256mib-16384`](variants/256mib-16384) |
67
+ | 256 | 32,768 | 4.0338 | [`256mib-32768`](variants/256mib-32768) |
68
+ | 256 | 50,000 | 4.1655 | [`256mib-50000`](variants/256mib-50000) |
69
+ | 512 | 16,384 | 3.7646 | [`512mib-16384`](variants/512mib-16384) |
70
+ | 512 | 32,768 | 4.0395 | [`512mib-32768`](variants/512mib-32768) |
71
+ | 512 | 50,000 | 4.1729 | [`512mib-50000`](variants/512mib-50000) |
72
+ | 1024 | 16,384 | 3.7659 | [`1024mib-16384`](variants/1024mib-16384) |
73
+ | 1024 | 32,768 | 4.0431 | [`1024mib-32768`](variants/1024mib-32768) |
74
+ | 1024 | 50,000 | 4.1774 | [`1024mib-50000`](variants/1024mib-50000) |
75
+ | 2048 | 16,384 | 3.7660 | [`2048mib-16384`](variants/2048mib-16384) |
76
+ | 2048 | 32,768 | 4.0438 | [`2048mib-32768`](variants/2048mib-32768) |
77
+ | 2048 | 50,000 | 4.1786 | [`2048mib-50000`](variants/2048mib-50000) |
78
+
79
+ ## Data and method
80
+
81
+ All 12 pinned source inventories in [recipe.json](recipe.json) were eligible:
82
+ FineWeb-Edu 10%, Python code 30%, FineMath 20%, peS2o 10%, PubMed 3%, arXiv 2%,
83
+ Pressbooks 3%, LibreTexts 3%, DOAB 4%, Gutenberg 5%, pre-1929 books 7%, and
84
+ Library of Congress 3%. Percentages apply to UTF-8 bytes. This uses samples from
85
+ all sources, not every record in those datasets. Source revisions and full shard
86
+ inventories are pinned in the manifests. Raw source text is not distributed here;
87
+ source datasets retain their respective licenses and provenance.
88
+
89
+ Fitting uses nested samples, a seeded shard permutation and sequential records,
90
+ 64 KiB per document and 256 KiB per parent. Evaluation initially had sparse book
91
+ coverage and was rebuilt with a 16 KiB parent cap before interpreting curves;
92
+ all unchanged tokenizer weights were rescored. Normalized exact-chunk deduplication
93
+ is applied, including fitting/evaluation overlap checks. Byte-level BPE uses the
94
+ same fixed pretokenization rules, a full byte alphabet, min frequency 2 and maximum
95
+ learned token length 32. No normalization or automatic prefix space is applied.
96
+
97
+ ## Limitations and reproducibility
98
+
99
+ One sampling seed; no global reservoir sampling, fuzzy deduplication guarantee,
100
+ or cross-source parent reconciliation. Bootstrap intervals measure evaluation
101
+ uncertainty, not training-seed variance. Compression is not language-model quality.
102
+ Compare downstream bits per byte under matched parameter and compute budgets
103
+ before selecting a final vocabulary. At width 768, 32K adds 12.58M tied embedding
104
+ parameters over 16K; 50K adds 25.82M. Untied input/output matrices double these deltas.
105
+
106
+ [Implementation and PR](https://github.com/koogle/lm-exploration/pull/8).
107
+ [Publication manifest](publication-manifest.json) pins every tokenizer hash.
108
+ The `research/` manifests and measurements record corpus hashes, source coverage,
109
+ correctness, resource measurements and original result hashes. Candidate tokenizers
110
+ and full parent-level results are also preserved on the original Modal volumes.
local-verification.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "location": "/workspace/scratch/tokenizer-hf-release",
3
+ "revision": null,
4
+ "status": "passed",
5
+ "default_and_variants_checked": 19,
6
+ "probes_per_variant": 6,
7
+ "checks": [
8
+ "artifact_hashes",
9
+ "special_ids",
10
+ "vocabulary_size",
11
+ "token_id_equivalence",
12
+ "exact_roundtrips",
13
+ "no_automatic_boundaries"
14
+ ],
15
+ "transformers_version": "4.57.6",
16
+ "tokenizers_version": "0.22.2"
17
+ }
publication-manifest.json ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "default_variant": "2048mib-32768",
3
+ "selection": "32K is a practical starting point balancing compression and vocabulary parameter overhead; no downstream optimum has been established.",
4
+ "variants": {
5
+ "64mib-16384": "97fa4177ad5a038cc18df87a2acb76c3ed3da89a9b7848517442bcbd7029d83d",
6
+ "64mib-32768": "cd9109d658834401ef05b4de231cdfd789385bb0d9f294e343e19b447d94b52a",
7
+ "64mib-50000": "86de4d58e6eb5417264afe227857e98c0b0431eb7adbfaf6a9ebacac37d77726",
8
+ "128mib-16384": "64356327337221b75b445cc7c761d655a40c1af2bccd8f8ab5453fd1fa1035c0",
9
+ "128mib-32768": "ade4e945319da6e9b010ad7f48f19d9489f7ac583448318a91cf302c21aaf321",
10
+ "128mib-50000": "db13f817c797466237e07a17ca3d62b65dafe334745d6c72714073fa47d36380",
11
+ "256mib-16384": "e76d8e8a71db29a3e1ed036d8e6813ce180ac568b0310d0cdc01a2c8974c92e6",
12
+ "256mib-32768": "3839415fcdd736bb9322b958a45ba82ba01310e2007a1b139f77e3486568c1b6",
13
+ "256mib-50000": "eb4b69846169b0aedd86c72eb2bc7e85b96b074519f7bba8563423cd200baf81",
14
+ "512mib-16384": "c3bae921b15a294391e45fe3bf2ce0a2f3ac1b6678c0f32541613106f322078e",
15
+ "512mib-32768": "ee276c0fba28e5d4f555f85971e9d99b5cee6b53aa5181bc1c4dd33417572829",
16
+ "512mib-50000": "1f4b70d34b608d97a3ad7a9bcd7b0094fa82c652281d39bcc12325c1f16865e2",
17
+ "1024mib-16384": "020928562c47ea392514da50b9c4886b4e3e24fd01cfdc30501599042ffb1359",
18
+ "1024mib-32768": "17ce952fb54679634b5a723756a217bb536ad1d2f6616917ac0172b7a6ef255c",
19
+ "1024mib-50000": "ce5e83a52cab742ea5edc2440c8defd26c946d05ca2f1d3f64ab3dedc26b744d",
20
+ "2048mib-16384": "f95ec3899180fd6aef876f92e8fa1e6ec9cd96c180e22b23ead4e88b3b002561",
21
+ "2048mib-32768": "6f8742023692929139e450a3a64802e355649742e7051f9d8a6e6db47fbc8e96",
22
+ "2048mib-50000": "5e3de8f77cfa5a5820a96bf0205e7cceee7f27c43e16afdc16d452df7a37f724"
23
+ },
24
+ "evaluation_manifest_sha256": "e4e66512ca51226f56844d61a4d0c065064900b6a6d0bd0243e9e64b8698024f"
25
+ }
recipe.json ADDED
@@ -0,0 +1,489 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "scholarly-code-bpe-v1",
3
+ "library": "tokenizers==0.22.2",
4
+ "max_chunk_characters": 4096,
5
+ "max_chunks_per_document": 4,
6
+ "max_document_characters": 4000000,
7
+ "max_scanned_documents_per_source": 100000,
8
+ "model_target": "About150Mtotalparameters; embeddings included; model training not part of tokenizer job",
9
+ "sampling_weight_unit": "UTF-8 bytes before tokenizer exists; actual resulting token shares reported",
10
+ "seed": 20261016,
11
+ "selection_rule": "Prefer16K unless32K reduces total held-out tokens by at least10% and no individual source needs over2%moretokens; all roundtrip and bytecoverage checks must pass",
12
+ "sources": [
13
+ {
14
+ "files": [
15
+ "sample/10BT/000_00000.parquet",
16
+ "sample/10BT/001_00000.parquet",
17
+ "sample/10BT/002_00000.parquet",
18
+ "sample/10BT/003_00000.parquet",
19
+ "sample/10BT/004_00000.parquet",
20
+ "sample/10BT/005_00000.parquet",
21
+ "sample/10BT/006_00000.parquet",
22
+ "sample/10BT/007_00000.parquet",
23
+ "sample/10BT/008_00000.parquet",
24
+ "sample/10BT/009_00000.parquet",
25
+ "sample/10BT/010_00000.parquet",
26
+ "sample/10BT/011_00000.parquet",
27
+ "sample/10BT/012_00000.parquet",
28
+ "sample/10BT/013_00000.parquet"
29
+ ],
30
+ "format": "parquet",
31
+ "name": "fineweb_edu",
32
+ "repo": "HuggingFaceFW/fineweb-edu",
33
+ "revision": "87f09149ef4734204d70ed1d046ddc9ca3f2b8f9",
34
+ "source_url": "https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu",
35
+ "synthetic": false,
36
+ "weight_percent": 10
37
+ },
38
+ {
39
+ "adapter": "codeparrot",
40
+ "allowed_spdx_licenses": [
41
+ "MIT",
42
+ "Apache-2.0",
43
+ "BSD-2-Clause",
44
+ "BSD-3-Clause",
45
+ "ISC"
46
+ ],
47
+ "files": [
48
+ "file-000000000001.json.gz",
49
+ "file-000000000002.json.gz",
50
+ "file-000000000003.json.gz",
51
+ "file-000000000004.json.gz",
52
+ "file-000000000005.json.gz",
53
+ "file-000000000006.json.gz",
54
+ "file-000000000007.json.gz",
55
+ "file-000000000008.json.gz",
56
+ "file-000000000009.json.gz",
57
+ "file-000000000010.json.gz",
58
+ "file-000000000011.json.gz",
59
+ "file-000000000012.json.gz",
60
+ "file-000000000013.json.gz",
61
+ "file-000000000014.json.gz",
62
+ "file-000000000015.json.gz",
63
+ "file-000000000016.json.gz",
64
+ "file-000000000017.json.gz",
65
+ "file-000000000018.json.gz",
66
+ "file-000000000019.json.gz",
67
+ "file-000000000020.json.gz",
68
+ "file-000000000021.json.gz",
69
+ "file-000000000022.json.gz",
70
+ "file-000000000023.json.gz",
71
+ "file-000000000024.json.gz",
72
+ "file-000000000025.json.gz",
73
+ "file-000000000026.json.gz",
74
+ "file-000000000027.json.gz",
75
+ "file-000000000028.json.gz",
76
+ "file-000000000029.json.gz",
77
+ "file-000000000030.json.gz",
78
+ "file-000000000031.json.gz",
79
+ "file-000000000032.json.gz",
80
+ "file-000000000033.json.gz",
81
+ "file-000000000034.json.gz",
82
+ "file-000000000035.json.gz",
83
+ "file-000000000036.json.gz",
84
+ "file-000000000037.json.gz",
85
+ "file-000000000038.json.gz",
86
+ "file-000000000039.json.gz",
87
+ "file-000000000040.json.gz",
88
+ "file-000000000041.json.gz",
89
+ "file-000000000042.json.gz",
90
+ "file-000000000043.json.gz",
91
+ "file-000000000044.json.gz",
92
+ "file-000000000045.json.gz",
93
+ "file-000000000046.json.gz",
94
+ "file-000000000047.json.gz",
95
+ "file-000000000048.json.gz",
96
+ "file-000000000049.json.gz",
97
+ "file-000000000050.json.gz",
98
+ "file-000000000051.json.gz",
99
+ "file-000000000052.json.gz",
100
+ "file-000000000053.json.gz"
101
+ ],
102
+ "format": "json.gz",
103
+ "name": "code_python",
104
+ "repo": "codeparrot/codeparrot-clean-train",
105
+ "revision": "3e6ab65f2864931e041f6a82db9b5a6ec2b71ab4",
106
+ "source_url": "https://huggingface.co/datasets/codeparrot/codeparrot-clean-train",
107
+ "synthetic": false,
108
+ "weight_percent": 30
109
+ },
110
+ {
111
+ "files": [
112
+ "finemath-4plus/train-00000-of-00064.parquet",
113
+ "finemath-4plus/train-00001-of-00064.parquet",
114
+ "finemath-4plus/train-00002-of-00064.parquet",
115
+ "finemath-4plus/train-00003-of-00064.parquet",
116
+ "finemath-4plus/train-00004-of-00064.parquet",
117
+ "finemath-4plus/train-00005-of-00064.parquet",
118
+ "finemath-4plus/train-00006-of-00064.parquet",
119
+ "finemath-4plus/train-00007-of-00064.parquet",
120
+ "finemath-4plus/train-00008-of-00064.parquet",
121
+ "finemath-4plus/train-00009-of-00064.parquet",
122
+ "finemath-4plus/train-00010-of-00064.parquet",
123
+ "finemath-4plus/train-00011-of-00064.parquet",
124
+ "finemath-4plus/train-00012-of-00064.parquet",
125
+ "finemath-4plus/train-00013-of-00064.parquet",
126
+ "finemath-4plus/train-00014-of-00064.parquet",
127
+ "finemath-4plus/train-00015-of-00064.parquet",
128
+ "finemath-4plus/train-00016-of-00064.parquet",
129
+ "finemath-4plus/train-00017-of-00064.parquet",
130
+ "finemath-4plus/train-00018-of-00064.parquet",
131
+ "finemath-4plus/train-00019-of-00064.parquet",
132
+ "finemath-4plus/train-00020-of-00064.parquet",
133
+ "finemath-4plus/train-00021-of-00064.parquet",
134
+ "finemath-4plus/train-00022-of-00064.parquet",
135
+ "finemath-4plus/train-00023-of-00064.parquet",
136
+ "finemath-4plus/train-00024-of-00064.parquet",
137
+ "finemath-4plus/train-00025-of-00064.parquet",
138
+ "finemath-4plus/train-00026-of-00064.parquet",
139
+ "finemath-4plus/train-00027-of-00064.parquet",
140
+ "finemath-4plus/train-00028-of-00064.parquet",
141
+ "finemath-4plus/train-00029-of-00064.parquet",
142
+ "finemath-4plus/train-00030-of-00064.parquet",
143
+ "finemath-4plus/train-00031-of-00064.parquet",
144
+ "finemath-4plus/train-00032-of-00064.parquet",
145
+ "finemath-4plus/train-00033-of-00064.parquet",
146
+ "finemath-4plus/train-00034-of-00064.parquet",
147
+ "finemath-4plus/train-00035-of-00064.parquet",
148
+ "finemath-4plus/train-00036-of-00064.parquet",
149
+ "finemath-4plus/train-00037-of-00064.parquet",
150
+ "finemath-4plus/train-00038-of-00064.parquet",
151
+ "finemath-4plus/train-00039-of-00064.parquet",
152
+ "finemath-4plus/train-00040-of-00064.parquet",
153
+ "finemath-4plus/train-00041-of-00064.parquet",
154
+ "finemath-4plus/train-00042-of-00064.parquet",
155
+ "finemath-4plus/train-00043-of-00064.parquet",
156
+ "finemath-4plus/train-00044-of-00064.parquet",
157
+ "finemath-4plus/train-00045-of-00064.parquet",
158
+ "finemath-4plus/train-00046-of-00064.parquet",
159
+ "finemath-4plus/train-00047-of-00064.parquet",
160
+ "finemath-4plus/train-00048-of-00064.parquet",
161
+ "finemath-4plus/train-00049-of-00064.parquet",
162
+ "finemath-4plus/train-00050-of-00064.parquet",
163
+ "finemath-4plus/train-00051-of-00064.parquet",
164
+ "finemath-4plus/train-00052-of-00064.parquet",
165
+ "finemath-4plus/train-00053-of-00064.parquet",
166
+ "finemath-4plus/train-00054-of-00064.parquet",
167
+ "finemath-4plus/train-00055-of-00064.parquet",
168
+ "finemath-4plus/train-00056-of-00064.parquet",
169
+ "finemath-4plus/train-00057-of-00064.parquet",
170
+ "finemath-4plus/train-00058-of-00064.parquet",
171
+ "finemath-4plus/train-00059-of-00064.parquet",
172
+ "finemath-4plus/train-00060-of-00064.parquet",
173
+ "finemath-4plus/train-00061-of-00064.parquet",
174
+ "finemath-4plus/train-00062-of-00064.parquet",
175
+ "finemath-4plus/train-00063-of-00064.parquet"
176
+ ],
177
+ "format": "parquet",
178
+ "name": "finemath_4plus",
179
+ "repo": "HuggingFaceTB/finemath",
180
+ "revision": "e92b25a616738fe95dc186b64dfb19f9c8525594",
181
+ "synthetic": false,
182
+ "weight_percent": 20
183
+ },
184
+ {
185
+ "files": [
186
+ "peS2o-0000.json.gz",
187
+ "peS2o-0001.json.gz",
188
+ "peS2o-0002.json.gz",
189
+ "peS2o-0003.json.gz",
190
+ "peS2o-0004.json.gz",
191
+ "peS2o-0005.json.gz",
192
+ "peS2o-0006.json.gz",
193
+ "peS2o-0007.json.gz",
194
+ "peS2o-0008.json.gz",
195
+ "peS2o-0009.json.gz",
196
+ "peS2o-0010.json.gz",
197
+ "peS2o-0011.json.gz",
198
+ "peS2o-0012.json.gz",
199
+ "peS2o-0013.json.gz",
200
+ "peS2o-0014.json.gz",
201
+ "peS2o-0015.json.gz",
202
+ "peS2o-0016.json.gz",
203
+ "peS2o-0017.json.gz",
204
+ "peS2o-0018.json.gz",
205
+ "peS2o-0019.json.gz",
206
+ "peS2o-0020.json.gz",
207
+ "peS2o-0021.json.gz",
208
+ "peS2o-0022.json.gz",
209
+ "peS2o-0023.json.gz",
210
+ "peS2o-0024.json.gz",
211
+ "peS2o-0025.json.gz",
212
+ "peS2o-0026.json.gz",
213
+ "peS2o-0027.json.gz",
214
+ "peS2o-0028.json.gz",
215
+ "peS2o-0029.json.gz",
216
+ "peS2o-0030.json.gz",
217
+ "peS2o-0031.json.gz",
218
+ "peS2o-0032.json.gz",
219
+ "peS2o-0033.json.gz",
220
+ "peS2o-0034.json.gz",
221
+ "peS2o-0035.json.gz",
222
+ "peS2o-0036.json.gz",
223
+ "peS2o-0037.json.gz",
224
+ "peS2o-0038.json.gz",
225
+ "peS2o-0039.json.gz",
226
+ "peS2o-0040.json.gz",
227
+ "peS2o-0041.json.gz",
228
+ "peS2o-0042.json.gz",
229
+ "peS2o-0043.json.gz",
230
+ "peS2o-0044.json.gz",
231
+ "peS2o-0045.json.gz",
232
+ "peS2o-0046.json.gz",
233
+ "peS2o-0047.json.gz",
234
+ "peS2o-0048.json.gz",
235
+ "peS2o-0049.json.gz",
236
+ "peS2o-0050.json.gz",
237
+ "peS2o-0051.json.gz",
238
+ "peS2o-0052.json.gz",
239
+ "peS2o-0053.json.gz",
240
+ "peS2o-0054.json.gz",
241
+ "peS2o-0055.json.gz",
242
+ "peS2o-0056.json.gz",
243
+ "peS2o-0057.json.gz",
244
+ "peS2o-0058.json.gz",
245
+ "peS2o-0059.json.gz",
246
+ "peS2o-0060.json.gz",
247
+ "peS2o-0061.json.gz",
248
+ "peS2o-0062.json.gz",
249
+ "peS2o-0063.json.gz",
250
+ "peS2o-0064.json.gz",
251
+ "peS2o-0065.json.gz",
252
+ "peS2o-0066.json.gz",
253
+ "peS2o-0067.json.gz",
254
+ "peS2o-0068.json.gz",
255
+ "peS2o-0069.json.gz",
256
+ "peS2o-0070.json.gz",
257
+ "peS2o-0071.json.gz",
258
+ "peS2o-0072.json.gz",
259
+ "peS2o-0073.json.gz",
260
+ "peS2o-0074.json.gz",
261
+ "peS2o-0075.json.gz",
262
+ "peS2o-0076.json.gz",
263
+ "peS2o-0077.json.gz",
264
+ "peS2o-0078.json.gz",
265
+ "peS2o-0079.json.gz",
266
+ "peS2o-0080.json.gz",
267
+ "peS2o-0081.json.gz",
268
+ "peS2o-0082.json.gz",
269
+ "peS2o-0083.json.gz",
270
+ "peS2o-0084.json.gz",
271
+ "peS2o-0085.json.gz",
272
+ "peS2o-0086.json.gz",
273
+ "peS2o-0087.json.gz",
274
+ "peS2o-0088.json.gz",
275
+ "peS2o-0089.json.gz",
276
+ "peS2o-0090.json.gz"
277
+ ],
278
+ "format": "json.gz",
279
+ "name": "pes2o",
280
+ "repo": "common-pile/peS2o_filtered",
281
+ "revision": "297747513bfb0ff1fbf61ddad3b03319d0f04597",
282
+ "source_url": "https://huggingface.co/datasets/common-pile/peS2o_filtered",
283
+ "synthetic": false,
284
+ "weight_percent": 10
285
+ },
286
+ {
287
+ "files": [
288
+ "licensed_pubmed-0000.json.gz",
289
+ "licensed_pubmed-0001.json.gz",
290
+ "licensed_pubmed-0002.json.gz",
291
+ "licensed_pubmed-0003.json.gz",
292
+ "licensed_pubmed-0004.json.gz",
293
+ "licensed_pubmed-0005.json.gz",
294
+ "licensed_pubmed-0006.json.gz",
295
+ "licensed_pubmed-0007.json.gz",
296
+ "licensed_pubmed-0008.json.gz",
297
+ "licensed_pubmed-0009.json.gz",
298
+ "licensed_pubmed-0010.json.gz",
299
+ "licensed_pubmed-0011.json.gz",
300
+ "licensed_pubmed-0012.json.gz",
301
+ "licensed_pubmed-0013.json.gz",
302
+ "licensed_pubmed-0014.json.gz",
303
+ "licensed_pubmed-0015.json.gz",
304
+ "licensed_pubmed-0016.json.gz"
305
+ ],
306
+ "format": "json.gz",
307
+ "name": "pubmed",
308
+ "repo": "common-pile/pubmed_filtered",
309
+ "revision": "c156f0569a92d8f2edc33cebe1f72f7d3e1cae84",
310
+ "source_url": "https://huggingface.co/datasets/common-pile/pubmed_filtered",
311
+ "synthetic": false,
312
+ "weight_percent": 3
313
+ },
314
+ {
315
+ "files": [
316
+ "arxiv-papers-0000.json.gz",
317
+ "arxiv-papers-0001.json.gz",
318
+ "arxiv-papers-0002.json.gz",
319
+ "arxiv-papers-0003.json.gz",
320
+ "arxiv-papers-0004.json.gz",
321
+ "arxiv-papers-0005.json.gz",
322
+ "arxiv-papers-0006.json.gz",
323
+ "arxiv-papers-0007.json.gz"
324
+ ],
325
+ "format": "json.gz",
326
+ "name": "arxiv",
327
+ "repo": "common-pile/arxiv_papers_filtered",
328
+ "revision": "033cf7f53f9b348deec868c1a5a48484f3ee9e52",
329
+ "source_url": "https://huggingface.co/datasets/common-pile/arxiv_papers_filtered",
330
+ "synthetic": false,
331
+ "weight_percent": 2
332
+ },
333
+ {
334
+ "files": [
335
+ "pressbooks-0000.json.gz"
336
+ ],
337
+ "format": "json.gz",
338
+ "name": "pressbooks",
339
+ "repo": "common-pile/pressbooks_filtered",
340
+ "revision": "1a1d3b50d77f834370f8eb4c0d174668dd1676bb",
341
+ "source_url": "https://huggingface.co/datasets/common-pile/pressbooks_filtered",
342
+ "synthetic": false,
343
+ "weight_percent": 3
344
+ },
345
+ {
346
+ "files": [
347
+ "libretexts-0000.json.gz"
348
+ ],
349
+ "format": "json.gz",
350
+ "name": "libretexts",
351
+ "repo": "common-pile/libretexts_filtered",
352
+ "revision": "70388bca52b4a93515e14b1d56618fd7944988fd",
353
+ "source_url": "https://huggingface.co/datasets/common-pile/libretexts_filtered",
354
+ "synthetic": false,
355
+ "weight_percent": 3
356
+ },
357
+ {
358
+ "files": [
359
+ "doab-0000.json.gz",
360
+ "doab-0001.json.gz",
361
+ "doab-0002.json.gz",
362
+ "doab-0003.json.gz",
363
+ "doab-0004.json.gz"
364
+ ],
365
+ "format": "json.gz",
366
+ "name": "doab",
367
+ "repo": "common-pile/doab_filtered",
368
+ "revision": "defb24ca72ef6aba6ce0228b669eec06dcfbffbc",
369
+ "source_url": "https://huggingface.co/datasets/common-pile/doab_filtered",
370
+ "synthetic": false,
371
+ "weight_percent": 4
372
+ },
373
+ {
374
+ "files": [
375
+ "project_gutenberg-dolma-0000.json.gz",
376
+ "project_gutenberg-dolma-0001.json.gz",
377
+ "project_gutenberg-dolma-0002.json.gz",
378
+ "project_gutenberg-dolma-0003.json.gz",
379
+ "project_gutenberg-dolma-0004.json.gz",
380
+ "project_gutenberg-dolma-0005.json.gz",
381
+ "project_gutenberg-dolma-0006.json.gz",
382
+ "project_gutenberg-dolma-0007.json.gz",
383
+ "project_gutenberg-dolma-0008.json.gz",
384
+ "project_gutenberg-dolma-0009.json.gz",
385
+ "project_gutenberg-dolma-0010.json.gz",
386
+ "project_gutenberg-dolma-0011.json.gz",
387
+ "project_gutenberg-dolma-0012.json.gz",
388
+ "project_gutenberg-dolma-0013.json.gz",
389
+ "project_gutenberg-dolma-0014.json.gz"
390
+ ],
391
+ "format": "json.gz",
392
+ "name": "gutenberg",
393
+ "repo": "common-pile/project_gutenberg_filtered",
394
+ "revision": "3cdf6879c807f4e4e063f2ceb23bc268d8c29ab7",
395
+ "source_url": "https://huggingface.co/datasets/common-pile/project_gutenberg_filtered",
396
+ "synthetic": false,
397
+ "weight_percent": 5
398
+ },
399
+ {
400
+ "files": [
401
+ "public_library_1929_dolma-0000.json.gz",
402
+ "public_library_1929_dolma-0001.json.gz",
403
+ "public_library_1929_dolma-0002.json.gz",
404
+ "public_library_1929_dolma-0003.json.gz",
405
+ "public_library_1929_dolma-0004.json.gz",
406
+ "public_library_1929_dolma-0005.json.gz",
407
+ "public_library_1929_dolma-0006.json.gz",
408
+ "public_library_1929_dolma-0007.json.gz",
409
+ "public_library_1929_dolma-0008.json.gz",
410
+ "public_library_1929_dolma-0009.json.gz",
411
+ "public_library_1929_dolma-0010.json.gz",
412
+ "public_library_1929_dolma-0011.json.gz",
413
+ "public_library_1929_dolma-0012.json.gz",
414
+ "public_library_1929_dolma-0013.json.gz",
415
+ "public_library_1929_dolma-0014.json.gz",
416
+ "public_library_1929_dolma-0015.json.gz",
417
+ "public_library_1929_dolma-0016.json.gz",
418
+ "public_library_1929_dolma-0017.json.gz",
419
+ "public_library_1929_dolma-0018.json.gz",
420
+ "public_library_1929_dolma-0019.json.gz",
421
+ "public_library_1929_dolma-0020.json.gz",
422
+ "public_library_1929_dolma-0021.json.gz",
423
+ "public_library_1929_dolma-0022.json.gz",
424
+ "public_library_1929_dolma-0023.json.gz",
425
+ "public_library_1929_dolma-0024.json.gz",
426
+ "public_library_1929_dolma-0025.json.gz"
427
+ ],
428
+ "format": "json.gz",
429
+ "name": "pre_1929_books",
430
+ "repo": "common-pile/pre_1929_books_filtered",
431
+ "revision": "23f9d96dbb1db3324bbc9fbfe1f8299cc799c4d1",
432
+ "synthetic": false,
433
+ "weight_percent": 7
434
+ },
435
+ {
436
+ "files": [
437
+ "loc_books_dolma-0000.json.gz",
438
+ "loc_books_dolma-0001.json.gz",
439
+ "loc_books_dolma-0002.json.gz",
440
+ "loc_books_dolma-0003.json.gz",
441
+ "loc_books_dolma-0004.json.gz",
442
+ "loc_books_dolma-0005.json.gz",
443
+ "loc_books_dolma-0006.json.gz",
444
+ "loc_books_dolma-0007.json.gz",
445
+ "loc_books_dolma-0008.json.gz",
446
+ "loc_books_dolma-0009.json.gz",
447
+ "loc_books_dolma-0010.json.gz",
448
+ "loc_books_dolma-0011.json.gz",
449
+ "loc_books_dolma-0012.json.gz",
450
+ "loc_books_dolma-0013.json.gz",
451
+ "loc_books_dolma-0014.json.gz",
452
+ "loc_books_dolma-0015.json.gz",
453
+ "loc_books_dolma-0016.json.gz",
454
+ "loc_books_dolma-0017.json.gz",
455
+ "loc_books_dolma-0018.json.gz",
456
+ "loc_books_dolma-0019.json.gz",
457
+ "loc_books_dolma-0020.json.gz",
458
+ "loc_books_dolma-0021.json.gz",
459
+ "loc_books_dolma-0022.json.gz",
460
+ "loc_books_dolma-0023.json.gz",
461
+ "loc_books_dolma-0024.json.gz"
462
+ ],
463
+ "format": "json.gz",
464
+ "name": "library_of_congress",
465
+ "repo": "common-pile/library_of_congress_filtered",
466
+ "revision": "56725c7aa1bb320703e22eb5f42903173d5bac3d",
467
+ "synthetic": false,
468
+ "weight_percent": 3
469
+ }
470
+ ],
471
+ "special_tokens": [
472
+ "<|pad|>",
473
+ "<|bos|>",
474
+ "<|eos|>",
475
+ "<|unk|>"
476
+ ],
477
+ "split_policy": "Same mixture-split-v1 parent hash: buckets2..9 training, bucket0 validation, bucket1 excluded; no held-out fitting",
478
+ "tokenizer": "Byte-level BPE with complete256bytealphabet; no normalization; digit groups up to3; explicit whitespace; no automatic BOS/EOS",
479
+ "trainer": {
480
+ "max_token_length": 32,
481
+ "min_frequency": 2
482
+ },
483
+ "training_utf8_bytes": 67108864,
484
+ "validation_utf8_bytes": 8388608,
485
+ "vocab_sizes": [
486
+ 16384,
487
+ 32768
488
+ ]
489
+ }
research/REPORT.md ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Tokenizer learning-curve research report
2
+
3
+ ## Overview
4
+
5
+ 18 of 18 requested candidates have measured Modal results. The grid doubles fitting text from 64 MiB through 2 GiB and compares 16,384, 32,768 and 50,000 vocabulary entries. All fresh candidates use the same source-weighted, parent-held-out evaluation corpus. A higher bytes-per-token value means fewer tokens for the same text; it does not establish better language-model quality. The strongest observed compression is 4.1786 bytes/token at 2048 MiB and 50,000 entries. This identifies a compression result, not a final model-optimal vocabulary.
6
+
7
+ **Status: complete.**
8
+
9
+ ## Main findings
10
+
11
+ - The strongest observed compression is 4.1786 bytes/token at 2048 MiB and 50,000 entries. This identifies a compression result, not a final model-optimal vocabulary.
12
+ - At 16,384 entries, 64 MiB → 2 GiB reduces held-out token count by 0.52%; the final doubling contributes 0.003%. The smallest sample within 1% of this vocabulary's best observed token count is 64 MiB. The 1% tolerance is an analysis heuristic.
13
+ - At 32,768 entries, 64 MiB → 2 GiB reduces held-out token count by 0.81%; the final doubling contributes 0.017%. The smallest sample within 1% of this vocabulary's best observed token count is 64 MiB. The 1% tolerance is an analysis heuristic.
14
+ - At 50,000 entries, 64 MiB → 2 GiB reduces held-out token count by 0.94%; the final doubling contributes 0.031%. The smallest sample within 1% of this vocabulary's best observed token count is 64 MiB. The 1% tolerance is an analysis heuristic.
15
+ - At 2 GiB, 32K uses 6.87% fewer tokens than 16K; 50K uses 9.88% fewer. At width 768, tied vocabulary parameters increase by 12.58M and 25.82M respectively. Untied input/output matrices double these deltas.
16
+ - The published default is the 2 GiB / 32K candidate, a practical starting point balancing compression and vocabulary parameter overhead. All 18 variants are published for comparison. This choice has not been validated by matched-compute language-model training.
17
+
18
+
19
+ ## Experimental design
20
+
21
+ - All 12 pinned source inventories from the scholarly/code plan are eligible; the experiment samples them rather than claiming to process every upstream record.
22
+ - Nested per-source UTF-8 byte prefixes: 64, 128, 256, 512, 1,024 and 2,048 MiB. 16K means 16,384 entries, 32K means 32,768, and 50K means exactly 50,000.
23
+ - Source weights follow the plan, applied to bytes for tokenizer fitting. This is distinct from the eventual model-training token mixture.
24
+ - Shared 32 MiB evaluation corpus; parent-level train/evaluation/test separation before chunking. Test parents are excluded. The final evaluation caps each document and parent at 16 KiB to broaden coverage; fitting data are unchanged.
25
+ - Byte-level BPE, full byte alphabet, no normalization or automatic boundaries; the frozen v1 pretokenization rules are held fixed. The original tokenizer is unchanged.
26
+ - Seeded shard permutation, sequential records within shards, a 64 KiB document cap and 256 KiB parent cap for fitting. Exact whitespace-normalized duplicate chunks are removed; cross-split conflicts are quarantined before freezing.
27
+ - CPU-only Modal: eight-CPU and 64 GiB memory requests, with a two-hour candidate timeout; at most three candidates concurrently. Peak RSS includes fitting and evaluation. CPU/memory requests are not hard caps; Rayon uses eight threads. Final rescoring uses two CPUs and 8 GiB RAM (requests and hard caps), at most three workers and a 20-minute timeout. Throughput includes encoding, decoding, counting and checks; peak RSS refers to the original fitting/evaluation process.
28
+
29
+ ## Evaluation coverage audit
30
+
31
+ The initial evaluation had only five LibreTexts parent books. Before interpreting the candidate curves, evaluation was rebuilt with a 16 KiB parent cap and the same 32 MiB source quotas. Every candidate was rescored on that shared corpus. An initial 8 KiB cap could not fill the LibreTexts quota (636,017 bytes after exhausting the pinned inventory), so a fresh evaluation version used 16 KiB. Fitting text and tokenizer weights were preserved. Original fitting chunks were reserved in the dedup index to exclude exact normalized chunk overlap. Original result.json files remain on Modal; result-balanced-evaluation.json contains final metrics.
32
+
33
+ ## Frozen corpus composition
34
+
35
+ | Source | Weight % | Fit MiB | Fit parents | Eval MiB | Eval parents |
36
+ |---|---:|---:|---:|---:|---:|
37
+ | fineweb_edu | 10 | 204.80 | 46886 | 3.20 | 845 |
38
+ | code_python | 30 | 614.40 | 39130 | 9.60 | 1394 |
39
+ | finemath_4plus | 20 | 409.60 | 87795 | 6.40 | 1573 |
40
+ | pes2o | 10 | 204.80 | 7302 | 3.20 | 214 |
41
+ | pubmed | 3 | 61.44 | 1689 | 0.96 | 66 |
42
+ | arxiv | 2 | 40.96 | 859 | 0.64 | 42 |
43
+ | pressbooks | 3 | 61.44 | 859 | 0.96 | 67 |
44
+ | libretexts | 3 | 61.44 | 367 | 0.96 | 67 |
45
+ | doab | 4 | 81.92 | 661 | 1.28 | 83 |
46
+ | gutenberg | 5 | 102.40 | 1886 | 1.60 | 108 |
47
+ | pre_1929_books | 7 | 143.36 | 2672 | 2.24 | 149 |
48
+ | library_of_congress | 3 | 61.44 | 1211 | 0.96 | 65 |
49
+
50
+ Parent counts use the adapter's source-scoped identifiers; equivalent works across sources are not fully reconciled.
51
+
52
+
53
+ ## Aggregate learning curve
54
+
55
+ ![Learning curve](learning-curve.png)
56
+
57
+ Shading is a 95% parent-bootstrap interval, stratified by source with fixed source-byte weights (256 paired replicates). It describes evaluation-sample uncertainty, not uncertainty across training seeds.
58
+
59
+ | MiB | Vocabulary requested / actual | Bytes/token | Token reduction vs 64 MiB | Fit seconds | Peak RSS MiB | Correctness |
60
+ |---:|---:|---:|---:|---:|---:|---|
61
+ | 64 | 16,384 / 16,384 | 3.7463 | 0.00% | 8.8 | 409 | pass |
62
+ | 64 | 32,768 / 32,768 | 4.0110 | 0.00% | 9.8 | 422 | pass |
63
+ | 64 | 50,000 / 50,000 | 4.1392 | 0.00% | 10.4 | 427 | pass |
64
+ | 128 | 16,384 / 16,384 | 3.7571 | 0.29% | 13.8 | 618 | pass |
65
+ | 128 | 32,768 / 32,768 | 4.0258 | 0.37% | 15.6 | 655 | pass |
66
+ | 128 | 50,000 / 50,000 | 4.1549 | 0.38% | 14.7 | 646 | pass |
67
+ | 256 | 16,384 / 16,384 | 3.7624 | 0.43% | 22.8 | 908 | pass |
68
+ | 256 | 32,768 / 32,768 | 4.0338 | 0.57% | 26.7 | 975 | pass |
69
+ | 256 | 50,000 / 50,000 | 4.1655 | 0.63% | 28.2 | 977 | pass |
70
+ | 512 | 16,384 / 16,384 | 3.7646 | 0.49% | 40.4 | 1469 | pass |
71
+ | 512 | 32,768 / 32,768 | 4.0395 | 0.71% | 46.0 | 1472 | pass |
72
+ | 512 | 50,000 / 50,000 | 4.1729 | 0.81% | 41.7 | 1463 | pass |
73
+ | 1024 | 16,384 / 16,384 | 3.7659 | 0.52% | 69.9 | 2281 | pass |
74
+ | 1024 | 32,768 / 32,768 | 4.0431 | 0.79% | 72.4 | 2347 | pass |
75
+ | 1024 | 50,000 / 50,000 | 4.1774 | 0.91% | 85.3 | 2406 | pass |
76
+ | 2048 | 16,384 / 16,384 | 3.7660 | 0.52% | 125.6 | 3352 | pass |
77
+ | 2048 | 32,768 / 32,768 | 4.0438 | 0.81% | 136.5 | 3510 | pass |
78
+ | 2048 | 50,000 / 50,000 | 4.1786 | 0.94% | 159.3 | 3532 | pass |
79
+
80
+ ## Source-level comparisons
81
+
82
+ ![Source comparisons](source-comparisons.png)
83
+
84
+ ## Resource use and vocabulary utilization
85
+
86
+ ![Resource comparisons](resources-and-utilization.png)
87
+
88
+ Unseen vocabulary includes special/control entries. A low utilization fraction alone is not evidence of a poor tokenizer on this finite evaluation set.
89
+
90
+ ## Gains from more fitting data
91
+
92
+ ![Data-size gains](data-size-gains.png)
93
+
94
+ ## Vocabulary-size tradeoffs
95
+
96
+ | MiB | Vocabulary | Token reduction vs 16K | Paired 95% interval |
97
+ |---:|---:|---:|---|
98
+ | 64 | 16,384 | 0.00% | 0.00% to 0.00% |
99
+ | 64 | 32,768 | 6.60% | 6.53% to 6.68% |
100
+ | 64 | 50,000 | 9.49% | 9.41% to 9.61% |
101
+ | 128 | 16,384 | 0.00% | 0.00% to 0.00% |
102
+ | 128 | 32,768 | 6.67% | 6.60% to 6.76% |
103
+ | 128 | 50,000 | 9.58% | 9.49% to 9.69% |
104
+ | 256 | 16,384 | 0.00% | 0.00% to 0.00% |
105
+ | 256 | 32,768 | 6.73% | 6.66% to 6.82% |
106
+ | 256 | 50,000 | 9.68% | 9.58% to 9.79% |
107
+ | 512 | 16,384 | 0.00% | 0.00% to 0.00% |
108
+ | 512 | 32,768 | 6.80% | 6.74% to 6.89% |
109
+ | 512 | 50,000 | 9.78% | 9.69% to 9.90% |
110
+ | 1024 | 16,384 | 0.00% | 0.00% to 0.00% |
111
+ | 1024 | 32,768 | 6.86% | 6.79% to 6.94% |
112
+ | 1024 | 50,000 | 9.85% | 9.75% to 9.96% |
113
+ | 2048 | 16,384 | 0.00% | 0.00% to 0.00% |
114
+ | 2048 | 32,768 | 6.87% | 6.80% to 6.95% |
115
+ | 2048 | 50,000 | 9.88% | 9.77% to 9.99% |
116
+
117
+ Larger vocabularies reduce sequence length but add embedding/output parameters. At width 768 with tied embeddings, 32K adds 12.58M parameters over 16K; 50K adds 25.82M. Untied input/output weights double those increases. A final choice needs matched model-compute experiments.
118
+
119
+ ## Fixed-term fragmentation
120
+
121
+ ![Fragmentation probes](fragmentation-probes.png)
122
+
123
+ These are diagnostic examples, not a representative task benchmark. Fewer pieces are not automatically better, particularly for numbers.
124
+
125
+ ## Interpretation and limitations
126
+
127
+ Do not select a winner from an incomplete matrix. Once complete, examine same-vocabulary gains from each doubling, source regressions, fragmentation probes and resource use together. A compression plateau is evidence of diminishing tokenizer-fitting returns, not proof of downstream optimality.
128
+
129
+ This experiment uses one corpus sampling seed. It does not establish stability across independent corpus samples. Near duplicates with changed wording or shifted chunk boundaries and equivalent books/papers across sources may remain. These limitations must be resolved for strong generalization claims. The frozen v1 collector split is not reproducible from its handoff, so its historical results are not mixed into this matched learning curve.
130
+
131
+ Token-level language-model perplexity is not compared here. Downstream evaluation should use the same held-out text and bits per byte under matched model size and compute. No model quality or billing-cost improvement is claimed.
132
+
133
+ ## Reproduction and evidence
134
+
135
+ - Published tokenizer variants: [jfrick/scholarly-code-tokenizer](https://huggingface.co/jfrick/scholarly-code-tokenizer).
136
+ - `measurements.json` contains compact metrics, per-source comparisons, fragmentation probes and raw-result hashes. Full parent totals and candidate tokenizers remain on the Modal results volume.
137
+ - `corpus-manifest.json` records source pins, sampling settings, corpus hashes and collection decisions; `evaluation-corpus-manifest.json` pins the broader held-out corpus. `modal-smoke.json` records remote test execution.
138
+ - Run `python tokenizer_report.py <results-folder>` to regenerate this report and Matplotlib PNG/SVG/PDF figures from downloaded raw result JSONs.
research/corpus-composition.png ADDED

Git LFS Details

  • SHA256: 534552c39c9214d6c60588b8c95cfc52fa575d79ff9f615358a88998083778f3
  • Pointer size: 131 Bytes
  • Size of remote file: 128 kB
research/corpus-composition.svg ADDED
research/corpus-manifest.json ADDED
@@ -0,0 +1,1046 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "identity": {
3
+ "adapters": "34a07ec99175e0f1fb1df19c75b0e380a75179df3d516c1350ed68b672a28f9f",
4
+ "implementation": "5d992fec42941a33951b22ffb7468ae58811f6de79364cd9f5bcfd714ee772aa",
5
+ "recipe": {
6
+ "id": "scholarly-code-bpe-v1",
7
+ "library": "tokenizers==0.22.2",
8
+ "max_chunk_characters": 4096,
9
+ "max_chunks_per_document": 4,
10
+ "max_document_characters": 4000000,
11
+ "max_scanned_documents_per_source": 100000,
12
+ "model_target": "About150Mtotalparameters; embeddings included; model training not part of tokenizer job",
13
+ "sampling_weight_unit": "UTF-8 bytes before tokenizer exists; actual resulting token shares reported",
14
+ "seed": 20261016,
15
+ "selection_rule": "Prefer16K unless32K reduces total held-out tokens by at least10% and no individual source needs over2%moretokens; all roundtrip and bytecoverage checks must pass",
16
+ "sources": [
17
+ {
18
+ "files": [
19
+ "sample/10BT/000_00000.parquet",
20
+ "sample/10BT/001_00000.parquet",
21
+ "sample/10BT/002_00000.parquet",
22
+ "sample/10BT/003_00000.parquet",
23
+ "sample/10BT/004_00000.parquet",
24
+ "sample/10BT/005_00000.parquet",
25
+ "sample/10BT/006_00000.parquet",
26
+ "sample/10BT/007_00000.parquet",
27
+ "sample/10BT/008_00000.parquet",
28
+ "sample/10BT/009_00000.parquet",
29
+ "sample/10BT/010_00000.parquet",
30
+ "sample/10BT/011_00000.parquet",
31
+ "sample/10BT/012_00000.parquet",
32
+ "sample/10BT/013_00000.parquet"
33
+ ],
34
+ "format": "parquet",
35
+ "name": "fineweb_edu",
36
+ "repo": "HuggingFaceFW/fineweb-edu",
37
+ "revision": "87f09149ef4734204d70ed1d046ddc9ca3f2b8f9",
38
+ "source_url": "https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu",
39
+ "synthetic": false,
40
+ "weight_percent": 10
41
+ },
42
+ {
43
+ "adapter": "codeparrot",
44
+ "allowed_spdx_licenses": [
45
+ "MIT",
46
+ "Apache-2.0",
47
+ "BSD-2-Clause",
48
+ "BSD-3-Clause",
49
+ "ISC"
50
+ ],
51
+ "files": [
52
+ "file-000000000001.json.gz",
53
+ "file-000000000002.json.gz",
54
+ "file-000000000003.json.gz",
55
+ "file-000000000004.json.gz",
56
+ "file-000000000005.json.gz",
57
+ "file-000000000006.json.gz",
58
+ "file-000000000007.json.gz",
59
+ "file-000000000008.json.gz",
60
+ "file-000000000009.json.gz",
61
+ "file-000000000010.json.gz",
62
+ "file-000000000011.json.gz",
63
+ "file-000000000012.json.gz",
64
+ "file-000000000013.json.gz",
65
+ "file-000000000014.json.gz",
66
+ "file-000000000015.json.gz",
67
+ "file-000000000016.json.gz",
68
+ "file-000000000017.json.gz",
69
+ "file-000000000018.json.gz",
70
+ "file-000000000019.json.gz",
71
+ "file-000000000020.json.gz",
72
+ "file-000000000021.json.gz",
73
+ "file-000000000022.json.gz",
74
+ "file-000000000023.json.gz",
75
+ "file-000000000024.json.gz",
76
+ "file-000000000025.json.gz",
77
+ "file-000000000026.json.gz",
78
+ "file-000000000027.json.gz",
79
+ "file-000000000028.json.gz",
80
+ "file-000000000029.json.gz",
81
+ "file-000000000030.json.gz",
82
+ "file-000000000031.json.gz",
83
+ "file-000000000032.json.gz",
84
+ "file-000000000033.json.gz",
85
+ "file-000000000034.json.gz",
86
+ "file-000000000035.json.gz",
87
+ "file-000000000036.json.gz",
88
+ "file-000000000037.json.gz",
89
+ "file-000000000038.json.gz",
90
+ "file-000000000039.json.gz",
91
+ "file-000000000040.json.gz",
92
+ "file-000000000041.json.gz",
93
+ "file-000000000042.json.gz",
94
+ "file-000000000043.json.gz",
95
+ "file-000000000044.json.gz",
96
+ "file-000000000045.json.gz",
97
+ "file-000000000046.json.gz",
98
+ "file-000000000047.json.gz",
99
+ "file-000000000048.json.gz",
100
+ "file-000000000049.json.gz",
101
+ "file-000000000050.json.gz",
102
+ "file-000000000051.json.gz",
103
+ "file-000000000052.json.gz",
104
+ "file-000000000053.json.gz"
105
+ ],
106
+ "format": "json.gz",
107
+ "name": "code_python",
108
+ "repo": "codeparrot/codeparrot-clean-train",
109
+ "revision": "3e6ab65f2864931e041f6a82db9b5a6ec2b71ab4",
110
+ "source_url": "https://huggingface.co/datasets/codeparrot/codeparrot-clean-train",
111
+ "synthetic": false,
112
+ "weight_percent": 30
113
+ },
114
+ {
115
+ "files": [
116
+ "finemath-4plus/train-00000-of-00064.parquet",
117
+ "finemath-4plus/train-00001-of-00064.parquet",
118
+ "finemath-4plus/train-00002-of-00064.parquet",
119
+ "finemath-4plus/train-00003-of-00064.parquet",
120
+ "finemath-4plus/train-00004-of-00064.parquet",
121
+ "finemath-4plus/train-00005-of-00064.parquet",
122
+ "finemath-4plus/train-00006-of-00064.parquet",
123
+ "finemath-4plus/train-00007-of-00064.parquet",
124
+ "finemath-4plus/train-00008-of-00064.parquet",
125
+ "finemath-4plus/train-00009-of-00064.parquet",
126
+ "finemath-4plus/train-00010-of-00064.parquet",
127
+ "finemath-4plus/train-00011-of-00064.parquet",
128
+ "finemath-4plus/train-00012-of-00064.parquet",
129
+ "finemath-4plus/train-00013-of-00064.parquet",
130
+ "finemath-4plus/train-00014-of-00064.parquet",
131
+ "finemath-4plus/train-00015-of-00064.parquet",
132
+ "finemath-4plus/train-00016-of-00064.parquet",
133
+ "finemath-4plus/train-00017-of-00064.parquet",
134
+ "finemath-4plus/train-00018-of-00064.parquet",
135
+ "finemath-4plus/train-00019-of-00064.parquet",
136
+ "finemath-4plus/train-00020-of-00064.parquet",
137
+ "finemath-4plus/train-00021-of-00064.parquet",
138
+ "finemath-4plus/train-00022-of-00064.parquet",
139
+ "finemath-4plus/train-00023-of-00064.parquet",
140
+ "finemath-4plus/train-00024-of-00064.parquet",
141
+ "finemath-4plus/train-00025-of-00064.parquet",
142
+ "finemath-4plus/train-00026-of-00064.parquet",
143
+ "finemath-4plus/train-00027-of-00064.parquet",
144
+ "finemath-4plus/train-00028-of-00064.parquet",
145
+ "finemath-4plus/train-00029-of-00064.parquet",
146
+ "finemath-4plus/train-00030-of-00064.parquet",
147
+ "finemath-4plus/train-00031-of-00064.parquet",
148
+ "finemath-4plus/train-00032-of-00064.parquet",
149
+ "finemath-4plus/train-00033-of-00064.parquet",
150
+ "finemath-4plus/train-00034-of-00064.parquet",
151
+ "finemath-4plus/train-00035-of-00064.parquet",
152
+ "finemath-4plus/train-00036-of-00064.parquet",
153
+ "finemath-4plus/train-00037-of-00064.parquet",
154
+ "finemath-4plus/train-00038-of-00064.parquet",
155
+ "finemath-4plus/train-00039-of-00064.parquet",
156
+ "finemath-4plus/train-00040-of-00064.parquet",
157
+ "finemath-4plus/train-00041-of-00064.parquet",
158
+ "finemath-4plus/train-00042-of-00064.parquet",
159
+ "finemath-4plus/train-00043-of-00064.parquet",
160
+ "finemath-4plus/train-00044-of-00064.parquet",
161
+ "finemath-4plus/train-00045-of-00064.parquet",
162
+ "finemath-4plus/train-00046-of-00064.parquet",
163
+ "finemath-4plus/train-00047-of-00064.parquet",
164
+ "finemath-4plus/train-00048-of-00064.parquet",
165
+ "finemath-4plus/train-00049-of-00064.parquet",
166
+ "finemath-4plus/train-00050-of-00064.parquet",
167
+ "finemath-4plus/train-00051-of-00064.parquet",
168
+ "finemath-4plus/train-00052-of-00064.parquet",
169
+ "finemath-4plus/train-00053-of-00064.parquet",
170
+ "finemath-4plus/train-00054-of-00064.parquet",
171
+ "finemath-4plus/train-00055-of-00064.parquet",
172
+ "finemath-4plus/train-00056-of-00064.parquet",
173
+ "finemath-4plus/train-00057-of-00064.parquet",
174
+ "finemath-4plus/train-00058-of-00064.parquet",
175
+ "finemath-4plus/train-00059-of-00064.parquet",
176
+ "finemath-4plus/train-00060-of-00064.parquet",
177
+ "finemath-4plus/train-00061-of-00064.parquet",
178
+ "finemath-4plus/train-00062-of-00064.parquet",
179
+ "finemath-4plus/train-00063-of-00064.parquet"
180
+ ],
181
+ "format": "parquet",
182
+ "name": "finemath_4plus",
183
+ "repo": "HuggingFaceTB/finemath",
184
+ "revision": "e92b25a616738fe95dc186b64dfb19f9c8525594",
185
+ "synthetic": false,
186
+ "weight_percent": 20
187
+ },
188
+ {
189
+ "files": [
190
+ "peS2o-0000.json.gz",
191
+ "peS2o-0001.json.gz",
192
+ "peS2o-0002.json.gz",
193
+ "peS2o-0003.json.gz",
194
+ "peS2o-0004.json.gz",
195
+ "peS2o-0005.json.gz",
196
+ "peS2o-0006.json.gz",
197
+ "peS2o-0007.json.gz",
198
+ "peS2o-0008.json.gz",
199
+ "peS2o-0009.json.gz",
200
+ "peS2o-0010.json.gz",
201
+ "peS2o-0011.json.gz",
202
+ "peS2o-0012.json.gz",
203
+ "peS2o-0013.json.gz",
204
+ "peS2o-0014.json.gz",
205
+ "peS2o-0015.json.gz",
206
+ "peS2o-0016.json.gz",
207
+ "peS2o-0017.json.gz",
208
+ "peS2o-0018.json.gz",
209
+ "peS2o-0019.json.gz",
210
+ "peS2o-0020.json.gz",
211
+ "peS2o-0021.json.gz",
212
+ "peS2o-0022.json.gz",
213
+ "peS2o-0023.json.gz",
214
+ "peS2o-0024.json.gz",
215
+ "peS2o-0025.json.gz",
216
+ "peS2o-0026.json.gz",
217
+ "peS2o-0027.json.gz",
218
+ "peS2o-0028.json.gz",
219
+ "peS2o-0029.json.gz",
220
+ "peS2o-0030.json.gz",
221
+ "peS2o-0031.json.gz",
222
+ "peS2o-0032.json.gz",
223
+ "peS2o-0033.json.gz",
224
+ "peS2o-0034.json.gz",
225
+ "peS2o-0035.json.gz",
226
+ "peS2o-0036.json.gz",
227
+ "peS2o-0037.json.gz",
228
+ "peS2o-0038.json.gz",
229
+ "peS2o-0039.json.gz",
230
+ "peS2o-0040.json.gz",
231
+ "peS2o-0041.json.gz",
232
+ "peS2o-0042.json.gz",
233
+ "peS2o-0043.json.gz",
234
+ "peS2o-0044.json.gz",
235
+ "peS2o-0045.json.gz",
236
+ "peS2o-0046.json.gz",
237
+ "peS2o-0047.json.gz",
238
+ "peS2o-0048.json.gz",
239
+ "peS2o-0049.json.gz",
240
+ "peS2o-0050.json.gz",
241
+ "peS2o-0051.json.gz",
242
+ "peS2o-0052.json.gz",
243
+ "peS2o-0053.json.gz",
244
+ "peS2o-0054.json.gz",
245
+ "peS2o-0055.json.gz",
246
+ "peS2o-0056.json.gz",
247
+ "peS2o-0057.json.gz",
248
+ "peS2o-0058.json.gz",
249
+ "peS2o-0059.json.gz",
250
+ "peS2o-0060.json.gz",
251
+ "peS2o-0061.json.gz",
252
+ "peS2o-0062.json.gz",
253
+ "peS2o-0063.json.gz",
254
+ "peS2o-0064.json.gz",
255
+ "peS2o-0065.json.gz",
256
+ "peS2o-0066.json.gz",
257
+ "peS2o-0067.json.gz",
258
+ "peS2o-0068.json.gz",
259
+ "peS2o-0069.json.gz",
260
+ "peS2o-0070.json.gz",
261
+ "peS2o-0071.json.gz",
262
+ "peS2o-0072.json.gz",
263
+ "peS2o-0073.json.gz",
264
+ "peS2o-0074.json.gz",
265
+ "peS2o-0075.json.gz",
266
+ "peS2o-0076.json.gz",
267
+ "peS2o-0077.json.gz",
268
+ "peS2o-0078.json.gz",
269
+ "peS2o-0079.json.gz",
270
+ "peS2o-0080.json.gz",
271
+ "peS2o-0081.json.gz",
272
+ "peS2o-0082.json.gz",
273
+ "peS2o-0083.json.gz",
274
+ "peS2o-0084.json.gz",
275
+ "peS2o-0085.json.gz",
276
+ "peS2o-0086.json.gz",
277
+ "peS2o-0087.json.gz",
278
+ "peS2o-0088.json.gz",
279
+ "peS2o-0089.json.gz",
280
+ "peS2o-0090.json.gz"
281
+ ],
282
+ "format": "json.gz",
283
+ "name": "pes2o",
284
+ "repo": "common-pile/peS2o_filtered",
285
+ "revision": "297747513bfb0ff1fbf61ddad3b03319d0f04597",
286
+ "source_url": "https://huggingface.co/datasets/common-pile/peS2o_filtered",
287
+ "synthetic": false,
288
+ "weight_percent": 10
289
+ },
290
+ {
291
+ "files": [
292
+ "licensed_pubmed-0000.json.gz",
293
+ "licensed_pubmed-0001.json.gz",
294
+ "licensed_pubmed-0002.json.gz",
295
+ "licensed_pubmed-0003.json.gz",
296
+ "licensed_pubmed-0004.json.gz",
297
+ "licensed_pubmed-0005.json.gz",
298
+ "licensed_pubmed-0006.json.gz",
299
+ "licensed_pubmed-0007.json.gz",
300
+ "licensed_pubmed-0008.json.gz",
301
+ "licensed_pubmed-0009.json.gz",
302
+ "licensed_pubmed-0010.json.gz",
303
+ "licensed_pubmed-0011.json.gz",
304
+ "licensed_pubmed-0012.json.gz",
305
+ "licensed_pubmed-0013.json.gz",
306
+ "licensed_pubmed-0014.json.gz",
307
+ "licensed_pubmed-0015.json.gz",
308
+ "licensed_pubmed-0016.json.gz"
309
+ ],
310
+ "format": "json.gz",
311
+ "name": "pubmed",
312
+ "repo": "common-pile/pubmed_filtered",
313
+ "revision": "c156f0569a92d8f2edc33cebe1f72f7d3e1cae84",
314
+ "source_url": "https://huggingface.co/datasets/common-pile/pubmed_filtered",
315
+ "synthetic": false,
316
+ "weight_percent": 3
317
+ },
318
+ {
319
+ "files": [
320
+ "arxiv-papers-0000.json.gz",
321
+ "arxiv-papers-0001.json.gz",
322
+ "arxiv-papers-0002.json.gz",
323
+ "arxiv-papers-0003.json.gz",
324
+ "arxiv-papers-0004.json.gz",
325
+ "arxiv-papers-0005.json.gz",
326
+ "arxiv-papers-0006.json.gz",
327
+ "arxiv-papers-0007.json.gz"
328
+ ],
329
+ "format": "json.gz",
330
+ "name": "arxiv",
331
+ "repo": "common-pile/arxiv_papers_filtered",
332
+ "revision": "033cf7f53f9b348deec868c1a5a48484f3ee9e52",
333
+ "source_url": "https://huggingface.co/datasets/common-pile/arxiv_papers_filtered",
334
+ "synthetic": false,
335
+ "weight_percent": 2
336
+ },
337
+ {
338
+ "files": [
339
+ "pressbooks-0000.json.gz"
340
+ ],
341
+ "format": "json.gz",
342
+ "name": "pressbooks",
343
+ "repo": "common-pile/pressbooks_filtered",
344
+ "revision": "1a1d3b50d77f834370f8eb4c0d174668dd1676bb",
345
+ "source_url": "https://huggingface.co/datasets/common-pile/pressbooks_filtered",
346
+ "synthetic": false,
347
+ "weight_percent": 3
348
+ },
349
+ {
350
+ "files": [
351
+ "libretexts-0000.json.gz"
352
+ ],
353
+ "format": "json.gz",
354
+ "name": "libretexts",
355
+ "repo": "common-pile/libretexts_filtered",
356
+ "revision": "70388bca52b4a93515e14b1d56618fd7944988fd",
357
+ "source_url": "https://huggingface.co/datasets/common-pile/libretexts_filtered",
358
+ "synthetic": false,
359
+ "weight_percent": 3
360
+ },
361
+ {
362
+ "files": [
363
+ "doab-0000.json.gz",
364
+ "doab-0001.json.gz",
365
+ "doab-0002.json.gz",
366
+ "doab-0003.json.gz",
367
+ "doab-0004.json.gz"
368
+ ],
369
+ "format": "json.gz",
370
+ "name": "doab",
371
+ "repo": "common-pile/doab_filtered",
372
+ "revision": "defb24ca72ef6aba6ce0228b669eec06dcfbffbc",
373
+ "source_url": "https://huggingface.co/datasets/common-pile/doab_filtered",
374
+ "synthetic": false,
375
+ "weight_percent": 4
376
+ },
377
+ {
378
+ "files": [
379
+ "project_gutenberg-dolma-0000.json.gz",
380
+ "project_gutenberg-dolma-0001.json.gz",
381
+ "project_gutenberg-dolma-0002.json.gz",
382
+ "project_gutenberg-dolma-0003.json.gz",
383
+ "project_gutenberg-dolma-0004.json.gz",
384
+ "project_gutenberg-dolma-0005.json.gz",
385
+ "project_gutenberg-dolma-0006.json.gz",
386
+ "project_gutenberg-dolma-0007.json.gz",
387
+ "project_gutenberg-dolma-0008.json.gz",
388
+ "project_gutenberg-dolma-0009.json.gz",
389
+ "project_gutenberg-dolma-0010.json.gz",
390
+ "project_gutenberg-dolma-0011.json.gz",
391
+ "project_gutenberg-dolma-0012.json.gz",
392
+ "project_gutenberg-dolma-0013.json.gz",
393
+ "project_gutenberg-dolma-0014.json.gz"
394
+ ],
395
+ "format": "json.gz",
396
+ "name": "gutenberg",
397
+ "repo": "common-pile/project_gutenberg_filtered",
398
+ "revision": "3cdf6879c807f4e4e063f2ceb23bc268d8c29ab7",
399
+ "source_url": "https://huggingface.co/datasets/common-pile/project_gutenberg_filtered",
400
+ "synthetic": false,
401
+ "weight_percent": 5
402
+ },
403
+ {
404
+ "files": [
405
+ "public_library_1929_dolma-0000.json.gz",
406
+ "public_library_1929_dolma-0001.json.gz",
407
+ "public_library_1929_dolma-0002.json.gz",
408
+ "public_library_1929_dolma-0003.json.gz",
409
+ "public_library_1929_dolma-0004.json.gz",
410
+ "public_library_1929_dolma-0005.json.gz",
411
+ "public_library_1929_dolma-0006.json.gz",
412
+ "public_library_1929_dolma-0007.json.gz",
413
+ "public_library_1929_dolma-0008.json.gz",
414
+ "public_library_1929_dolma-0009.json.gz",
415
+ "public_library_1929_dolma-0010.json.gz",
416
+ "public_library_1929_dolma-0011.json.gz",
417
+ "public_library_1929_dolma-0012.json.gz",
418
+ "public_library_1929_dolma-0013.json.gz",
419
+ "public_library_1929_dolma-0014.json.gz",
420
+ "public_library_1929_dolma-0015.json.gz",
421
+ "public_library_1929_dolma-0016.json.gz",
422
+ "public_library_1929_dolma-0017.json.gz",
423
+ "public_library_1929_dolma-0018.json.gz",
424
+ "public_library_1929_dolma-0019.json.gz",
425
+ "public_library_1929_dolma-0020.json.gz",
426
+ "public_library_1929_dolma-0021.json.gz",
427
+ "public_library_1929_dolma-0022.json.gz",
428
+ "public_library_1929_dolma-0023.json.gz",
429
+ "public_library_1929_dolma-0024.json.gz",
430
+ "public_library_1929_dolma-0025.json.gz"
431
+ ],
432
+ "format": "json.gz",
433
+ "name": "pre_1929_books",
434
+ "repo": "common-pile/pre_1929_books_filtered",
435
+ "revision": "23f9d96dbb1db3324bbc9fbfe1f8299cc799c4d1",
436
+ "synthetic": false,
437
+ "weight_percent": 7
438
+ },
439
+ {
440
+ "files": [
441
+ "loc_books_dolma-0000.json.gz",
442
+ "loc_books_dolma-0001.json.gz",
443
+ "loc_books_dolma-0002.json.gz",
444
+ "loc_books_dolma-0003.json.gz",
445
+ "loc_books_dolma-0004.json.gz",
446
+ "loc_books_dolma-0005.json.gz",
447
+ "loc_books_dolma-0006.json.gz",
448
+ "loc_books_dolma-0007.json.gz",
449
+ "loc_books_dolma-0008.json.gz",
450
+ "loc_books_dolma-0009.json.gz",
451
+ "loc_books_dolma-0010.json.gz",
452
+ "loc_books_dolma-0011.json.gz",
453
+ "loc_books_dolma-0012.json.gz",
454
+ "loc_books_dolma-0013.json.gz",
455
+ "loc_books_dolma-0014.json.gz",
456
+ "loc_books_dolma-0015.json.gz",
457
+ "loc_books_dolma-0016.json.gz",
458
+ "loc_books_dolma-0017.json.gz",
459
+ "loc_books_dolma-0018.json.gz",
460
+ "loc_books_dolma-0019.json.gz",
461
+ "loc_books_dolma-0020.json.gz",
462
+ "loc_books_dolma-0021.json.gz",
463
+ "loc_books_dolma-0022.json.gz",
464
+ "loc_books_dolma-0023.json.gz",
465
+ "loc_books_dolma-0024.json.gz"
466
+ ],
467
+ "format": "json.gz",
468
+ "name": "library_of_congress",
469
+ "repo": "common-pile/library_of_congress_filtered",
470
+ "revision": "56725c7aa1bb320703e22eb5f42903173d5bac3d",
471
+ "synthetic": false,
472
+ "weight_percent": 3
473
+ }
474
+ ],
475
+ "special_tokens": [
476
+ "<|pad|>",
477
+ "<|bos|>",
478
+ "<|eos|>",
479
+ "<|unk|>"
480
+ ],
481
+ "split_policy": "Same mixture-split-v1 parent hash: buckets2..9 training, bucket0 validation, bucket1 excluded; no held-out fitting",
482
+ "tokenizer": "Byte-level BPE with complete256bytealphabet; no normalization; digit groups up to3; explicit whitespace; no automatic BOS/EOS",
483
+ "trainer": {
484
+ "max_token_length": 32,
485
+ "min_frequency": 2
486
+ },
487
+ "training_utf8_bytes": 67108864,
488
+ "validation_utf8_bytes": 8388608,
489
+ "vocab_sizes": [
490
+ 16384,
491
+ 32768
492
+ ]
493
+ },
494
+ "spec": {
495
+ "chunk_bytes": 8192,
496
+ "cpu": 8,
497
+ "evaluation_mib": 32,
498
+ "id": "scholarly-tokenizer-learning-curve-v1",
499
+ "library": "tokenizers==0.22.2",
500
+ "max_document_bytes": 65536,
501
+ "max_parallel_candidates": 3,
502
+ "max_parent_bytes": 262144,
503
+ "max_token_length": 32,
504
+ "memory_mib": 65536,
505
+ "min_frequency": 2,
506
+ "sampling": "Seeded permutation of every pinned shard per source; source-weighted UTF-8 byte quotas; nested per-source prefixes",
507
+ "seed": 20261016,
508
+ "sizes_mib": [
509
+ 64,
510
+ 128,
511
+ 256,
512
+ 512,
513
+ 1024,
514
+ 2048
515
+ ],
516
+ "source_recipe": "tokenizer/recipe-v1.json",
517
+ "split_policy": "scholarly-parent-v2; bucket 0 evaluation, bucket 1 excluded, buckets 2-9 fitting",
518
+ "timeout_seconds": 7200,
519
+ "vocab_sizes": [
520
+ 16384,
521
+ 32768,
522
+ 50000
523
+ ]
524
+ }
525
+ },
526
+ "sources": {
527
+ "fineweb_edu": {
528
+ "weight_percent": 10,
529
+ "train": {
530
+ "path": "fineweb_edu-train.jsonl",
531
+ "sha256": "d50f84b59d36c8cbb81ab7d6e40d285d0464bb6f7d73131e8786603828ae8462",
532
+ "bytes": 214748365,
533
+ "chunks": 55847,
534
+ "parents": 46886,
535
+ "target_bytes": 214748365
536
+ },
537
+ "validation": {
538
+ "path": "fineweb_edu-validation.jsonl",
539
+ "sha256": "87c64308527569fd2917e3d1d2fcd971c791bf35de3ac66f219a85fdf6038bae",
540
+ "bytes": 3355444,
541
+ "chunks": 895,
542
+ "parents": 762,
543
+ "target_bytes": 3355444
544
+ }
545
+ },
546
+ "code_python": {
547
+ "weight_percent": 30,
548
+ "train": {
549
+ "path": "code_python-train.jsonl",
550
+ "sha256": "5e1c04e310375d9922e008142e7d9813f56e541918b729dd7764eaec3ffbadea",
551
+ "bytes": 644245095,
552
+ "chunks": 120955,
553
+ "parents": 39130,
554
+ "target_bytes": 644245095
555
+ },
556
+ "validation": {
557
+ "path": "code_python-validation.jsonl",
558
+ "sha256": "73d44fdab095e9ea0483993698d9d657630489aa5e38b4d1e205b956d1390178",
559
+ "bytes": 10066330,
560
+ "chunks": 1836,
561
+ "parents": 885,
562
+ "target_bytes": 10066330
563
+ }
564
+ },
565
+ "finemath_4plus": {
566
+ "weight_percent": 20,
567
+ "train": {
568
+ "path": "finemath_4plus-train.jsonl",
569
+ "sha256": "d496fb1ff323a5abecfbc7554372eb1ee64871ffe09b93a815acef264fdfe450",
570
+ "bytes": 429496730,
571
+ "chunks": 108405,
572
+ "parents": 87795,
573
+ "target_bytes": 429496730
574
+ },
575
+ "validation": {
576
+ "path": "finemath_4plus-validation.jsonl",
577
+ "sha256": "a5ce0255f2f3564287979f71ffe5d779fd4779bb7c4fec90e04b2a1d573dc249",
578
+ "bytes": 6710887,
579
+ "chunks": 1706,
580
+ "parents": 1387,
581
+ "target_bytes": 6710887
582
+ }
583
+ },
584
+ "pes2o": {
585
+ "weight_percent": 10,
586
+ "train": {
587
+ "path": "pes2o-train.jsonl",
588
+ "sha256": "ad20f8a9b28a5eae7f9e85f0cacfd599d8b4aedb3a013e4635f8460155425669",
589
+ "bytes": 214748365,
590
+ "chunks": 29712,
591
+ "parents": 7302,
592
+ "target_bytes": 214748365
593
+ },
594
+ "validation": {
595
+ "path": "pes2o-validation.jsonl",
596
+ "sha256": "2a159c9e0d6f943659961deba809ca2e4c0fbe142891d0401a1074eaa95ea693",
597
+ "bytes": 3355444,
598
+ "chunks": 463,
599
+ "parents": 104,
600
+ "target_bytes": 3355444
601
+ }
602
+ },
603
+ "pubmed": {
604
+ "weight_percent": 3,
605
+ "train": {
606
+ "path": "pubmed-train.jsonl",
607
+ "sha256": "dfaf74b557b8f20ad922e646176041a5ae55adcb679ed52d8b918e8a4d6d780f",
608
+ "bytes": 64424510,
609
+ "chunks": 8628,
610
+ "parents": 1689,
611
+ "target_bytes": 64424510
612
+ },
613
+ "validation": {
614
+ "path": "pubmed-validation.jsonl",
615
+ "sha256": "78ddd383a8a5b305b2669971f323af6a29b862e30838036c3b02371e47c14f19",
616
+ "bytes": 1006633,
617
+ "chunks": 137,
618
+ "parents": 28,
619
+ "target_bytes": 1006633
620
+ }
621
+ },
622
+ "arxiv": {
623
+ "weight_percent": 2,
624
+ "train": {
625
+ "path": "arxiv-train.jsonl",
626
+ "sha256": "6f9056d49ccd62e3a0ea7eb602f49863ab2c9717c861e2b5bbbbea56cb05cbd3",
627
+ "bytes": 42949673,
628
+ "chunks": 5500,
629
+ "parents": 859,
630
+ "target_bytes": 42949673
631
+ },
632
+ "validation": {
633
+ "path": "arxiv-validation.jsonl",
634
+ "sha256": "70adc71f486d26203877e1d074f87c24c2970132c1eac946be4c395af0a365c5",
635
+ "bytes": 671089,
636
+ "chunks": 84,
637
+ "parents": 12,
638
+ "target_bytes": 671089
639
+ }
640
+ },
641
+ "pressbooks": {
642
+ "weight_percent": 3,
643
+ "train": {
644
+ "path": "pressbooks-train.jsonl",
645
+ "sha256": "8aa0e00775c0706e948b9db49679b8a970d00d5d93734bb247d4764b3638f0ec",
646
+ "bytes": 64424510,
647
+ "chunks": 15879,
648
+ "parents": 859,
649
+ "target_bytes": 64424510
650
+ },
651
+ "validation": {
652
+ "path": "pressbooks-validation.jsonl",
653
+ "sha256": "0fbe94b2da8e62e1775d4b92e0a14a8f729264033c700e502cf0ba0ca5d027f8",
654
+ "bytes": 1006633,
655
+ "chunks": 346,
656
+ "parents": 36,
657
+ "target_bytes": 1006633
658
+ }
659
+ },
660
+ "libretexts": {
661
+ "weight_percent": 3,
662
+ "train": {
663
+ "path": "libretexts-train.jsonl",
664
+ "sha256": "9b2ab410d4f99b402504f822c99a5b3ca5869be500d9d5708c9f7532d853053b",
665
+ "bytes": 64424509,
666
+ "chunks": 12650,
667
+ "parents": 367,
668
+ "target_bytes": 64424509
669
+ },
670
+ "validation": {
671
+ "path": "libretexts-validation.jsonl",
672
+ "sha256": "5f267258cf1bb816af8aaab9bf0b41d05733f192ebd566309e1babc4c5dded29",
673
+ "bytes": 1006632,
674
+ "chunks": 237,
675
+ "parents": 5,
676
+ "target_bytes": 1006632
677
+ }
678
+ },
679
+ "doab": {
680
+ "weight_percent": 4,
681
+ "train": {
682
+ "path": "doab-train.jsonl",
683
+ "sha256": "83cdfce4c8eda6c73a890d924af9d42659cd1acdf442feff07b1a9a1d36fc3eb",
684
+ "bytes": 85899345,
685
+ "chunks": 14622,
686
+ "parents": 661,
687
+ "target_bytes": 85899345
688
+ },
689
+ "validation": {
690
+ "path": "doab-validation.jsonl",
691
+ "sha256": "b87c6c74be3c3f66310015957cb7b391d5bae0bd89ebcec0e75427dad94b46a7",
692
+ "bytes": 1342177,
693
+ "chunks": 219,
694
+ "parents": 13,
695
+ "target_bytes": 1342177
696
+ }
697
+ },
698
+ "gutenberg": {
699
+ "weight_percent": 5,
700
+ "train": {
701
+ "path": "gutenberg-train.jsonl",
702
+ "sha256": "4c8d6979e49b27ef5d83edfe75ce6f2c1c98c8a3eadd9c6815feef0707bfa9d2",
703
+ "bytes": 107374182,
704
+ "chunks": 13371,
705
+ "parents": 1886,
706
+ "target_bytes": 107374182
707
+ },
708
+ "validation": {
709
+ "path": "gutenberg-validation.jsonl",
710
+ "sha256": "6f60664c0e3a3fe4251984bb599e1b921d4ffc0df6bf3220a32db38a8861efff",
711
+ "bytes": 1677721,
712
+ "chunks": 209,
713
+ "parents": 28,
714
+ "target_bytes": 1677721
715
+ }
716
+ },
717
+ "pre_1929_books": {
718
+ "weight_percent": 7,
719
+ "train": {
720
+ "path": "pre_1929_books-train.jsonl",
721
+ "sha256": "a53d4c3fda6c816f93f492469ca7be2f87d56698e298fe5b0b7e497e2e793169",
722
+ "bytes": 150323855,
723
+ "chunks": 18706,
724
+ "parents": 2672,
725
+ "target_bytes": 150323855
726
+ },
727
+ "validation": {
728
+ "path": "pre_1929_books-validation.jsonl",
729
+ "sha256": "0a2f43f51a940cb55e6f131770a4cbc217b79cee63fc8ce148b5a02366dfa5c9",
730
+ "bytes": 2348810,
731
+ "chunks": 290,
732
+ "parents": 38,
733
+ "target_bytes": 2348810
734
+ }
735
+ },
736
+ "library_of_congress": {
737
+ "weight_percent": 3,
738
+ "train": {
739
+ "path": "library_of_congress-train.jsonl",
740
+ "sha256": "59edbc730be46a94d37c7f461cb714a9609460579566d14fc1cb495559dba75b",
741
+ "bytes": 64424509,
742
+ "chunks": 8071,
743
+ "parents": 1211,
744
+ "target_bytes": 64424509
745
+ },
746
+ "validation": {
747
+ "path": "library_of_congress-validation.jsonl",
748
+ "sha256": "c981b6ffb7ceebf8e57cd360b98c246df7d011648e67fc0419d0f9591ff006a5",
749
+ "bytes": 1006632,
750
+ "chunks": 130,
751
+ "parents": 23,
752
+ "target_bytes": 1006632
753
+ }
754
+ }
755
+ },
756
+ "sampling_unit": "UTF-8 bytes, not model-training token proportions",
757
+ "limitations": [
758
+ "Seeded shard order with sequential records, not a global reservoir",
759
+ "Parent identity not reconciled across different datasets",
760
+ "Normalized exact-chunk deduplication; no fuzzy near-duplicate guarantee",
761
+ "One sampling seed; candidate differences do not measure seed variance",
762
+ "Fresh candidates share a held-out split; frozen v1 split overlap unknown"
763
+ ],
764
+ "decisions": [
765
+ [
766
+ "arxiv",
767
+ "duplicate_chunk",
768
+ 4
769
+ ],
770
+ [
771
+ "arxiv",
772
+ "excluded_test",
773
+ 114
774
+ ],
775
+ [
776
+ "arxiv",
777
+ "sampled",
778
+ 993
779
+ ],
780
+ [
781
+ "code_python",
782
+ "code_license",
783
+ 59739
784
+ ],
785
+ [
786
+ "code_python",
787
+ "cross_split_quarantine",
788
+ 33
789
+ ],
790
+ [
791
+ "code_python",
792
+ "duplicate_chunk",
793
+ 311
794
+ ],
795
+ [
796
+ "code_python",
797
+ "excluded_test",
798
+ 9590
799
+ ],
800
+ [
801
+ "code_python",
802
+ "parent_cap",
803
+ 1718
804
+ ],
805
+ [
806
+ "code_python",
807
+ "sampled",
808
+ 82830
809
+ ],
810
+ [
811
+ "doab",
812
+ "cross_split_quarantine",
813
+ 1
814
+ ],
815
+ [
816
+ "doab",
817
+ "duplicate_chunk",
818
+ 6
819
+ ],
820
+ [
821
+ "doab",
822
+ "empty",
823
+ 3
824
+ ],
825
+ [
826
+ "doab",
827
+ "excluded_test",
828
+ 1433
829
+ ],
830
+ [
831
+ "doab",
832
+ "parent_cap",
833
+ 6159
834
+ ],
835
+ [
836
+ "doab",
837
+ "sampled",
838
+ 8987
839
+ ],
840
+ [
841
+ "finemath_4plus",
842
+ "cross_split_quarantine",
843
+ 1
844
+ ],
845
+ [
846
+ "finemath_4plus",
847
+ "duplicate_chunk",
848
+ 13
849
+ ],
850
+ [
851
+ "finemath_4plus",
852
+ "excluded_test",
853
+ 10858
854
+ ],
855
+ [
856
+ "finemath_4plus",
857
+ "sampled",
858
+ 98732
859
+ ],
860
+ [
861
+ "fineweb_edu",
862
+ "cross_split_quarantine",
863
+ 6
864
+ ],
865
+ [
866
+ "fineweb_edu",
867
+ "duplicate_chunk",
868
+ 11
869
+ ],
870
+ [
871
+ "fineweb_edu",
872
+ "excluded_test",
873
+ 5872
874
+ ],
875
+ [
876
+ "fineweb_edu",
877
+ "sampled",
878
+ 52930
879
+ ],
880
+ [
881
+ "gutenberg",
882
+ "cross_split_quarantine",
883
+ 15
884
+ ],
885
+ [
886
+ "gutenberg",
887
+ "duplicate_chunk",
888
+ 62
889
+ ],
890
+ [
891
+ "gutenberg",
892
+ "excluded_test",
893
+ 237
894
+ ],
895
+ [
896
+ "gutenberg",
897
+ "oversize",
898
+ 4
899
+ ],
900
+ [
901
+ "gutenberg",
902
+ "sampled",
903
+ 2133
904
+ ],
905
+ [
906
+ "library_of_congress",
907
+ "cross_split_quarantine",
908
+ 1
909
+ ],
910
+ [
911
+ "library_of_congress",
912
+ "duplicate_chunk",
913
+ 15
914
+ ],
915
+ [
916
+ "library_of_congress",
917
+ "empty",
918
+ 4
919
+ ],
920
+ [
921
+ "library_of_congress",
922
+ "excluded_test",
923
+ 150
924
+ ],
925
+ [
926
+ "library_of_congress",
927
+ "oversize",
928
+ 2
929
+ ],
930
+ [
931
+ "library_of_congress",
932
+ "sampled",
933
+ 1367
934
+ ],
935
+ [
936
+ "libretexts",
937
+ "duplicate_chunk",
938
+ 1
939
+ ],
940
+ [
941
+ "libretexts",
942
+ "empty",
943
+ 3
944
+ ],
945
+ [
946
+ "libretexts",
947
+ "excluded_test",
948
+ 2401
949
+ ],
950
+ [
951
+ "libretexts",
952
+ "parent_cap",
953
+ 10276
954
+ ],
955
+ [
956
+ "libretexts",
957
+ "sampled",
958
+ 11516
959
+ ],
960
+ [
961
+ "pes2o",
962
+ "duplicate_chunk",
963
+ 4
964
+ ],
965
+ [
966
+ "pes2o",
967
+ "excluded_test",
968
+ 909
969
+ ],
970
+ [
971
+ "pes2o",
972
+ "sampled",
973
+ 8236
974
+ ],
975
+ [
976
+ "pre_1929_books",
977
+ "cross_split_quarantine",
978
+ 7
979
+ ],
980
+ [
981
+ "pre_1929_books",
982
+ "duplicate_chunk",
983
+ 28
984
+ ],
985
+ [
986
+ "pre_1929_books",
987
+ "empty",
988
+ 11
989
+ ],
990
+ [
991
+ "pre_1929_books",
992
+ "excluded_test",
993
+ 350
994
+ ],
995
+ [
996
+ "pre_1929_books",
997
+ "oversize",
998
+ 7
999
+ ],
1000
+ [
1001
+ "pre_1929_books",
1002
+ "sampled",
1003
+ 3026
1004
+ ],
1005
+ [
1006
+ "pressbooks",
1007
+ "duplicate_chunk",
1008
+ 2
1009
+ ],
1010
+ [
1011
+ "pressbooks",
1012
+ "empty",
1013
+ 3
1014
+ ],
1015
+ [
1016
+ "pressbooks",
1017
+ "excluded_test",
1018
+ 1195
1019
+ ],
1020
+ [
1021
+ "pressbooks",
1022
+ "parent_cap",
1023
+ 387
1024
+ ],
1025
+ [
1026
+ "pressbooks",
1027
+ "sampled",
1028
+ 14151
1029
+ ],
1030
+ [
1031
+ "pubmed",
1032
+ "duplicate_chunk",
1033
+ 4
1034
+ ],
1035
+ [
1036
+ "pubmed",
1037
+ "excluded_test",
1038
+ 182
1039
+ ],
1040
+ [
1041
+ "pubmed",
1042
+ "sampled",
1043
+ 1898
1044
+ ]
1045
+ ]
1046
+ }
research/data-size-gains.png ADDED
research/data-size-gains.svg ADDED
research/evaluation-corpus-manifest.json ADDED
@@ -0,0 +1,885 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "identity": {
3
+ "adapters": "34a07ec99175e0f1fb1df19c75b0e380a75179df3d516c1350ed68b672a28f9f",
4
+ "implementation": "5d992fec42941a33951b22ffb7468ae58811f6de79364cd9f5bcfd714ee772aa",
5
+ "recipe": {
6
+ "id": "scholarly-code-bpe-v1",
7
+ "library": "tokenizers==0.22.2",
8
+ "max_chunk_characters": 4096,
9
+ "max_chunks_per_document": 4,
10
+ "max_document_characters": 4000000,
11
+ "max_scanned_documents_per_source": 100000,
12
+ "model_target": "About150Mtotalparameters; embeddings included; model training not part of tokenizer job",
13
+ "sampling_weight_unit": "UTF-8 bytes before tokenizer exists; actual resulting token shares reported",
14
+ "seed": 20261016,
15
+ "selection_rule": "Prefer16K unless32K reduces total held-out tokens by at least10% and no individual source needs over2%moretokens; all roundtrip and bytecoverage checks must pass",
16
+ "sources": [
17
+ {
18
+ "files": [
19
+ "sample/10BT/000_00000.parquet",
20
+ "sample/10BT/001_00000.parquet",
21
+ "sample/10BT/002_00000.parquet",
22
+ "sample/10BT/003_00000.parquet",
23
+ "sample/10BT/004_00000.parquet",
24
+ "sample/10BT/005_00000.parquet",
25
+ "sample/10BT/006_00000.parquet",
26
+ "sample/10BT/007_00000.parquet",
27
+ "sample/10BT/008_00000.parquet",
28
+ "sample/10BT/009_00000.parquet",
29
+ "sample/10BT/010_00000.parquet",
30
+ "sample/10BT/011_00000.parquet",
31
+ "sample/10BT/012_00000.parquet",
32
+ "sample/10BT/013_00000.parquet"
33
+ ],
34
+ "format": "parquet",
35
+ "name": "fineweb_edu",
36
+ "repo": "HuggingFaceFW/fineweb-edu",
37
+ "revision": "87f09149ef4734204d70ed1d046ddc9ca3f2b8f9",
38
+ "source_url": "https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu",
39
+ "synthetic": false,
40
+ "weight_percent": 10
41
+ },
42
+ {
43
+ "adapter": "codeparrot",
44
+ "allowed_spdx_licenses": [
45
+ "MIT",
46
+ "Apache-2.0",
47
+ "BSD-2-Clause",
48
+ "BSD-3-Clause",
49
+ "ISC"
50
+ ],
51
+ "files": [
52
+ "file-000000000001.json.gz",
53
+ "file-000000000002.json.gz",
54
+ "file-000000000003.json.gz",
55
+ "file-000000000004.json.gz",
56
+ "file-000000000005.json.gz",
57
+ "file-000000000006.json.gz",
58
+ "file-000000000007.json.gz",
59
+ "file-000000000008.json.gz",
60
+ "file-000000000009.json.gz",
61
+ "file-000000000010.json.gz",
62
+ "file-000000000011.json.gz",
63
+ "file-000000000012.json.gz",
64
+ "file-000000000013.json.gz",
65
+ "file-000000000014.json.gz",
66
+ "file-000000000015.json.gz",
67
+ "file-000000000016.json.gz",
68
+ "file-000000000017.json.gz",
69
+ "file-000000000018.json.gz",
70
+ "file-000000000019.json.gz",
71
+ "file-000000000020.json.gz",
72
+ "file-000000000021.json.gz",
73
+ "file-000000000022.json.gz",
74
+ "file-000000000023.json.gz",
75
+ "file-000000000024.json.gz",
76
+ "file-000000000025.json.gz",
77
+ "file-000000000026.json.gz",
78
+ "file-000000000027.json.gz",
79
+ "file-000000000028.json.gz",
80
+ "file-000000000029.json.gz",
81
+ "file-000000000030.json.gz",
82
+ "file-000000000031.json.gz",
83
+ "file-000000000032.json.gz",
84
+ "file-000000000033.json.gz",
85
+ "file-000000000034.json.gz",
86
+ "file-000000000035.json.gz",
87
+ "file-000000000036.json.gz",
88
+ "file-000000000037.json.gz",
89
+ "file-000000000038.json.gz",
90
+ "file-000000000039.json.gz",
91
+ "file-000000000040.json.gz",
92
+ "file-000000000041.json.gz",
93
+ "file-000000000042.json.gz",
94
+ "file-000000000043.json.gz",
95
+ "file-000000000044.json.gz",
96
+ "file-000000000045.json.gz",
97
+ "file-000000000046.json.gz",
98
+ "file-000000000047.json.gz",
99
+ "file-000000000048.json.gz",
100
+ "file-000000000049.json.gz",
101
+ "file-000000000050.json.gz",
102
+ "file-000000000051.json.gz",
103
+ "file-000000000052.json.gz",
104
+ "file-000000000053.json.gz"
105
+ ],
106
+ "format": "json.gz",
107
+ "name": "code_python",
108
+ "repo": "codeparrot/codeparrot-clean-train",
109
+ "revision": "3e6ab65f2864931e041f6a82db9b5a6ec2b71ab4",
110
+ "source_url": "https://huggingface.co/datasets/codeparrot/codeparrot-clean-train",
111
+ "synthetic": false,
112
+ "weight_percent": 30
113
+ },
114
+ {
115
+ "files": [
116
+ "finemath-4plus/train-00000-of-00064.parquet",
117
+ "finemath-4plus/train-00001-of-00064.parquet",
118
+ "finemath-4plus/train-00002-of-00064.parquet",
119
+ "finemath-4plus/train-00003-of-00064.parquet",
120
+ "finemath-4plus/train-00004-of-00064.parquet",
121
+ "finemath-4plus/train-00005-of-00064.parquet",
122
+ "finemath-4plus/train-00006-of-00064.parquet",
123
+ "finemath-4plus/train-00007-of-00064.parquet",
124
+ "finemath-4plus/train-00008-of-00064.parquet",
125
+ "finemath-4plus/train-00009-of-00064.parquet",
126
+ "finemath-4plus/train-00010-of-00064.parquet",
127
+ "finemath-4plus/train-00011-of-00064.parquet",
128
+ "finemath-4plus/train-00012-of-00064.parquet",
129
+ "finemath-4plus/train-00013-of-00064.parquet",
130
+ "finemath-4plus/train-00014-of-00064.parquet",
131
+ "finemath-4plus/train-00015-of-00064.parquet",
132
+ "finemath-4plus/train-00016-of-00064.parquet",
133
+ "finemath-4plus/train-00017-of-00064.parquet",
134
+ "finemath-4plus/train-00018-of-00064.parquet",
135
+ "finemath-4plus/train-00019-of-00064.parquet",
136
+ "finemath-4plus/train-00020-of-00064.parquet",
137
+ "finemath-4plus/train-00021-of-00064.parquet",
138
+ "finemath-4plus/train-00022-of-00064.parquet",
139
+ "finemath-4plus/train-00023-of-00064.parquet",
140
+ "finemath-4plus/train-00024-of-00064.parquet",
141
+ "finemath-4plus/train-00025-of-00064.parquet",
142
+ "finemath-4plus/train-00026-of-00064.parquet",
143
+ "finemath-4plus/train-00027-of-00064.parquet",
144
+ "finemath-4plus/train-00028-of-00064.parquet",
145
+ "finemath-4plus/train-00029-of-00064.parquet",
146
+ "finemath-4plus/train-00030-of-00064.parquet",
147
+ "finemath-4plus/train-00031-of-00064.parquet",
148
+ "finemath-4plus/train-00032-of-00064.parquet",
149
+ "finemath-4plus/train-00033-of-00064.parquet",
150
+ "finemath-4plus/train-00034-of-00064.parquet",
151
+ "finemath-4plus/train-00035-of-00064.parquet",
152
+ "finemath-4plus/train-00036-of-00064.parquet",
153
+ "finemath-4plus/train-00037-of-00064.parquet",
154
+ "finemath-4plus/train-00038-of-00064.parquet",
155
+ "finemath-4plus/train-00039-of-00064.parquet",
156
+ "finemath-4plus/train-00040-of-00064.parquet",
157
+ "finemath-4plus/train-00041-of-00064.parquet",
158
+ "finemath-4plus/train-00042-of-00064.parquet",
159
+ "finemath-4plus/train-00043-of-00064.parquet",
160
+ "finemath-4plus/train-00044-of-00064.parquet",
161
+ "finemath-4plus/train-00045-of-00064.parquet",
162
+ "finemath-4plus/train-00046-of-00064.parquet",
163
+ "finemath-4plus/train-00047-of-00064.parquet",
164
+ "finemath-4plus/train-00048-of-00064.parquet",
165
+ "finemath-4plus/train-00049-of-00064.parquet",
166
+ "finemath-4plus/train-00050-of-00064.parquet",
167
+ "finemath-4plus/train-00051-of-00064.parquet",
168
+ "finemath-4plus/train-00052-of-00064.parquet",
169
+ "finemath-4plus/train-00053-of-00064.parquet",
170
+ "finemath-4plus/train-00054-of-00064.parquet",
171
+ "finemath-4plus/train-00055-of-00064.parquet",
172
+ "finemath-4plus/train-00056-of-00064.parquet",
173
+ "finemath-4plus/train-00057-of-00064.parquet",
174
+ "finemath-4plus/train-00058-of-00064.parquet",
175
+ "finemath-4plus/train-00059-of-00064.parquet",
176
+ "finemath-4plus/train-00060-of-00064.parquet",
177
+ "finemath-4plus/train-00061-of-00064.parquet",
178
+ "finemath-4plus/train-00062-of-00064.parquet",
179
+ "finemath-4plus/train-00063-of-00064.parquet"
180
+ ],
181
+ "format": "parquet",
182
+ "name": "finemath_4plus",
183
+ "repo": "HuggingFaceTB/finemath",
184
+ "revision": "e92b25a616738fe95dc186b64dfb19f9c8525594",
185
+ "synthetic": false,
186
+ "weight_percent": 20
187
+ },
188
+ {
189
+ "files": [
190
+ "peS2o-0000.json.gz",
191
+ "peS2o-0001.json.gz",
192
+ "peS2o-0002.json.gz",
193
+ "peS2o-0003.json.gz",
194
+ "peS2o-0004.json.gz",
195
+ "peS2o-0005.json.gz",
196
+ "peS2o-0006.json.gz",
197
+ "peS2o-0007.json.gz",
198
+ "peS2o-0008.json.gz",
199
+ "peS2o-0009.json.gz",
200
+ "peS2o-0010.json.gz",
201
+ "peS2o-0011.json.gz",
202
+ "peS2o-0012.json.gz",
203
+ "peS2o-0013.json.gz",
204
+ "peS2o-0014.json.gz",
205
+ "peS2o-0015.json.gz",
206
+ "peS2o-0016.json.gz",
207
+ "peS2o-0017.json.gz",
208
+ "peS2o-0018.json.gz",
209
+ "peS2o-0019.json.gz",
210
+ "peS2o-0020.json.gz",
211
+ "peS2o-0021.json.gz",
212
+ "peS2o-0022.json.gz",
213
+ "peS2o-0023.json.gz",
214
+ "peS2o-0024.json.gz",
215
+ "peS2o-0025.json.gz",
216
+ "peS2o-0026.json.gz",
217
+ "peS2o-0027.json.gz",
218
+ "peS2o-0028.json.gz",
219
+ "peS2o-0029.json.gz",
220
+ "peS2o-0030.json.gz",
221
+ "peS2o-0031.json.gz",
222
+ "peS2o-0032.json.gz",
223
+ "peS2o-0033.json.gz",
224
+ "peS2o-0034.json.gz",
225
+ "peS2o-0035.json.gz",
226
+ "peS2o-0036.json.gz",
227
+ "peS2o-0037.json.gz",
228
+ "peS2o-0038.json.gz",
229
+ "peS2o-0039.json.gz",
230
+ "peS2o-0040.json.gz",
231
+ "peS2o-0041.json.gz",
232
+ "peS2o-0042.json.gz",
233
+ "peS2o-0043.json.gz",
234
+ "peS2o-0044.json.gz",
235
+ "peS2o-0045.json.gz",
236
+ "peS2o-0046.json.gz",
237
+ "peS2o-0047.json.gz",
238
+ "peS2o-0048.json.gz",
239
+ "peS2o-0049.json.gz",
240
+ "peS2o-0050.json.gz",
241
+ "peS2o-0051.json.gz",
242
+ "peS2o-0052.json.gz",
243
+ "peS2o-0053.json.gz",
244
+ "peS2o-0054.json.gz",
245
+ "peS2o-0055.json.gz",
246
+ "peS2o-0056.json.gz",
247
+ "peS2o-0057.json.gz",
248
+ "peS2o-0058.json.gz",
249
+ "peS2o-0059.json.gz",
250
+ "peS2o-0060.json.gz",
251
+ "peS2o-0061.json.gz",
252
+ "peS2o-0062.json.gz",
253
+ "peS2o-0063.json.gz",
254
+ "peS2o-0064.json.gz",
255
+ "peS2o-0065.json.gz",
256
+ "peS2o-0066.json.gz",
257
+ "peS2o-0067.json.gz",
258
+ "peS2o-0068.json.gz",
259
+ "peS2o-0069.json.gz",
260
+ "peS2o-0070.json.gz",
261
+ "peS2o-0071.json.gz",
262
+ "peS2o-0072.json.gz",
263
+ "peS2o-0073.json.gz",
264
+ "peS2o-0074.json.gz",
265
+ "peS2o-0075.json.gz",
266
+ "peS2o-0076.json.gz",
267
+ "peS2o-0077.json.gz",
268
+ "peS2o-0078.json.gz",
269
+ "peS2o-0079.json.gz",
270
+ "peS2o-0080.json.gz",
271
+ "peS2o-0081.json.gz",
272
+ "peS2o-0082.json.gz",
273
+ "peS2o-0083.json.gz",
274
+ "peS2o-0084.json.gz",
275
+ "peS2o-0085.json.gz",
276
+ "peS2o-0086.json.gz",
277
+ "peS2o-0087.json.gz",
278
+ "peS2o-0088.json.gz",
279
+ "peS2o-0089.json.gz",
280
+ "peS2o-0090.json.gz"
281
+ ],
282
+ "format": "json.gz",
283
+ "name": "pes2o",
284
+ "repo": "common-pile/peS2o_filtered",
285
+ "revision": "297747513bfb0ff1fbf61ddad3b03319d0f04597",
286
+ "source_url": "https://huggingface.co/datasets/common-pile/peS2o_filtered",
287
+ "synthetic": false,
288
+ "weight_percent": 10
289
+ },
290
+ {
291
+ "files": [
292
+ "licensed_pubmed-0000.json.gz",
293
+ "licensed_pubmed-0001.json.gz",
294
+ "licensed_pubmed-0002.json.gz",
295
+ "licensed_pubmed-0003.json.gz",
296
+ "licensed_pubmed-0004.json.gz",
297
+ "licensed_pubmed-0005.json.gz",
298
+ "licensed_pubmed-0006.json.gz",
299
+ "licensed_pubmed-0007.json.gz",
300
+ "licensed_pubmed-0008.json.gz",
301
+ "licensed_pubmed-0009.json.gz",
302
+ "licensed_pubmed-0010.json.gz",
303
+ "licensed_pubmed-0011.json.gz",
304
+ "licensed_pubmed-0012.json.gz",
305
+ "licensed_pubmed-0013.json.gz",
306
+ "licensed_pubmed-0014.json.gz",
307
+ "licensed_pubmed-0015.json.gz",
308
+ "licensed_pubmed-0016.json.gz"
309
+ ],
310
+ "format": "json.gz",
311
+ "name": "pubmed",
312
+ "repo": "common-pile/pubmed_filtered",
313
+ "revision": "c156f0569a92d8f2edc33cebe1f72f7d3e1cae84",
314
+ "source_url": "https://huggingface.co/datasets/common-pile/pubmed_filtered",
315
+ "synthetic": false,
316
+ "weight_percent": 3
317
+ },
318
+ {
319
+ "files": [
320
+ "arxiv-papers-0000.json.gz",
321
+ "arxiv-papers-0001.json.gz",
322
+ "arxiv-papers-0002.json.gz",
323
+ "arxiv-papers-0003.json.gz",
324
+ "arxiv-papers-0004.json.gz",
325
+ "arxiv-papers-0005.json.gz",
326
+ "arxiv-papers-0006.json.gz",
327
+ "arxiv-papers-0007.json.gz"
328
+ ],
329
+ "format": "json.gz",
330
+ "name": "arxiv",
331
+ "repo": "common-pile/arxiv_papers_filtered",
332
+ "revision": "033cf7f53f9b348deec868c1a5a48484f3ee9e52",
333
+ "source_url": "https://huggingface.co/datasets/common-pile/arxiv_papers_filtered",
334
+ "synthetic": false,
335
+ "weight_percent": 2
336
+ },
337
+ {
338
+ "files": [
339
+ "pressbooks-0000.json.gz"
340
+ ],
341
+ "format": "json.gz",
342
+ "name": "pressbooks",
343
+ "repo": "common-pile/pressbooks_filtered",
344
+ "revision": "1a1d3b50d77f834370f8eb4c0d174668dd1676bb",
345
+ "source_url": "https://huggingface.co/datasets/common-pile/pressbooks_filtered",
346
+ "synthetic": false,
347
+ "weight_percent": 3
348
+ },
349
+ {
350
+ "files": [
351
+ "libretexts-0000.json.gz"
352
+ ],
353
+ "format": "json.gz",
354
+ "name": "libretexts",
355
+ "repo": "common-pile/libretexts_filtered",
356
+ "revision": "70388bca52b4a93515e14b1d56618fd7944988fd",
357
+ "source_url": "https://huggingface.co/datasets/common-pile/libretexts_filtered",
358
+ "synthetic": false,
359
+ "weight_percent": 3
360
+ },
361
+ {
362
+ "files": [
363
+ "doab-0000.json.gz",
364
+ "doab-0001.json.gz",
365
+ "doab-0002.json.gz",
366
+ "doab-0003.json.gz",
367
+ "doab-0004.json.gz"
368
+ ],
369
+ "format": "json.gz",
370
+ "name": "doab",
371
+ "repo": "common-pile/doab_filtered",
372
+ "revision": "defb24ca72ef6aba6ce0228b669eec06dcfbffbc",
373
+ "source_url": "https://huggingface.co/datasets/common-pile/doab_filtered",
374
+ "synthetic": false,
375
+ "weight_percent": 4
376
+ },
377
+ {
378
+ "files": [
379
+ "project_gutenberg-dolma-0000.json.gz",
380
+ "project_gutenberg-dolma-0001.json.gz",
381
+ "project_gutenberg-dolma-0002.json.gz",
382
+ "project_gutenberg-dolma-0003.json.gz",
383
+ "project_gutenberg-dolma-0004.json.gz",
384
+ "project_gutenberg-dolma-0005.json.gz",
385
+ "project_gutenberg-dolma-0006.json.gz",
386
+ "project_gutenberg-dolma-0007.json.gz",
387
+ "project_gutenberg-dolma-0008.json.gz",
388
+ "project_gutenberg-dolma-0009.json.gz",
389
+ "project_gutenberg-dolma-0010.json.gz",
390
+ "project_gutenberg-dolma-0011.json.gz",
391
+ "project_gutenberg-dolma-0012.json.gz",
392
+ "project_gutenberg-dolma-0013.json.gz",
393
+ "project_gutenberg-dolma-0014.json.gz"
394
+ ],
395
+ "format": "json.gz",
396
+ "name": "gutenberg",
397
+ "repo": "common-pile/project_gutenberg_filtered",
398
+ "revision": "3cdf6879c807f4e4e063f2ceb23bc268d8c29ab7",
399
+ "source_url": "https://huggingface.co/datasets/common-pile/project_gutenberg_filtered",
400
+ "synthetic": false,
401
+ "weight_percent": 5
402
+ },
403
+ {
404
+ "files": [
405
+ "public_library_1929_dolma-0000.json.gz",
406
+ "public_library_1929_dolma-0001.json.gz",
407
+ "public_library_1929_dolma-0002.json.gz",
408
+ "public_library_1929_dolma-0003.json.gz",
409
+ "public_library_1929_dolma-0004.json.gz",
410
+ "public_library_1929_dolma-0005.json.gz",
411
+ "public_library_1929_dolma-0006.json.gz",
412
+ "public_library_1929_dolma-0007.json.gz",
413
+ "public_library_1929_dolma-0008.json.gz",
414
+ "public_library_1929_dolma-0009.json.gz",
415
+ "public_library_1929_dolma-0010.json.gz",
416
+ "public_library_1929_dolma-0011.json.gz",
417
+ "public_library_1929_dolma-0012.json.gz",
418
+ "public_library_1929_dolma-0013.json.gz",
419
+ "public_library_1929_dolma-0014.json.gz",
420
+ "public_library_1929_dolma-0015.json.gz",
421
+ "public_library_1929_dolma-0016.json.gz",
422
+ "public_library_1929_dolma-0017.json.gz",
423
+ "public_library_1929_dolma-0018.json.gz",
424
+ "public_library_1929_dolma-0019.json.gz",
425
+ "public_library_1929_dolma-0020.json.gz",
426
+ "public_library_1929_dolma-0021.json.gz",
427
+ "public_library_1929_dolma-0022.json.gz",
428
+ "public_library_1929_dolma-0023.json.gz",
429
+ "public_library_1929_dolma-0024.json.gz",
430
+ "public_library_1929_dolma-0025.json.gz"
431
+ ],
432
+ "format": "json.gz",
433
+ "name": "pre_1929_books",
434
+ "repo": "common-pile/pre_1929_books_filtered",
435
+ "revision": "23f9d96dbb1db3324bbc9fbfe1f8299cc799c4d1",
436
+ "synthetic": false,
437
+ "weight_percent": 7
438
+ },
439
+ {
440
+ "files": [
441
+ "loc_books_dolma-0000.json.gz",
442
+ "loc_books_dolma-0001.json.gz",
443
+ "loc_books_dolma-0002.json.gz",
444
+ "loc_books_dolma-0003.json.gz",
445
+ "loc_books_dolma-0004.json.gz",
446
+ "loc_books_dolma-0005.json.gz",
447
+ "loc_books_dolma-0006.json.gz",
448
+ "loc_books_dolma-0007.json.gz",
449
+ "loc_books_dolma-0008.json.gz",
450
+ "loc_books_dolma-0009.json.gz",
451
+ "loc_books_dolma-0010.json.gz",
452
+ "loc_books_dolma-0011.json.gz",
453
+ "loc_books_dolma-0012.json.gz",
454
+ "loc_books_dolma-0013.json.gz",
455
+ "loc_books_dolma-0014.json.gz",
456
+ "loc_books_dolma-0015.json.gz",
457
+ "loc_books_dolma-0016.json.gz",
458
+ "loc_books_dolma-0017.json.gz",
459
+ "loc_books_dolma-0018.json.gz",
460
+ "loc_books_dolma-0019.json.gz",
461
+ "loc_books_dolma-0020.json.gz",
462
+ "loc_books_dolma-0021.json.gz",
463
+ "loc_books_dolma-0022.json.gz",
464
+ "loc_books_dolma-0023.json.gz",
465
+ "loc_books_dolma-0024.json.gz"
466
+ ],
467
+ "format": "json.gz",
468
+ "name": "library_of_congress",
469
+ "repo": "common-pile/library_of_congress_filtered",
470
+ "revision": "56725c7aa1bb320703e22eb5f42903173d5bac3d",
471
+ "synthetic": false,
472
+ "weight_percent": 3
473
+ }
474
+ ],
475
+ "special_tokens": [
476
+ "<|pad|>",
477
+ "<|bos|>",
478
+ "<|eos|>",
479
+ "<|unk|>"
480
+ ],
481
+ "split_policy": "Same mixture-split-v1 parent hash: buckets2..9 training, bucket0 validation, bucket1 excluded; no held-out fitting",
482
+ "tokenizer": "Byte-level BPE with complete256bytealphabet; no normalization; digit groups up to3; explicit whitespace; no automatic BOS/EOS",
483
+ "trainer": {
484
+ "max_token_length": 32,
485
+ "min_frequency": 2
486
+ },
487
+ "training_utf8_bytes": 67108864,
488
+ "validation_utf8_bytes": 8388608,
489
+ "vocab_sizes": [
490
+ 16384,
491
+ 32768
492
+ ]
493
+ },
494
+ "spec": {
495
+ "chunk_bytes": 8192,
496
+ "cpu": 8,
497
+ "evaluation_builder_sha256": "43b518effaffbde7f77ad293f2fafec2407b716bbc3c8b126896d93993f43e95",
498
+ "evaluation_mib": 32,
499
+ "id": "scholarly-tokenizer-learning-curve-v1",
500
+ "library": "tokenizers==0.22.2",
501
+ "max_document_bytes": 16384,
502
+ "max_parallel_candidates": 3,
503
+ "max_parent_bytes": 16384,
504
+ "max_token_length": 32,
505
+ "memory_mib": 65536,
506
+ "min_frequency": 2,
507
+ "purpose": "evaluation_only",
508
+ "sampling": "Seeded permutation of every pinned shard per source; source-weighted UTF-8 byte quotas; nested per-source prefixes",
509
+ "seed": 20261016,
510
+ "sizes_mib": [
511
+ 64,
512
+ 128,
513
+ 256,
514
+ 512,
515
+ 1024,
516
+ 2048
517
+ ],
518
+ "source_recipe": "tokenizer/recipe-v1.json",
519
+ "split_policy": "scholarly-parent-v2; bucket 0 evaluation, bucket 1 excluded, buckets 2-9 fitting",
520
+ "timeout_seconds": 7200,
521
+ "training_bytes_override": 0,
522
+ "training_manifest_sha256": "be5d52967413adaa08e74fc0cec028305c9d1297f9c07425efb3631b744fe39a",
523
+ "vocab_sizes": [
524
+ 16384,
525
+ 32768,
526
+ 50000
527
+ ]
528
+ }
529
+ },
530
+ "sources": {
531
+ "fineweb_edu": {
532
+ "weight_percent": 10,
533
+ "train": {
534
+ "path": "fineweb_edu-train.jsonl",
535
+ "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
536
+ "bytes": 0,
537
+ "chunks": 0,
538
+ "parents": 0,
539
+ "target_bytes": 0
540
+ },
541
+ "validation": {
542
+ "path": "fineweb_edu-validation.jsonl",
543
+ "sha256": "b74453ddb191b017b62b12affe8c3f33e475ad59cfbcac4033744b09cf09cb85",
544
+ "bytes": 3355444,
545
+ "chunks": 927,
546
+ "parents": 845,
547
+ "target_bytes": 3355444
548
+ }
549
+ },
550
+ "code_python": {
551
+ "weight_percent": 30,
552
+ "train": {
553
+ "path": "code_python-train.jsonl",
554
+ "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
555
+ "bytes": 0,
556
+ "chunks": 0,
557
+ "parents": 0,
558
+ "target_bytes": 0
559
+ },
560
+ "validation": {
561
+ "path": "code_python-validation.jsonl",
562
+ "sha256": "611010954c9c48ccad9b9a28f7377d56ab180373b5e7eb76fe87ab723b2b8040",
563
+ "bytes": 10066330,
564
+ "chunks": 2092,
565
+ "parents": 1394,
566
+ "target_bytes": 10066330
567
+ }
568
+ },
569
+ "finemath_4plus": {
570
+ "weight_percent": 20,
571
+ "train": {
572
+ "path": "finemath_4plus-train.jsonl",
573
+ "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
574
+ "bytes": 0,
575
+ "chunks": 0,
576
+ "parents": 0,
577
+ "target_bytes": 0
578
+ },
579
+ "validation": {
580
+ "path": "finemath_4plus-validation.jsonl",
581
+ "sha256": "5e4900e466d88b6020e11edc11c3efc06260e17331501051d606c8842ed9ae04",
582
+ "bytes": 6710887,
583
+ "chunks": 1789,
584
+ "parents": 1573,
585
+ "target_bytes": 6710887
586
+ }
587
+ },
588
+ "pes2o": {
589
+ "weight_percent": 10,
590
+ "train": {
591
+ "path": "pes2o-train.jsonl",
592
+ "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
593
+ "bytes": 0,
594
+ "chunks": 0,
595
+ "parents": 0,
596
+ "target_bytes": 0
597
+ },
598
+ "validation": {
599
+ "path": "pes2o-validation.jsonl",
600
+ "sha256": "15fcd5792eef7622cdc9d3dfa43ca2e4b4fb862fff38fb25f1968f73777275d5",
601
+ "bytes": 3355444,
602
+ "chunks": 422,
603
+ "parents": 214,
604
+ "target_bytes": 3355444
605
+ }
606
+ },
607
+ "pubmed": {
608
+ "weight_percent": 3,
609
+ "train": {
610
+ "path": "pubmed-train.jsonl",
611
+ "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
612
+ "bytes": 0,
613
+ "chunks": 0,
614
+ "parents": 0,
615
+ "target_bytes": 0
616
+ },
617
+ "validation": {
618
+ "path": "pubmed-validation.jsonl",
619
+ "sha256": "bc9307825f7107ce91a55a7bcaf4c463f9a6b1181287d2b64f693d8384305f6d",
620
+ "bytes": 1006633,
621
+ "chunks": 128,
622
+ "parents": 66,
623
+ "target_bytes": 1006633
624
+ }
625
+ },
626
+ "arxiv": {
627
+ "weight_percent": 2,
628
+ "train": {
629
+ "path": "arxiv-train.jsonl",
630
+ "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
631
+ "bytes": 0,
632
+ "chunks": 0,
633
+ "parents": 0,
634
+ "target_bytes": 0
635
+ },
636
+ "validation": {
637
+ "path": "arxiv-validation.jsonl",
638
+ "sha256": "c4c613c23bf9bc0f2f911cd85b9d0140d7362aeb4bfcbbe04243ed2c5ba52322",
639
+ "bytes": 671089,
640
+ "chunks": 83,
641
+ "parents": 42,
642
+ "target_bytes": 671089
643
+ }
644
+ },
645
+ "pressbooks": {
646
+ "weight_percent": 3,
647
+ "train": {
648
+ "path": "pressbooks-train.jsonl",
649
+ "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
650
+ "bytes": 0,
651
+ "chunks": 0,
652
+ "parents": 0,
653
+ "target_bytes": 0
654
+ },
655
+ "validation": {
656
+ "path": "pressbooks-validation.jsonl",
657
+ "sha256": "b5133de3edfe0193752574439f8db3174f2e22347fe03942ce64dd7f80a6c86f",
658
+ "bytes": 1006633,
659
+ "chunks": 359,
660
+ "parents": 67,
661
+ "target_bytes": 1006633
662
+ }
663
+ },
664
+ "libretexts": {
665
+ "weight_percent": 3,
666
+ "train": {
667
+ "path": "libretexts-train.jsonl",
668
+ "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
669
+ "bytes": 0,
670
+ "chunks": 0,
671
+ "parents": 0,
672
+ "target_bytes": 0
673
+ },
674
+ "validation": {
675
+ "path": "libretexts-validation.jsonl",
676
+ "sha256": "4cf44ccf05237f507a46743ca2e40cf5fa51036fd0981167335d132a4f816811",
677
+ "bytes": 1006632,
678
+ "chunks": 285,
679
+ "parents": 67,
680
+ "target_bytes": 1006632
681
+ }
682
+ },
683
+ "doab": {
684
+ "weight_percent": 4,
685
+ "train": {
686
+ "path": "doab-train.jsonl",
687
+ "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
688
+ "bytes": 0,
689
+ "chunks": 0,
690
+ "parents": 0,
691
+ "target_bytes": 0
692
+ },
693
+ "validation": {
694
+ "path": "doab-validation.jsonl",
695
+ "sha256": "ff90e9e8aa284ae5db82e45baff8adea9c916b5e59daaa021b027b60dcc228ac",
696
+ "bytes": 1342177,
697
+ "chunks": 315,
698
+ "parents": 83,
699
+ "target_bytes": 1342177
700
+ }
701
+ },
702
+ "gutenberg": {
703
+ "weight_percent": 5,
704
+ "train": {
705
+ "path": "gutenberg-train.jsonl",
706
+ "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
707
+ "bytes": 0,
708
+ "chunks": 0,
709
+ "parents": 0,
710
+ "target_bytes": 0
711
+ },
712
+ "validation": {
713
+ "path": "gutenberg-validation.jsonl",
714
+ "sha256": "f916d780fe05136c3f4c8ee8efd659dc8fa01e21354e03ce9810613fd71f69ea",
715
+ "bytes": 1677721,
716
+ "chunks": 210,
717
+ "parents": 108,
718
+ "target_bytes": 1677721
719
+ }
720
+ },
721
+ "pre_1929_books": {
722
+ "weight_percent": 7,
723
+ "train": {
724
+ "path": "pre_1929_books-train.jsonl",
725
+ "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
726
+ "bytes": 0,
727
+ "chunks": 0,
728
+ "parents": 0,
729
+ "target_bytes": 0
730
+ },
731
+ "validation": {
732
+ "path": "pre_1929_books-validation.jsonl",
733
+ "sha256": "bdd135393f90737d82814df31a22d032288bbcda758b815b029ea39f4bf93128",
734
+ "bytes": 2348810,
735
+ "chunks": 291,
736
+ "parents": 149,
737
+ "target_bytes": 2348810
738
+ }
739
+ },
740
+ "library_of_congress": {
741
+ "weight_percent": 3,
742
+ "train": {
743
+ "path": "library_of_congress-train.jsonl",
744
+ "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
745
+ "bytes": 0,
746
+ "chunks": 0,
747
+ "parents": 0,
748
+ "target_bytes": 0
749
+ },
750
+ "validation": {
751
+ "path": "library_of_congress-validation.jsonl",
752
+ "sha256": "2a6194aa8cd4dfd08a2af10c3a52f8284248b02d8b19acef4643a8586555198c",
753
+ "bytes": 1006632,
754
+ "chunks": 127,
755
+ "parents": 65,
756
+ "target_bytes": 1006632
757
+ }
758
+ }
759
+ },
760
+ "sampling_unit": "UTF-8 bytes, not model-training token proportions",
761
+ "limitations": [
762
+ "Seeded shard order with sequential records, not a global reservoir",
763
+ "Parent identity not reconciled across different datasets",
764
+ "Normalized exact-chunk deduplication; no fuzzy near-duplicate guarantee",
765
+ "One sampling seed; candidate differences do not measure seed variance",
766
+ "Fresh candidates share a held-out split; frozen v1 split overlap unknown"
767
+ ],
768
+ "decisions": [
769
+ [
770
+ "arxiv",
771
+ "duplicate_chunk",
772
+ 1
773
+ ],
774
+ [
775
+ "arxiv",
776
+ "sampled",
777
+ 42
778
+ ],
779
+ [
780
+ "code_python",
781
+ "cross_split_quarantine",
782
+ 2
783
+ ],
784
+ [
785
+ "code_python",
786
+ "duplicate_chunk",
787
+ 2
788
+ ],
789
+ [
790
+ "code_python",
791
+ "parent_cap",
792
+ 177
793
+ ],
794
+ [
795
+ "code_python",
796
+ "sampled",
797
+ 1654
798
+ ],
799
+ [
800
+ "doab",
801
+ "parent_cap",
802
+ 1226
803
+ ],
804
+ [
805
+ "doab",
806
+ "sampled",
807
+ 252
808
+ ],
809
+ [
810
+ "finemath_4plus",
811
+ "sampled",
812
+ 1573
813
+ ],
814
+ [
815
+ "fineweb_edu",
816
+ "sampled",
817
+ 845
818
+ ],
819
+ [
820
+ "gutenberg",
821
+ "sampled",
822
+ 108
823
+ ],
824
+ [
825
+ "library_of_congress",
826
+ "sampled",
827
+ 65
828
+ ],
829
+ [
830
+ "libretexts",
831
+ "parent_cap",
832
+ 3340
833
+ ],
834
+ [
835
+ "libretexts",
836
+ "sampled",
837
+ 250
838
+ ],
839
+ [
840
+ "pes2o",
841
+ "cross_split_quarantine",
842
+ 1
843
+ ],
844
+ [
845
+ "pes2o",
846
+ "duplicate_chunk",
847
+ 1
848
+ ],
849
+ [
850
+ "pes2o",
851
+ "sampled",
852
+ 214
853
+ ],
854
+ [
855
+ "pre_1929_books",
856
+ "cross_split_quarantine",
857
+ 1
858
+ ],
859
+ [
860
+ "pre_1929_books",
861
+ "duplicate_chunk",
862
+ 1
863
+ ],
864
+ [
865
+ "pre_1929_books",
866
+ "sampled",
867
+ 149
868
+ ],
869
+ [
870
+ "pressbooks",
871
+ "parent_cap",
872
+ 482
873
+ ],
874
+ [
875
+ "pressbooks",
876
+ "sampled",
877
+ 339
878
+ ],
879
+ [
880
+ "pubmed",
881
+ "sampled",
882
+ 66
883
+ ]
884
+ ]
885
+ }
research/execution-history.json ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "date": "2026-10-16",
3
+ "active_run_id": "learning-curve-20261016-v2",
4
+ "status": "completed",
5
+ "modal_app_url": "https://modal.com/apps/radiantai/main/ap-A86MK9NsJAHwye2lcVuxyv",
6
+ "local_tests_passed": 21,
7
+ "remote_research_tests_passed": 5,
8
+ "attempts": [
9
+ {
10
+ "app_id": "ap-zrRin23bx0E5h11kA5Pxec",
11
+ "outcome": "image_configuration_failed_before_worker_execution",
12
+ "resolution": "Moved image environment configuration before add_local_* mounts."
13
+ },
14
+ {
15
+ "app_id": "ap-RkN0bYeRHWNVTdndcNZ7pR",
16
+ "outcome": "remote_smoke_failed_before_collection",
17
+ "resolution": "Resolved adapter source hash from the imported function rather than a checkout-specific filesystem path."
18
+ },
19
+ {
20
+ "app_id": "ap-5NdqpPYSaOsIIAbQdHc80V",
21
+ "outcome": "remote_tests_passed_collection_stopped_for_throughput_improvement",
22
+ "resolution": "Batched transactional writes; preserved partial v1 corpus and started a fresh v2 version. No tokenizer candidates fitted in this attempt."
23
+ },
24
+ {
25
+ "app_id": "ap-GSsPP18jVU2lZFhFnYy8Vw",
26
+ "outcome": "collection_checkpoint_preserved_then_resumed"
27
+ },
28
+ {
29
+ "app_id": "ap-A86MK9NsJAHwye2lcVuxyv",
30
+ "outcome": "corpus_frozen_all_18_candidates_completed",
31
+ "resolution": "Upload checkpoints at one-minute intervals; same sampling code, spec and corpus identity."
32
+ },
33
+ {
34
+ "app_id": "ap-S2OL0auRAcvbx1kCqH7Njd",
35
+ "outcome": "evaluation_8k_parent_cap_exhausted_libretexts_inventory",
36
+ "resolution": "Preserved failed evaluation staging; fresh balanced-evaluation-v2 uses a 16 KiB parent/document cap and unchanged 32 MiB source quotas. No tokenizer was retrained."
37
+ },
38
+ {
39
+ "app_id": "ap-F9Q0Rx6GiCDPRcyHzGCaFo",
40
+ "outcome": "broader_evaluation_frozen",
41
+ "evaluation_bytes": 33554432,
42
+ "source_scoped_parents": 4673,
43
+ "libretexts_parents": 67
44
+ },
45
+ {
46
+ "app_id": "ap-gOCdUYX2WO6VMVzaDuLZVX",
47
+ "outcome": "all_18_candidates_rescored_on_shared_broader_evaluation",
48
+ "correctness_passed": 18
49
+ }
50
+ ],
51
+ "authorization": "User explicitly authorized Modal measurements and removed the restored-ledger prerequisite. Resource and time bounds remain enforced.",
52
+ "remote_test_app_url": "https://modal.com/apps/radiantai/main/ap-CrETuNnj4IkJF8aPh4mqmq",
53
+ "evaluation_audit": {
54
+ "original_libretexts_parents": 5,
55
+ "initial_broader_cap_bytes": 8192,
56
+ "libretexts_bytes_available_at_8k_cap": 636017,
57
+ "final_broader_cap_bytes": 16384,
58
+ "decision_basis": "Parent-coverage audit before interpretation of candidate learning curves."
59
+ },
60
+ "fitted_candidates": 18,
61
+ "rescored_candidates": 18,
62
+ "evaluation_app_url": "https://modal.com/apps/radiantai/main/ap-gOCdUYX2WO6VMVzaDuLZVX",
63
+ "sum_fitting_seconds": 927.888957187,
64
+ "max_peak_process_rss_mib": 3531.80859375
65
+ }
research/fragmentation-probes.png ADDED
research/fragmentation-probes.svg ADDED
research/learning-curve.png ADDED
research/learning-curve.svg ADDED
research/measurements.json ADDED
The diff for this file is too large to render. See raw diff
 
research/modal-smoke.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "returncode": 0,
3
+ "stdout": "",
4
+ "stderr": "test_corruption_and_unrequested_candidate_rejected (test_tokenizer_research.LearningCurveTests.test_corruption_and_unrequested_candidate_rejected) ... ok\ntest_cross_split_duplicate_quarantine (test_tokenizer_research.LearningCurveTests.test_cross_split_duplicate_quarantine) ... ok\ntest_interrupted_uncommitted_batch_replays_from_durable_cursor (test_tokenizer_research.LearningCurveTests.test_interrupted_uncommitted_batch_replays_from_durable_cursor) ... ok\ntest_nested_utf8_samples_and_shared_evaluation (test_tokenizer_research.LearningCurveTests.test_nested_utf8_samples_and_shared_evaluation) ... ok\ntest_resume_and_identity_guard (test_tokenizer_research.LearningCurveTests.test_resume_and_identity_guard) ... ok\n\n----------------------------------------------------------------------\nRan 5 tests in 0.915s\n\nOK\n",
5
+ "execution": "modal-cpu",
6
+ "cpu": 2,
7
+ "memory_mib": 4096
8
+ }
research/research-report.pdf ADDED
Binary file (83.8 kB). View file
 
research/resources-and-utilization.png ADDED

Git LFS Details

  • SHA256: c9d72563daf4317797d1df6f0fdb2abb9c8810e832f9ac3955fc0024c0e18004
  • Pointer size: 131 Bytes
  • Size of remote file: 276 kB
research/resources-and-utilization.svg ADDED
research/source-comparisons.png ADDED

Git LFS Details

  • SHA256: 1e96d6ad85993c2c7492eac831c42a0a9f1376358a322abd989a15f197d85a98
  • Pointer size: 131 Bytes
  • Size of remote file: 407 kB
research/source-comparisons.svg ADDED
special_tokens_map.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "pad_token": "<|pad|>",
3
+ "bos_token": "<|bos|>",
4
+ "eos_token": "<|eos|>",
5
+ "unk_token": "<|unk|>"
6
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "tokenizer_class": "PreTrainedTokenizerFast",
3
+ "clean_up_tokenization_spaces": false,
4
+ "model_input_names": [
5
+ "input_ids",
6
+ "attention_mask"
7
+ ],
8
+ "add_bos_token": false,
9
+ "add_eos_token": false,
10
+ "pad_token": "<|pad|>",
11
+ "bos_token": "<|bos|>",
12
+ "eos_token": "<|eos|>",
13
+ "unk_token": "<|unk|>"
14
+ }
variants/1024mib-16384/special_tokens_map.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "pad_token": "<|pad|>",
3
+ "bos_token": "<|bos|>",
4
+ "eos_token": "<|eos|>",
5
+ "unk_token": "<|unk|>"
6
+ }
variants/1024mib-16384/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
variants/1024mib-16384/tokenizer_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "tokenizer_class": "PreTrainedTokenizerFast",
3
+ "clean_up_tokenization_spaces": false,
4
+ "model_input_names": [
5
+ "input_ids",
6
+ "attention_mask"
7
+ ],
8
+ "add_bos_token": false,
9
+ "add_eos_token": false,
10
+ "pad_token": "<|pad|>",
11
+ "bos_token": "<|bos|>",
12
+ "eos_token": "<|eos|>",
13
+ "unk_token": "<|unk|>"
14
+ }
variants/1024mib-32768/special_tokens_map.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "pad_token": "<|pad|>",
3
+ "bos_token": "<|bos|>",
4
+ "eos_token": "<|eos|>",
5
+ "unk_token": "<|unk|>"
6
+ }
variants/1024mib-32768/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
variants/1024mib-32768/tokenizer_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "tokenizer_class": "PreTrainedTokenizerFast",
3
+ "clean_up_tokenization_spaces": false,
4
+ "model_input_names": [
5
+ "input_ids",
6
+ "attention_mask"
7
+ ],
8
+ "add_bos_token": false,
9
+ "add_eos_token": false,
10
+ "pad_token": "<|pad|>",
11
+ "bos_token": "<|bos|>",
12
+ "eos_token": "<|eos|>",
13
+ "unk_token": "<|unk|>"
14
+ }
variants/1024mib-50000/special_tokens_map.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "pad_token": "<|pad|>",
3
+ "bos_token": "<|bos|>",
4
+ "eos_token": "<|eos|>",
5
+ "unk_token": "<|unk|>"
6
+ }
variants/1024mib-50000/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
variants/1024mib-50000/tokenizer_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "tokenizer_class": "PreTrainedTokenizerFast",
3
+ "clean_up_tokenization_spaces": false,
4
+ "model_input_names": [
5
+ "input_ids",
6
+ "attention_mask"
7
+ ],
8
+ "add_bos_token": false,
9
+ "add_eos_token": false,
10
+ "pad_token": "<|pad|>",
11
+ "bos_token": "<|bos|>",
12
+ "eos_token": "<|eos|>",
13
+ "unk_token": "<|unk|>"
14
+ }
variants/128mib-16384/special_tokens_map.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "pad_token": "<|pad|>",
3
+ "bos_token": "<|bos|>",
4
+ "eos_token": "<|eos|>",
5
+ "unk_token": "<|unk|>"
6
+ }
variants/128mib-16384/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
variants/128mib-16384/tokenizer_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "tokenizer_class": "PreTrainedTokenizerFast",
3
+ "clean_up_tokenization_spaces": false,
4
+ "model_input_names": [
5
+ "input_ids",
6
+ "attention_mask"
7
+ ],
8
+ "add_bos_token": false,
9
+ "add_eos_token": false,
10
+ "pad_token": "<|pad|>",
11
+ "bos_token": "<|bos|>",
12
+ "eos_token": "<|eos|>",
13
+ "unk_token": "<|unk|>"
14
+ }
variants/128mib-32768/special_tokens_map.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "pad_token": "<|pad|>",
3
+ "bos_token": "<|bos|>",
4
+ "eos_token": "<|eos|>",
5
+ "unk_token": "<|unk|>"
6
+ }
variants/128mib-32768/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
variants/128mib-32768/tokenizer_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "tokenizer_class": "PreTrainedTokenizerFast",
3
+ "clean_up_tokenization_spaces": false,
4
+ "model_input_names": [
5
+ "input_ids",
6
+ "attention_mask"
7
+ ],
8
+ "add_bos_token": false,
9
+ "add_eos_token": false,
10
+ "pad_token": "<|pad|>",
11
+ "bos_token": "<|bos|>",
12
+ "eos_token": "<|eos|>",
13
+ "unk_token": "<|unk|>"
14
+ }
variants/128mib-50000/special_tokens_map.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "pad_token": "<|pad|>",
3
+ "bos_token": "<|bos|>",
4
+ "eos_token": "<|eos|>",
5
+ "unk_token": "<|unk|>"
6
+ }
variants/128mib-50000/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
variants/128mib-50000/tokenizer_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "tokenizer_class": "PreTrainedTokenizerFast",
3
+ "clean_up_tokenization_spaces": false,
4
+ "model_input_names": [
5
+ "input_ids",
6
+ "attention_mask"
7
+ ],
8
+ "add_bos_token": false,
9
+ "add_eos_token": false,
10
+ "pad_token": "<|pad|>",
11
+ "bos_token": "<|bos|>",
12
+ "eos_token": "<|eos|>",
13
+ "unk_token": "<|unk|>"
14
+ }
variants/2048mib-16384/special_tokens_map.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "pad_token": "<|pad|>",
3
+ "bos_token": "<|bos|>",
4
+ "eos_token": "<|eos|>",
5
+ "unk_token": "<|unk|>"
6
+ }
variants/2048mib-16384/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
variants/2048mib-16384/tokenizer_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "tokenizer_class": "PreTrainedTokenizerFast",
3
+ "clean_up_tokenization_spaces": false,
4
+ "model_input_names": [
5
+ "input_ids",
6
+ "attention_mask"
7
+ ],
8
+ "add_bos_token": false,
9
+ "add_eos_token": false,
10
+ "pad_token": "<|pad|>",
11
+ "bos_token": "<|bos|>",
12
+ "eos_token": "<|eos|>",
13
+ "unk_token": "<|unk|>"
14
+ }
variants/2048mib-32768/special_tokens_map.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "pad_token": "<|pad|>",
3
+ "bos_token": "<|bos|>",
4
+ "eos_token": "<|eos|>",
5
+ "unk_token": "<|unk|>"
6
+ }
variants/2048mib-32768/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff