wzebrowski commited on
Commit
7708682
·
verified ·
1 Parent(s): a2b39d7

Add training records, tokenizer, configurations and evaluations

Browse files
OpenSML-150M-training-records.tar.gz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:45d442f2a9713b73f14d4301d96a0c4b1d963985c706b3c7a7ec9631029503a3
3
+ size 91288296
configs/corpus.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "sml-v2-educational-prose-v1",
3
+ "seed": 7337,
4
+ "shuffle_buffer": 10000,
5
+ "min_chars": 200,
6
+ "max_bytes": 200000,
7
+ "max_rows_per_source": 5000000,
8
+ "split_buckets": 10000,
9
+ "sources": [
10
+ {"label": "web", "repo": "HuggingFaceTB/smollm-corpus", "config": "fineweb-edu-dedup", "revision": "3ba9d605774198c5868892d7a8deda78031a781f", "split": "train", "text_field": "text", "weight": 55, "license": "ODC-BY; preserve underlying source notices"},
11
+ {"label": "dclm", "repo": "HuggingFaceTB/dclm-edu", "revision": "dbad8ad71224482740cd9c9d353591adbf62fe04", "split": "train", "text_field": "text", "weight": 25, "min_score": {"field": "edu_int_score", "value": 3}, "license": "CC-BY-4.0"},
12
+ {"label": "wiki", "repo": "HuggingFaceFW/finewiki", "config": "en", "revision": "8bd13e72e6a002407649b3e898535f42ceb1aeb9", "split": "train", "text_field": "text", "weight": 10, "license": "CC-BY-SA-4.0 / GFDL"},
13
+ {"label": "cosmopedia", "repo": "HuggingFaceTB/smollm-corpus", "config": "cosmopedia-v2", "revision": "3ba9d605774198c5868892d7a8deda78031a781f", "split": "train", "text_field": "text", "weight": 10, "format_contains": ["textbook", "tutorial", "blog", "educational"], "license": "ODC-BY; synthetic content; preserve provenance"}
14
+ ]
15
+ }
configs/pilot.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "sml-v2-150m-pilot-v1",
3
+ "data_mode": "hf_stream",
4
+ "stream": {"prefetch_batches": 4, "read_attempts": 5, "dedup_window": 10000},
5
+ "model": {"vocab_size": 32000, "max_seq_len": 2048, "d_model": 768, "n_layers": 20, "n_heads": 12, "n_kv_heads": 4, "mlp_ratio": 4.0, "mlp_multiple_of": 256, "bias": false, "qk_norm": true, "attention_impl": "fast", "loss_dtype": "float32", "ce_impl": "metal", "ffn_impl": "packed-metal"},
6
+ "seed": 7337,
7
+ "batches": [4, 3, 3, 3],
8
+ "grad_accum": 4,
9
+ "target_tokens": 500000000,
10
+ "peak_lr": 0.0003,
11
+ "warmup_fraction": 0.01,
12
+ "decay_start_fraction": 0.8,
13
+ "min_lr_ratio": 0.1,
14
+ "betas": [0.9, 0.95],
15
+ "eps": 1e-8,
16
+ "weight_decay": 0.1,
17
+ "grad_clip": 1.0,
18
+ "eval_every_tokens": 25000000,
19
+ "sample_every_tokens": 50000000,
20
+ "save_every_tokens": 10000000,
21
+ "eval_batches_per_source": 16,
22
+ "eval_batch_size": 2,
23
+ "keep_checkpoints": 2,
24
+ "reserve_gib": 8,
25
+ "log_every": 10,
26
+ "prompts": [
27
+ "The library was closed for repairs, so Maya decided to",
28
+ "Plants need sunlight because",
29
+ "A useful way to remember a new word is to",
30
+ "The train arrived late because of heavy snow. When the passengers stepped outside,",
31
+ "Clean drinking water is important because"
32
+ ]
33
+ }
configs/training_recipe.json ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "batches": [
3
+ 4,
4
+ 3,
5
+ 3,
6
+ 3
7
+ ],
8
+ "betas": [
9
+ 0.9,
10
+ 0.95
11
+ ],
12
+ "continuation": {
13
+ "format": "sml-v2-continuation-v1",
14
+ "parent_contract": {
15
+ "code": "3af3f1a2405b7c447ee79cd1e9504ea9558d0f6636d7f9379f15cd216a7e4d58",
16
+ "data": "d9bfbfd69b065eafe0254fc36f96354461704f9bde0cbd6c0fd9f60383083614",
17
+ "recipe": "3c548ac699a0c6dc54c51536465cafd74487c2300fefc3da1fefae402204dc78",
18
+ "tokenizer": "1194292c6d906ac19e6f01c6ad2b42825143fad426a22aa8856d903776701ecb"
19
+ },
20
+ "parent_replica_hash": "5a3deeeede337b604e755127198f1e174b663e3e534f9cc332550c2806747730",
21
+ "parent_step": 4696,
22
+ "rewarm_tokens": 50000000,
23
+ "start_lr": 2.9999999999999997e-05,
24
+ "start_tokens": 500105216
25
+ },
26
+ "data_mode": "hf_stream",
27
+ "decay_start_fraction": 0.8,
28
+ "eps": 1e-08,
29
+ "eval_batch_size": 2,
30
+ "eval_batches_per_source": 16,
31
+ "eval_every_tokens": 25000000,
32
+ "grad_accum": 4,
33
+ "grad_clip": 1.0,
34
+ "keep_checkpoints": 2,
35
+ "log_every": 10,
36
+ "min_lr_ratio": 0.1,
37
+ "model": {
38
+ "attention_impl": "fast",
39
+ "bias": false,
40
+ "ce_impl": "metal",
41
+ "d_model": 768,
42
+ "ffn_impl": "packed-metal",
43
+ "loss_dtype": "float32",
44
+ "max_seq_len": 2048,
45
+ "mlp_multiple_of": 256,
46
+ "mlp_ratio": 4.0,
47
+ "n_heads": 12,
48
+ "n_kv_heads": 4,
49
+ "n_layers": 20,
50
+ "qk_norm": true,
51
+ "vocab_size": 32000
52
+ },
53
+ "name": "sml-v2-150m-pilot-v1-continued-to-15000000000",
54
+ "peak_lr": 0.0003,
55
+ "prompts": [
56
+ "The library was closed for repairs, so Maya decided to",
57
+ "Plants need sunlight because",
58
+ "A useful way to remember a new word is to",
59
+ "The train arrived late because of heavy snow. When the passengers stepped outside,",
60
+ "Clean drinking water is important because"
61
+ ],
62
+ "reserve_gib": 8,
63
+ "sample_every_tokens": 50000000,
64
+ "save_every_tokens": 10000000,
65
+ "seed": 7337,
66
+ "stream": {
67
+ "dedup_window": 10000,
68
+ "prefetch_batches": 4,
69
+ "read_attempts": 5
70
+ },
71
+ "target_tokens": 15000000000,
72
+ "warmup_fraction": 0.01,
73
+ "weight_decay": 0.1
74
+ }
evaluations/post_training_20260927.json ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "date": "2026-09-27",
3
+ "training": false,
4
+ "models": {
5
+ "balanced-skills-1920": {
6
+ "bundle": "sft_skill_balance_v1/step_0001920_628a0a65099b",
7
+ "sha256": "4cac7f733e6ef63230e26e2aa66418bf0d9661ef55f46fa1e01f2ac602b17407",
8
+ "results": {
9
+ "multiple-choice": {
10
+ "completed": 15428,
11
+ "expected": 15428,
12
+ "status": "complete",
13
+ "tasks": {
14
+ "arc_challenge": {
15
+ "acc": 0.25341296928327645,
16
+ "acc_norm": 0.3003412969283277,
17
+ "completed": 1172,
18
+ "expected": 1172
19
+ },
20
+ "arc_easy": {
21
+ "acc": 0.5904882154882155,
22
+ "acc_norm": 0.5707070707070707,
23
+ "completed": 2376,
24
+ "expected": 2376
25
+ },
26
+ "hellaswag": {
27
+ "acc": 0.30999800836486757,
28
+ "acc_norm": 0.34534953196574386,
29
+ "completed": 10042,
30
+ "expected": 10042
31
+ },
32
+ "piqa": {
33
+ "acc": 0.6474428726877041,
34
+ "acc_norm": 0.6430903155603918,
35
+ "completed": 1838,
36
+ "expected": 1838
37
+ }
38
+ },
39
+ "training": false
40
+ },
41
+ "ifeval": {
42
+ "completed": 541,
43
+ "expected": 541,
44
+ "loose": {
45
+ "instruction_accuracy": 0.2637889688249401,
46
+ "instruction_correct": 220,
47
+ "instruction_total": 834,
48
+ "prompt_accuracy": 0.14417744916820702,
49
+ "prompt_correct": 78,
50
+ "prompt_total": 541
51
+ },
52
+ "status": "complete",
53
+ "stop_counts": {
54
+ "context_limit": 0,
55
+ "eos": 539,
56
+ "length": 2
57
+ },
58
+ "strict": {
59
+ "instruction_accuracy": 0.2637889688249401,
60
+ "instruction_correct": 220,
61
+ "instruction_total": 834,
62
+ "prompt_accuracy": 0.14417744916820702,
63
+ "prompt_correct": 78,
64
+ "prompt_total": 541
65
+ },
66
+ "training": false
67
+ }
68
+ }
69
+ },
70
+ "constraint-completion-2048": {
71
+ "bundle": "sft_constraint_completion_1920_v1/step_0002048_1267d9f4cf7a",
72
+ "sha256": "e4e8a0de28e2141f6a580b49cc950aa64492c9f94d0d3aa98e6a26a2f439764b",
73
+ "results": {
74
+ "multiple-choice": {
75
+ "completed": 15428,
76
+ "expected": 15428,
77
+ "status": "complete",
78
+ "tasks": {
79
+ "arc_challenge": {
80
+ "acc": 0.25426621160409557,
81
+ "acc_norm": 0.31399317406143346,
82
+ "completed": 1172,
83
+ "expected": 1172
84
+ },
85
+ "arc_easy": {
86
+ "acc": 0.5871212121212122,
87
+ "acc_norm": 0.5677609427609428,
88
+ "completed": 2376,
89
+ "expected": 2376
90
+ },
91
+ "hellaswag": {
92
+ "acc": 0.31029675363473413,
93
+ "acc_norm": 0.3472415853415654,
94
+ "completed": 10042,
95
+ "expected": 10042
96
+ },
97
+ "piqa": {
98
+ "acc": 0.64689880304679,
99
+ "acc_norm": 0.6381936887921654,
100
+ "completed": 1838,
101
+ "expected": 1838
102
+ }
103
+ },
104
+ "training": false
105
+ },
106
+ "ifeval": {
107
+ "completed": 541,
108
+ "expected": 541,
109
+ "loose": {
110
+ "instruction_accuracy": 0.29136690647482016,
111
+ "instruction_correct": 243,
112
+ "instruction_total": 834,
113
+ "prompt_accuracy": 0.16820702402957485,
114
+ "prompt_correct": 91,
115
+ "prompt_total": 541
116
+ },
117
+ "status": "complete",
118
+ "stop_counts": {
119
+ "context_limit": 0,
120
+ "eos": 532,
121
+ "length": 9
122
+ },
123
+ "strict": {
124
+ "instruction_accuracy": 0.28776978417266186,
125
+ "instruction_correct": 240,
126
+ "instruction_total": 834,
127
+ "prompt_accuracy": 0.16635859519408502,
128
+ "prompt_correct": 90,
129
+ "prompt_total": 541
130
+ },
131
+ "training": false
132
+ }
133
+ }
134
+ }
135
+ },
136
+ "protocol": {
137
+ "harness_reference_revision": "b954108c9baaaa934b4ad842033b31a97ee30816",
138
+ "datasets": {
139
+ "arc_easy": {
140
+ "repo": "allenai/ai2_arc",
141
+ "revision": "210d026faf9955653af8916fad021475a3f00453",
142
+ "file": "ARC-Easy/test-00000-of-00001.parquet",
143
+ "split": "test",
144
+ "rows": 2376,
145
+ "sha256": "4160597d618ae851c7eb04e281574f3f654776216ac6b6641588d64527b47177"
146
+ },
147
+ "arc_challenge": {
148
+ "repo": "allenai/ai2_arc",
149
+ "revision": "210d026faf9955653af8916fad021475a3f00453",
150
+ "file": "ARC-Challenge/test-00000-of-00001.parquet",
151
+ "split": "test",
152
+ "rows": 1172,
153
+ "sha256": "62f03257e737aed263f55c6abf87c7bb0028a44a6bdd2a26eb1279eb42c1d1e9"
154
+ },
155
+ "piqa": {
156
+ "repo": "baber/piqa",
157
+ "revision": "142f6d7367fd9877f0fb3b5734ea6a545f54cdd1",
158
+ "file": "piqa_validation.parquet",
159
+ "split": "validation",
160
+ "rows": 1838,
161
+ "sha256": "2b17ee1215b1ceb2ddabf4c90a05c5a8b833bef9d207960f57d111c43a2080f3"
162
+ },
163
+ "hellaswag": {
164
+ "repo": "Rowan/hellaswag",
165
+ "revision": "218ec52e09a7e7462a5400043bb9a69a41d06b76",
166
+ "file": "data/validation-00000-of-00001.parquet",
167
+ "split": "validation",
168
+ "rows": 10042,
169
+ "sha256": "899813071e1e95efafec90f856e1987d2150fa4d020fc005df6962c259f660cd"
170
+ },
171
+ "ifeval": {
172
+ "repo": "google/IFEval",
173
+ "revision": "966cd89545d6b6acfd7638bc708b98261ca58e84",
174
+ "file": "ifeval_input_data.jsonl",
175
+ "split": "train",
176
+ "rows": 541,
177
+ "sha256": "6a85310ca8ce15eff755aa08a3a4ff931c7e273e7515ebb3c492ea85fd8288f2"
178
+ }
179
+ },
180
+ "multiple_choice_normalization": "candidate log-likelihood divided by candidate character length",
181
+ "few_shot_examples": 0,
182
+ "ifeval": {
183
+ "prompt_template": "User: {prompt}\nAssistant:",
184
+ "max_context": 2048,
185
+ "max_new_tokens": 1280,
186
+ "greedy": true,
187
+ "repetition_penalty": 1
188
+ }
189
+ },
190
+ "limitations": [
191
+ "Custom MLX evaluator, not an official leaderboard submission.",
192
+ "Public suites repeatedly inspected during development, not an untouched final test.",
193
+ "No full contamination audit or statistical-significance claim.",
194
+ "Instruction compliance does not establish correct content or conversational quality."
195
+ ]
196
+ }
tokenizer/corpus.json ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "max_bytes": 200000,
3
+ "max_rows_per_source": 5000000,
4
+ "min_chars": 200,
5
+ "name": "sml-v2-educational-prose-v1",
6
+ "seed": 7337,
7
+ "shuffle_buffer": 10000,
8
+ "sources": [
9
+ {
10
+ "config": "fineweb-edu-dedup",
11
+ "label": "web",
12
+ "license": "ODC-BY; preserve underlying source notices",
13
+ "repo": "HuggingFaceTB/smollm-corpus",
14
+ "revision": "3ba9d605774198c5868892d7a8deda78031a781f",
15
+ "split": "train",
16
+ "text_field": "text",
17
+ "weight": 55
18
+ },
19
+ {
20
+ "label": "dclm",
21
+ "license": "CC-BY-4.0",
22
+ "min_score": {
23
+ "field": "edu_int_score",
24
+ "value": 3
25
+ },
26
+ "repo": "HuggingFaceTB/dclm-edu",
27
+ "revision": "dbad8ad71224482740cd9c9d353591adbf62fe04",
28
+ "split": "train",
29
+ "text_field": "text",
30
+ "weight": 25
31
+ },
32
+ {
33
+ "config": "en",
34
+ "label": "wiki",
35
+ "license": "CC-BY-SA-4.0 / GFDL",
36
+ "repo": "HuggingFaceFW/finewiki",
37
+ "revision": "8bd13e72e6a002407649b3e898535f42ceb1aeb9",
38
+ "split": "train",
39
+ "text_field": "text",
40
+ "weight": 10
41
+ },
42
+ {
43
+ "config": "cosmopedia-v2",
44
+ "format_contains": [
45
+ "textbook",
46
+ "tutorial",
47
+ "blog",
48
+ "educational"
49
+ ],
50
+ "label": "cosmopedia",
51
+ "license": "ODC-BY; synthetic content; preserve provenance",
52
+ "repo": "HuggingFaceTB/smollm-corpus",
53
+ "revision": "3ba9d605774198c5868892d7a8deda78031a781f",
54
+ "split": "train",
55
+ "text_field": "text",
56
+ "weight": 10
57
+ }
58
+ ],
59
+ "split_buckets": 10000
60
+ }
tokenizer/manifest.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "boundary_policy": "raw-text-then-one-document-EOS-v1",
3
+ "corpus_fingerprint": "a89f69d6f63cfa4385da233693a445404234a18194170fe1d2b4a74bf501f5d6",
4
+ "format": "sml-v2-tokenizer-v1",
5
+ "recipe": {
6
+ "corpus": "a89f69d6f63cfa4385da233693a445404234a18194170fe1d2b4a74bf501f5d6",
7
+ "min_frequency": 2,
8
+ "sample_manifest": "30ead6f502f11e99b479e3711a81ce7198787408d0700153615fc3255b244f46",
9
+ "specials": [
10
+ "<|pad|>",
11
+ "<|doc_end|>",
12
+ "<|turn_start|>",
13
+ "<|turn_end|>"
14
+ ],
15
+ "tokenizers": "0.22.2",
16
+ "version": 1,
17
+ "vocab_size": 32000
18
+ },
19
+ "sha256": {
20
+ "corpus.json": "e4c47b7b6aba08f948de7c2c7cb94c58dbd09dde2ded6ac185c60856ee686d27",
21
+ "tokenizer.json": "e095f0413a11fa91fbb58f37d00e4c6bcda59beb89b28f6f680db1436a7e8891",
22
+ "tokenizer_config.json": "619f500553367eb76f5be00a98625130ec857b9c367561334984096c029ba2a9"
23
+ },
24
+ "special_ids": {
25
+ "eos": 1,
26
+ "pad": 0,
27
+ "turn_end": 3,
28
+ "turn_start": 2
29
+ },
30
+ "vocab_size": 32000
31
+ }
tokenizer/report.json ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "fixtures_passed": 9,
3
+ "sources": {
4
+ "cosmopedia": {
5
+ "bytes": 402259,
6
+ "bytes_per_token": 5.061007523716062,
7
+ "documents": 103,
8
+ "roundtrip_failures": 0,
9
+ "seconds": 0.09366637503262609,
10
+ "tokens": 79482
11
+ },
12
+ "dclm": {
13
+ "bytes": 1001509,
14
+ "bytes_per_token": 4.453209483494593,
15
+ "documents": 165,
16
+ "roundtrip_failures": 0,
17
+ "seconds": 0.26016941701527685,
18
+ "tokens": 224896
19
+ },
20
+ "web": {
21
+ "bytes": 2205062,
22
+ "bytes_per_token": 4.625467253451697,
23
+ "documents": 559,
24
+ "roundtrip_failures": 0,
25
+ "seconds": 0.5487007499905303,
26
+ "tokens": 476722
27
+ },
28
+ "wiki": {
29
+ "bytes": 401775,
30
+ "bytes_per_token": 4.059276397546905,
31
+ "documents": 143,
32
+ "roundtrip_failures": 0,
33
+ "seconds": 0.10723229206632823,
34
+ "tokens": 98977
35
+ }
36
+ },
37
+ "vocab_size": 32000
38
+ }
tokenizer/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer/tokenizer_config.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_eos_token": false,
4
+ "clean_up_tokenization_spaces": false,
5
+ "eos_token": "<|doc_end|>",
6
+ "pad_token": "<|pad|>",
7
+ "tokenizer_class": "PreTrainedTokenizerFast"
8
+ }