echoctx commited on
Commit
c9cc5dd
·
verified ·
1 Parent(s): 9839848

top-model: arch_a4a09054276917cb bpb=3.7711

Browse files
METRICS.json CHANGED
@@ -1,11 +1,11 @@
1
  {
2
- "submission_id": "8fd2d2e091b427b88ddd66a20e0059f53a45d72fc8a7d2a5d7dc5a695b4921eb",
3
- "arch_id": "arch_9be14d2887e68452",
4
- "owner_hotkey": "94b4209b9ab016cfe0dae709e5331e1bb785979cb4f7238465373ab2e9e76053",
5
- "bpb": 3.7815815533044894,
6
  "n_params": 198147072,
7
  "tokens_seen": 2048,
8
- "wall_clock_seconds": 18001.89401102066,
9
  "battery": {
10
  "tier": "public",
11
  "groups": {
@@ -13,43 +13,43 @@
13
  "module": "g1_intrinsic",
14
  "status": "ok",
15
  "metrics": {
16
- "g1.bpb.val": 3.781581564053405,
17
- "g1.bpb.fresh": 4.56483704178391,
18
- "g1.bpb.key_token": 5.9498663314135145,
19
- "g1.posloss.p0_128": 4.027364303587954,
20
- "g1.bpb.domain.code": 3.213470931508409,
21
- "g1.bpb.domain.math": 4.1153188606926925,
22
- "g1.bpb.domain.news": 5.5072218245968,
23
- "g1.bpb.multidomain": 4.431966259454538,
24
- "g1.bpb.domain.prose": 4.891853421020251,
25
- "g1.posloss.p128_256": 3.736173988603456,
26
- "g1.posloss.p256_384": 3.738122651941576,
27
- "g1.posloss.p384_512": 3.732744499378431,
28
- "g1.posloss.p512_end": 3.719130447742806,
29
- "g1.bits_per_byte.val": 0.9492969237578822,
30
- "g1.bits_per_byte.fresh": 1.22949692903927,
31
  "g1.assets.domains_present": 4.0,
32
- "g1.bits_per_byte.key_token": 0.1345007811665392,
33
- "g1.bits_per_byte.domain.code": 1.6003652201521366,
34
- "g1.bits_per_byte.domain.math": 1.462186208654599,
35
- "g1.bits_per_byte.domain.news": 1.5306066767927444,
36
- "g1.bits_per_byte.multidomain": 1.4721819039849735,
37
- "g1.bits_per_byte.domain.prose": 1.2955695103404137
38
  }
39
  },
40
  "g2": {
41
  "module": "g2_downstream",
42
  "status": "ok",
43
  "metrics": {
44
- "g2.core.mean_nll": 4.182095974324691,
45
- "g2.piqa.acc_norm": 0.64,
46
- "g2.boolq.acc_norm": 0.64,
47
- "g2.lambada.acc_norm": 0.965,
48
- "g2.arc_easy.acc_norm": 0.285,
49
- "g2.core.mean_acc_norm": 0.50125,
50
- "g2.hellaswag.acc_norm": 0.375,
51
- "g2.openbookqa.acc_norm": 0.305,
52
- "g2.winogrande.acc_norm": 0.525,
53
  "g2.assets.tasks_present": 8.0,
54
  "g2.arc_challenge.acc_norm": 0.275
55
  }
@@ -58,16 +58,16 @@
58
  "module": "g3_recall",
59
  "status": "ok",
60
  "metrics": {
61
- "g3.copy.acc": 0.3888888888888889,
62
- "g3.mqar.acc": 0.1875,
63
- "g3.copy.g0.acc": 0.3333333333333333,
64
  "g3.mqar.n4.acc": 0.3125,
65
- "g3.mqar.n8.acc": 0.125,
66
- "g3.copy.g16.acc": 0.4166666666666667,
67
- "g3.copy.g64.acc": 0.4166666666666667,
68
- "g3.mqar.n16.acc": 0.125,
69
- "g3.recall.mean_acc": 0.6440972222222222,
70
- "g3.recall.mean_nll": 5.6005342607683355,
71
  "g3.passkey.base.acc": 1.0,
72
  "g3.induction.base.acc": 1.0
73
  }
@@ -78,110 +78,109 @@
78
  "metrics": {
79
  "g4.kk.acc": 0.5,
80
  "g4.s5.acc": 0.125,
81
- "g4.mod.acc": 0.0,
82
- "g4.bool.acc": 1.0,
83
- "g4.dyck.acc": 0.7222222222222222,
84
  "g4.arith.acc": 0.1,
85
  "g4.kk.n3.acc": 0.5,
86
- "g4.proof.acc": 0.375,
87
  "g4.s5.k5.acc": 0.25,
88
- "g4.mod.id.acc": 0.0,
89
  "g4.s5.k10.acc": 0.0,
90
- "g4.dyck.k1.acc": 1.0,
91
- "g4.dyck.k2.acc": 0.8333333333333334,
92
  "g4.mod.ood.acc": 0.0,
93
- "g4.arith.t1.acc": 0.0,
94
  "g4.arith.t2.acc": 0.0,
95
- "g4.arith.t3.acc": 0.25,
96
- "g4.proof.d0.acc": 0.25,
97
- "g4.proof.d1.acc": 0.0,
98
  "g4.proof.d2.acc": 0.5,
99
- "g4.proof.d3.acc": 0.75,
100
- "g4.bool.base.acc": 1.0,
101
- "g4.arith.noop.acc": 0.0,
102
- "g4.mod.id_ood_gap": 0.0,
103
- "g4.dyck.k2long.acc": 0.3333333333333333,
104
- "g4.arith.extrap.acc": 0.25,
105
- "g4.reasoning.mean_acc": 0.4031746031746032,
106
- "g4.reasoning.mean_nll": 6.624523202578227
107
  }
108
  },
109
  "g5": {
110
  "module": "g5_longctx",
111
  "status": "ok",
112
  "metrics": {
113
- "g5.lstar": 0.0,
114
- "g5.retention": 0.5333333333333333,
115
- "g5.ruler.acc": 0.14350000000000002,
116
- "g5.babilong.acc": 0.13333333333333333,
117
  "g5.helmet_rag.n": 20.0,
118
  "g5.ruler.qa.acc": 0.125,
119
- "g5.ruler.vt.acc": 0.18,
120
  "g5.natural_mcq.n": 40.0,
121
  "g5.ruler.qa.pack": 1.0,
122
- "g5.helmet_rag.acc": 0.0,
123
- "g5.mean.L4096.acc": 0.1875,
124
- "g5.mean.L8192.acc": 0.1775,
125
  "g5.natural.staged": 1.0,
126
- "g5.ruler.mean_nll": 4.174695594443215,
127
- "g5.mean.L16384.acc": 0.05500000000000001,
128
- "g5.mean.L32768.acc": 0.15,
129
- "g5.mean.L65536.acc": 0.1,
130
- "g5.natural_mcq.acc": 0.25,
131
- "g5.ruler.L4096.acc": 0.175,
132
- "g5.ruler.L8192.acc": 0.155,
133
- "g5.ruler.shot_rate": 0.8409090909090909,
134
  "g5.babilong.qa1.acc": 0.16666666666666666,
135
  "g5.babilong.qa2.acc": 0.16666666666666666,
136
- "g5.babilong.qa3.acc": 0.16666666666666666,
137
- "g5.babilong.qa4.acc": 0.16666666666666666,
138
- "g5.babilong.qa5.acc": 0.0,
139
- "g5.ruler.L16384.acc": 0.11,
140
- "g5.ruler.L32768.acc": 0.15,
141
- "g5.ruler.L65536.acc": 0.1,
142
- "g5.ruler.mean_depth": 0.4641918252373103,
143
- "g5.babilong.mean_nll": 7.515850392977397,
144
  "g5.helmet_rag.rank_n": 20.0,
145
- "g5.ruler.niah_mk.acc": 0.1,
146
- "g5.ruler.niah_mq.acc": 0.0625,
147
- "g5.ruler.niah_mv.acc": 0.25,
148
  "g5.babilong.L4096.acc": 0.2,
149
- "g5.babilong.L8192.acc": 0.2,
150
  "g5.ruler.qa.L4096.acc": 0.5,
151
  "g5.ruler.qa.L8192.acc": 0.0,
152
- "g5.ruler.vt.L4096.acc": 0.0,
153
- "g5.ruler.vt.L8192.acc": 0.4,
154
- "g5.babilong.L16384.acc": 0.0,
155
- "g5.babilong.mean_depth": 0.6042475217182637,
156
  "g5.babilong.mean_shots": 2.0,
157
- "g5.helmet_rag.gold_nll": 4.411067061997302,
158
- "g5.helmet_rag.rank_acc": 0.55,
159
- "g5.ruler.L4096.len_err": 0.002294921875,
160
  "g5.ruler.L8192.len_err": 0.0,
161
  "g5.ruler.evidence_miss": 0.0,
162
  "g5.ruler.qa.L16384.acc": 0.0,
163
  "g5.ruler.qa.L32768.acc": 0.0,
164
- "g5.ruler.vt.L16384.acc": 0.3,
165
- "g5.ruler.vt.L32768.acc": 0.0,
166
- "g5.ruler.vt.L65536.acc": 0.2,
167
  "g5.babilong.filler_pack": 1.0,
168
- "g5.helmet_rag.L4096.acc": 0.0,
169
- "g5.helmet_rag.L8192.acc": 0.0,
170
- "g5.natural_mcq.mean_nll": 3.573467033900914,
171
  "g5.ruler.L16384.len_err": 0.0,
172
  "g5.ruler.L32768.len_err": 0.0,
173
  "g5.ruler.L65536.len_err": 0.0,
174
- "g5.natural_mcq.L8192.acc": 0.25,
175
  "g5.babilong.L4096.len_err": 0.0,
176
  "g5.babilong.L8192.len_err": 0.0,
177
  "g5.babilong.evidence_miss": 0.0,
178
- "g5.babilong.qa1.L4096.acc": 0.0,
179
- "g5.babilong.qa1.L8192.acc": 0.5,
180
  "g5.babilong.qa2.L4096.acc": 0.5,
181
  "g5.babilong.qa2.L8192.acc": 0.0,
182
  "g5.babilong.qa3.L4096.acc": 0.0,
183
- "g5.babilong.qa3.L8192.acc": 0.5,
184
- "g5.babilong.qa4.L4096.acc": 0.5,
185
  "g5.babilong.qa4.L8192.acc": 0.0,
186
  "g5.babilong.qa5.L4096.acc": 0.0,
187
  "g5.babilong.qa5.L8192.acc": 0.0,
@@ -190,20 +189,20 @@
190
  "g5.babilong.qa2.L16384.acc": 0.0,
191
  "g5.babilong.qa3.L16384.acc": 0.0,
192
  "g5.babilong.qa4.L16384.acc": 0.0,
193
- "g5.babilong.qa5.L16384.acc": 0.0,
194
- "g5.ruler.niah_mk.L4096.acc": 0.0,
195
  "g5.ruler.niah_mk.L8192.acc": 0.0,
196
- "g5.ruler.niah_mq.L4096.acc": 0.125,
197
- "g5.ruler.niah_mq.L8192.acc": 0.125,
198
- "g5.ruler.niah_mv.L4096.acc": 0.25,
199
  "g5.ruler.niah_mv.L8192.acc": 0.25,
200
- "g5.ruler.niah_mk.L16384.acc": 0.0,
201
  "g5.ruler.niah_mk.L32768.acc": 0.5,
202
- "g5.ruler.niah_mk.L65536.acc": 0.0,
203
- "g5.ruler.niah_mq.L16384.acc": 0.0,
204
  "g5.ruler.niah_mq.L32768.acc": 0.0,
205
  "g5.ruler.niah_mv.L16384.acc": 0.25,
206
- "g5.ruler.niah_mv.L32768.acc": 0.25,
207
  "g5.natural.pool_rows.helmet_rag": 96.0,
208
  "g5.natural.pool_rows.natural_mcq": 64.0
209
  }
@@ -221,19 +220,19 @@
221
  "status": "ok",
222
  "metrics": {
223
  "g7.vram.peak_gb": 2.311983616,
224
- "g7.tpot.L1024.ms": 14.588175232347568,
225
- "g7.tpot.L4096.ms": 14.590046521334443,
226
- "g7.ttft.L1024.ms": 14.604408061131837,
227
- "g7.ttft.L4096.ms": 14.57422086969018,
228
- "g7.energy.skipped": 1.0,
229
- "g7.tpot.L16384.ms": 14.59561431693146,
230
- "g7.tpot.L32768.ms": 14.603247444028966,
231
- "g7.ttft.L16384.ms": 14.574081171303988,
232
- "g7.ttft.L32768.ms": 14.584711054340003,
233
- "g7.quant.w8a8.dbpb": 0.0020096602709944733,
234
- "g7.quant.w4a16.dbpb": 0.12105512679148234,
235
- "g7.throughput.b1.toks": 68.6395717288809,
236
- "g7.throughput.b32.toks": 85.30747321040076,
237
  "g7.state.analytic_unavailable": 1.0,
238
  "g7.state.bytes_per_token.measured": 8.0
239
  }
@@ -253,80 +252,80 @@
253
  }
254
  },
255
  "metrics": {
256
- "org.g5.lstar": 0.0,
257
  "org.g2.obqa_acc": {
258
- "value": 0.305,
259
  "clusters": {
260
- "g2/openbookqa": 0.305
261
  }
262
  },
263
  "org.g2.piqa_acc": {
264
- "value": 0.64,
265
  "clusters": {
266
- "g2/piqa": 0.64
267
  }
268
  },
269
  "org.g3.mqar_acc": {
270
- "value": 0.1875,
271
  "clusters": {
272
  "mqar/n4": 0.3125,
273
- "mqar/n8": 0.125,
274
- "mqar/n16": 0.125
275
  }
276
  },
277
  "org.g4.dyck_acc": {
278
- "value": 0.7222222222222222,
279
  "clusters": {
280
- "dyck/k1/len10": 1.0,
281
- "dyck/k2/len10": 0.8333333333333334,
282
- "dyck/k2/len28": 0.3333333333333333
283
  }
284
  },
285
  "org.g2.boolq_acc": {
286
- "value": 0.64,
287
  "clusters": {
288
- "g2/boolq": 0.64
289
  }
290
  },
291
  "org.g5.ruler_acc": {
292
- "value": 0.14350000000000002,
293
  "clusters": {
294
  "qa@4096": 0.5,
295
  "qa@8192": 0.0,
296
- "vt@4096": 0.0,
297
- "vt@8192": 0.4,
298
  "qa@16384": 0.0,
299
  "qa@32768": 0.0,
300
- "vt@16384": 0.30000000000000004,
301
- "vt@32768": 0.0,
302
- "vt@65536": 0.2,
303
- "niah_mk@4096": 0.0,
304
  "niah_mk@8192": 0.0,
305
- "niah_mq@4096": 0.125,
306
- "niah_mq@8192": 0.125,
307
- "niah_mv@4096": 0.25,
308
  "niah_mv@8192": 0.25,
309
- "niah_mk@16384": 0.0,
310
  "niah_mk@32768": 0.5,
311
- "niah_mk@65536": 0.0,
312
- "niah_mq@16384": 0.0,
313
  "niah_mq@32768": 0.0,
314
  "niah_mv@16384": 0.25,
315
- "niah_mv@32768": 0.25
316
  }
317
  },
318
  "org.g2.lambada_acc": {
319
- "value": 0.965,
320
  "clusters": {
321
- "g2/lambada": 0.965
322
  }
323
  },
324
  "org.g3.copying_acc": {
325
- "value": 0.3888888888888889,
326
  "clusters": {
327
- "copy/len16/gap0": 0.3333333333333333,
328
- "copy/len16/gap16": 0.4166666666666667,
329
- "copy/len16/gap64": 0.4166666666666667
330
  }
331
  },
332
  "org.g3.passkey_acc": {
@@ -336,35 +335,35 @@
336
  }
337
  },
338
  "org.g4.modular_acc": {
339
- "value": 0.0,
340
  "clusters": {
341
- "mod/p97/id": 0.0,
342
  "mod/p97/ood": 0.0
343
  }
344
  },
345
- "org.g7.tpot_ms_32k": 14.603247444028966,
346
  "org.g7.ttft_ms_32k": {
347
- "value": 14.584711054340003,
348
  "clusters": {
349
- "L32768": 14.584711054340003
350
  }
351
  },
352
  "org.g2.arc_easy_acc": {
353
- "value": 0.285,
354
  "clusters": {
355
- "g2/arc_easy": 0.285
356
  }
357
  },
358
  "org.g5.babilong_acc": {
359
- "value": 0.13333333333333333,
360
  "clusters": {
361
- "qa1@4096": 0.0,
362
- "qa1@8192": 0.5,
363
  "qa2@4096": 0.5,
364
  "qa2@8192": 0.0,
365
  "qa3@4096": 0.0,
366
- "qa3@8192": 0.5,
367
- "qa4@4096": 0.5,
368
  "qa4@8192": 0.0,
369
  "qa5@4096": 0.0,
370
  "qa5@8192": 0.0,
@@ -372,13 +371,13 @@
372
  "qa2@16384": 0.0,
373
  "qa3@16384": 0.0,
374
  "qa4@16384": 0.0,
375
- "qa5@16384": 0.0
376
  }
377
  },
378
  "org.g2.hellaswag_acc": {
379
- "value": 0.375,
380
  "clusters": {
381
- "g2/hellaswag": 0.375
382
  }
383
  },
384
  "org.g3.induction_acc": {
@@ -388,36 +387,35 @@
388
  }
389
  },
390
  "org.g2.winogrande_acc": {
391
- "value": 0.525,
392
  "clusters": {
393
- "g2/winogrande": 0.525
394
  }
395
  },
396
  "org.g4.arithmetic_acc": {
397
  "value": 0.1,
398
  "clusters": {
399
- "arith/t1": 0.0,
400
  "arith/t2": 0.0,
401
- "arith/t3": 0.25,
402
- "arith/t2/noop": 0.0,
403
- "arith/t2/extrap": 0.25
404
  }
405
  },
406
  "org.g5.helmet_rag_acc": {
407
- "value": 0.0,
408
  "clusters": {
409
  "helmet_rag@nq": 0.0,
410
  "helmet_rag@popqa": 0.0,
411
  "helmet_rag@hotpotqa": 0.0,
412
- "helmet_rag@triviaqa": 0.0
413
  }
414
  },
415
  "org.g4.proofwriter_acc": {
416
- "value": 0.375,
417
  "clusters": {
418
- "proof/d0/neg": 0.0,
419
  "proof/d0/pos": 1.0,
420
- "proof/d1/neg": 0.0,
421
  "proof/d2/neg": 0.0,
422
  "proof/d2/pos": 1.0,
423
  "proof/d3/neg": 0.0,
@@ -425,16 +423,16 @@
425
  }
426
  },
427
  "org.g5.natural_mcq_acc": {
428
- "value": 0.25,
429
  "clusters": {
430
- "natural_mcq@Multi-Document QA": 0.2727272727272727,
431
- "natural_mcq@Single-Document QA": 0.26666666666666666,
432
- "natural_mcq@Long In-context Learning": 0.5,
433
  "natural_mcq@Code Repository Understanding": 0.3333333333333333,
434
  "natural_mcq@Long Structured Data Understanding": 0.0,
435
  "natural_mcq@Long-dialogue History Understanding": 0.0
436
  }
437
  },
 
438
  "org.g8.loss_spike_score": 1.0,
439
  "org.g8.mup_lr_stability": 1.0,
440
  "org.g2.arc_challenge_acc": {
@@ -444,27 +442,27 @@
444
  }
445
  },
446
  "org.g4.boolean_logic_acc": {
447
- "value": 1.0,
448
  "clusters": {
449
- "bool/d2": 1.0
450
  }
451
  },
452
  "org.g7.throughput_toks_s": {
453
- "value": 85.30747321040076,
454
  "clusters": {
455
- "b32": 85.30747321040076
456
  }
457
  },
458
  "org.g1.bits_per_byte_code": {
459
- "value": 1.6003652201521366,
460
  "clusters": {
461
- "domain/code": 1.6003652201521366
462
  }
463
  },
464
  "org.g1.bits_per_byte_math": {
465
- "value": 1.462186208654599,
466
  "clusters": {
467
- "domain/math": 1.462186208654599
468
  }
469
  },
470
  "org.g4.knights_knaves_acc": {
@@ -474,16 +472,16 @@
474
  }
475
  },
476
  "org.g1.bits_per_byte_prose": {
477
- "value": 1.2955695103404137,
478
  "clusters": {
479
- "domain/prose": 1.2955695103404137
480
  }
481
  },
482
- "org.g1.bits_per_byte_key_token": 0.1345007811665392,
483
  "org.g1.bits_per_byte_fresh_crawl": {
484
- "value": 1.22949692903927,
485
  "clusters": {
486
- "fresh": 1.22949692903927
487
  }
488
  },
489
  "org.g7.state_bytes_per_token_32k": 8.0
@@ -493,11 +491,11 @@
493
  "group": "g4",
494
  "metric": "org.g4.arithmetic_acc",
495
  "mirror": {
496
- "value": 0.0,
497
  "clusters": {
498
  "arith#0": 0.0,
499
  "arith#1": 0.0,
500
- "arith#2": 0.0,
501
  "arith#3": 0.0
502
  }
503
  },
@@ -515,11 +513,11 @@
515
  "group": "g4",
516
  "metric": "org.g4.boolean_logic_acc",
517
  "mirror": {
518
- "value": 0.25,
519
  "clusters": {
520
- "boolean_expr#0": 1.0,
521
- "boolean_expr#1": 0.0,
522
- "boolean_expr#2": 0.0,
523
  "boolean_expr#3": 0.0
524
  }
525
  },
@@ -541,8 +539,8 @@
541
  "clusters": {
542
  "dyck#0": 0.3333333333333333,
543
  "dyck#1": 1.0,
544
- "dyck#2": 0.6666666666666666,
545
- "dyck#3": 0.6666666666666666
546
  }
547
  },
548
  "public": {
@@ -559,20 +557,20 @@
559
  "group": "g4",
560
  "metric": "org.g4.modular_acc",
561
  "mirror": {
562
- "value": 0.25,
563
  "clusters": {
564
  "modular#0": 0.0,
565
  "modular#1": 0.0,
566
  "modular#2": 0.0,
567
- "modular#3": 1.0
568
  }
569
  },
570
  "public": {
571
- "value": 0.5,
572
  "clusters": {
573
- "modular#0": 1.0,
574
- "modular#1": 0.0,
575
- "modular#2": 0.0,
576
  "modular#3": 1.0
577
  }
578
  }
@@ -581,10 +579,10 @@
581
  "group": "g4",
582
  "metric": "org.g4.knights_knaves_acc",
583
  "mirror": {
584
- "value": 0.75,
585
  "clusters": {
586
- "knights_knaves#0": 1.0,
587
- "knights_knaves#1": 1.0,
588
  "knights_knaves#2": 1.0,
589
  "knights_knaves#3": 0.0
590
  }
@@ -603,12 +601,12 @@
603
  "group": "g4",
604
  "metric": "org.g4.proofwriter_acc",
605
  "mirror": {
606
- "value": 0.25,
607
  "clusters": {
608
- "proofwriter#0": 1.0,
609
- "proofwriter#1": 0.0,
610
  "proofwriter#2": 0.0,
611
- "proofwriter#3": 0.0
612
  }
613
  },
614
  "public": {
@@ -669,19 +667,19 @@
669
  "group": "g2",
670
  "metric": "org.g2.piqa_acc",
671
  "mirror": {
672
- "value": 0.5,
673
  "clusters": {
674
  "piqa#0": 1.0,
675
  "piqa#1": 0.0,
676
  "piqa#2": 0.0,
677
- "piqa#3": 1.0
678
  }
679
  },
680
  "public": {
681
- "value": 0.5,
682
  "clusters": {
683
- "piqa#0": 0.0,
684
- "piqa#1": 0.0,
685
  "piqa#2": 1.0,
686
  "piqa#3": 1.0
687
  }
@@ -691,11 +689,11 @@
691
  "group": "g2",
692
  "metric": "org.g2.arc_easy_acc",
693
  "mirror": {
694
- "value": 0.75,
695
  "clusters": {
696
  "arc_easy#0": 1.0,
697
  "arc_easy#1": 1.0,
698
- "arc_easy#2": 1.0,
699
  "arc_easy#3": 0.0
700
  }
701
  },
@@ -713,9 +711,9 @@
713
  "group": "g2",
714
  "metric": "org.g2.arc_challenge_acc",
715
  "mirror": {
716
- "value": 0.75,
717
  "clusters": {
718
- "arc_challenge#0": 1.0,
719
  "arc_challenge#1": 1.0,
720
  "arc_challenge#2": 0.0,
721
  "arc_challenge#3": 1.0
@@ -744,12 +742,12 @@
744
  }
745
  },
746
  "public": {
747
- "value": 0.5,
748
  "clusters": {
749
- "winogrande#0": 0.0,
750
- "winogrande#1": 1.0,
751
  "winogrande#2": 1.0,
752
- "winogrande#3": 0.0
753
  }
754
  }
755
  },
@@ -788,10 +786,10 @@
788
  }
789
  },
790
  "public": {
791
- "value": 0.25,
792
  "clusters": {
793
  "openbookqa#0": 0.0,
794
- "openbookqa#1": 0.0,
795
  "openbookqa#2": 1.0,
796
  "openbookqa#3": 0.0
797
  }
@@ -801,20 +799,19 @@
801
  "group": "g5",
802
  "metric": "org.g5.natural_mcq_acc",
803
  "mirror": {
804
- "value": 0.0,
805
  "clusters": {
 
806
  "Single-Document QA": 0.0,
807
- "Long Structured Data Understanding": 0.0,
808
- "Long-dialogue History Understanding": 0.0
809
  }
810
  },
811
  "public": {
812
  "value": 0.0,
813
  "clusters": {
814
  "Multi-Document QA": 0.0,
815
- "Single-Document QA": 0.0,
816
  "Long In-context Learning": 0.0,
817
- "Long-dialogue History Understanding": 0.0
818
  }
819
  }
820
  },
@@ -822,16 +819,16 @@
822
  "group": "g5",
823
  "metric": "org.g5.helmet_rag_acc",
824
  "mirror": {
825
- "value": 0.0,
826
  "clusters": {
827
- "popqa": 0.0,
828
- "hotpotqa": 0.0
 
829
  }
830
  },
831
  "public": {
832
  "value": 0.0,
833
  "clusters": {
834
- "nq": 0.0,
835
  "popqa": 0.0,
836
  "triviaqa": 0.0
837
  }
 
1
  {
2
+ "submission_id": "3c73be2d7baf2191cf8ed9f6fb7a955208c5d980b07fdef9299b978617b88255",
3
+ "arch_id": "arch_a4a09054276917cb",
4
+ "owner_hotkey": "fa8cafcc9b3f5dbf4813825476ffb20c40cd73815b864c234b238e0fbbdd2277",
5
+ "bpb": 3.771072932322795,
6
  "n_params": 198147072,
7
  "tokens_seen": 2048,
8
+ "wall_clock_seconds": 18002.58023238182,
9
  "battery": {
10
  "tier": "public",
11
  "groups": {
 
13
  "module": "g1_intrinsic",
14
  "status": "ok",
15
  "metrics": {
16
+ "g1.bpb.val": 3.771072981364723,
17
+ "g1.bpb.fresh": 4.600095753231995,
18
+ "g1.bpb.key_token": 5.913205079278005,
19
+ "g1.posloss.p0_128": 4.024760498346422,
20
+ "g1.bpb.domain.code": 3.2740145591586325,
21
+ "g1.bpb.domain.math": 4.186553902697417,
22
+ "g1.bpb.domain.news": 5.5054120296639395,
23
+ "g1.bpb.multidomain": 4.466367262519637,
24
+ "g1.bpb.domain.prose": 4.899488558558558,
25
+ "g1.posloss.p128_256": 3.722991881642181,
26
+ "g1.posloss.p256_384": 3.698078880221957,
27
+ "g1.posloss.p384_512": 3.735194090421734,
28
+ "g1.posloss.p512_end": 3.711143622510656,
29
+ "g1.bits_per_byte.val": 0.946712161598888,
30
+ "g1.bits_per_byte.fresh": 1.2394426337172075,
31
  "g1.assets.domains_present": 4.0,
32
+ "g1.bits_per_byte.key_token": 0.133794373345178,
33
+ "g1.bits_per_byte.domain.code": 1.6285906072820029,
34
+ "g1.bits_per_byte.domain.math": 1.489109197606233,
35
+ "g1.bits_per_byte.domain.news": 1.528726918392759,
36
+ "g1.bits_per_byte.multidomain": 1.4858481409958633,
37
+ "g1.bits_per_byte.domain.prose": 1.2969658407024582
38
  }
39
  },
40
  "g2": {
41
  "module": "g2_downstream",
42
  "status": "ok",
43
  "metrics": {
44
+ "g2.core.mean_nll": 4.165985709400304,
45
+ "g2.piqa.acc_norm": 0.62,
46
+ "g2.boolq.acc_norm": 0.635,
47
+ "g2.lambada.acc_norm": 0.96,
48
+ "g2.arc_easy.acc_norm": 0.305,
49
+ "g2.core.mean_acc_norm": 0.503125,
50
+ "g2.hellaswag.acc_norm": 0.365,
51
+ "g2.openbookqa.acc_norm": 0.33,
52
+ "g2.winogrande.acc_norm": 0.535,
53
  "g2.assets.tasks_present": 8.0,
54
  "g2.arc_challenge.acc_norm": 0.275
55
  }
 
58
  "module": "g3_recall",
59
  "status": "ok",
60
  "metrics": {
61
+ "g3.copy.acc": 0.3333333333333333,
62
+ "g3.mqar.acc": 0.20833333333333337,
63
+ "g3.copy.g0.acc": 0.4166666666666667,
64
  "g3.mqar.n4.acc": 0.3125,
65
+ "g3.mqar.n8.acc": 0.25,
66
+ "g3.copy.g16.acc": 0.25,
67
+ "g3.copy.g64.acc": 0.3333333333333333,
68
+ "g3.mqar.n16.acc": 0.0625,
69
+ "g3.recall.mean_acc": 0.6354166666666666,
70
+ "g3.recall.mean_nll": 5.251577494914333,
71
  "g3.passkey.base.acc": 1.0,
72
  "g3.induction.base.acc": 1.0
73
  }
 
78
  "metrics": {
79
  "g4.kk.acc": 0.5,
80
  "g4.s5.acc": 0.125,
81
+ "g4.mod.acc": 0.125,
82
+ "g4.bool.acc": 0.0,
83
+ "g4.dyck.acc": 0.8333333333333334,
84
  "g4.arith.acc": 0.1,
85
  "g4.kk.n3.acc": 0.5,
86
+ "g4.proof.acc": 0.6875,
87
  "g4.s5.k5.acc": 0.25,
88
+ "g4.mod.id.acc": 0.25,
89
  "g4.s5.k10.acc": 0.0,
90
+ "g4.dyck.k1.acc": 0.9166666666666666,
91
+ "g4.dyck.k2.acc": 0.9166666666666666,
92
  "g4.mod.ood.acc": 0.0,
93
+ "g4.arith.t1.acc": 0.25,
94
  "g4.arith.t2.acc": 0.0,
95
+ "g4.arith.t3.acc": 0.0,
96
+ "g4.proof.d0.acc": 1.0,
97
+ "g4.proof.d1.acc": 1.0,
98
  "g4.proof.d2.acc": 0.5,
99
+ "g4.proof.d3.acc": 0.25,
100
+ "g4.bool.base.acc": 0.0,
101
+ "g4.arith.noop.acc": 0.25,
102
+ "g4.mod.id_ood_gap": 0.25,
103
+ "g4.dyck.k2long.acc": 0.6666666666666666,
104
+ "g4.arith.extrap.acc": 0.0,
105
+ "g4.reasoning.mean_acc": 0.3386904761904762,
106
+ "g4.reasoning.mean_nll": 5.840880783895652
107
  }
108
  },
109
  "g5": {
110
  "module": "g5_longctx",
111
  "status": "ok",
112
  "metrics": {
113
+ "g5.lstar": 65536.0,
114
+ "g5.retention": 0.9448818897637796,
115
+ "g5.ruler.acc": 0.25425,
116
+ "g5.babilong.acc": 0.1,
117
  "g5.helmet_rag.n": 20.0,
118
  "g5.ruler.qa.acc": 0.125,
119
+ "g5.ruler.vt.acc": 0.24,
120
  "g5.natural_mcq.n": 40.0,
121
  "g5.ruler.qa.pack": 1.0,
122
+ "g5.helmet_rag.acc": 0.05,
123
+ "g5.mean.L4096.acc": 0.3175,
124
+ "g5.mean.L8192.acc": 0.075,
125
  "g5.natural.staged": 1.0,
126
+ "g5.ruler.mean_nll": 3.9016778855956824,
127
+ "g5.mean.L16384.acc": 0.14750000000000002,
128
+ "g5.mean.L32768.acc": 0.265,
129
+ "g5.mean.L65536.acc": 0.3,
130
+ "g5.natural_mcq.acc": 0.225,
131
+ "g5.ruler.L4096.acc": 0.43499999999999994,
132
+ "g5.ruler.L8192.acc": 0.15,
133
+ "g5.ruler.shot_rate": 0.8181818181818182,
134
  "g5.babilong.qa1.acc": 0.16666666666666666,
135
  "g5.babilong.qa2.acc": 0.16666666666666666,
136
+ "g5.babilong.qa3.acc": 0.0,
137
+ "g5.babilong.qa4.acc": 0.0,
138
+ "g5.babilong.qa5.acc": 0.16666666666666666,
139
+ "g5.ruler.L16384.acc": 0.195,
140
+ "g5.ruler.L32768.acc": 0.265,
141
+ "g5.ruler.L65536.acc": 0.3,
142
+ "g5.ruler.mean_depth": 0.4283540504499409,
143
+ "g5.babilong.mean_nll": 8.110466469658745,
144
  "g5.helmet_rag.rank_n": 20.0,
145
+ "g5.ruler.niah_mk.acc": 0.5,
146
+ "g5.ruler.niah_mq.acc": 0.09375,
147
+ "g5.ruler.niah_mv.acc": 0.3125,
148
  "g5.babilong.L4096.acc": 0.2,
149
+ "g5.babilong.L8192.acc": 0.0,
150
  "g5.ruler.qa.L4096.acc": 0.5,
151
  "g5.ruler.qa.L8192.acc": 0.0,
152
+ "g5.ruler.vt.L4096.acc": 0.3,
153
+ "g5.ruler.vt.L8192.acc": 0.5,
154
+ "g5.babilong.L16384.acc": 0.1,
155
+ "g5.babilong.mean_depth": 0.6391818811970181,
156
  "g5.babilong.mean_shots": 2.0,
157
+ "g5.helmet_rag.gold_nll": 4.613458111201014,
158
+ "g5.helmet_rag.rank_acc": 0.5,
159
+ "g5.ruler.L4096.len_err": 0.0,
160
  "g5.ruler.L8192.len_err": 0.0,
161
  "g5.ruler.evidence_miss": 0.0,
162
  "g5.ruler.qa.L16384.acc": 0.0,
163
  "g5.ruler.qa.L32768.acc": 0.0,
164
+ "g5.ruler.vt.L16384.acc": 0.1,
165
+ "g5.ruler.vt.L32768.acc": 0.2,
166
+ "g5.ruler.vt.L65536.acc": 0.1,
167
  "g5.babilong.filler_pack": 1.0,
168
+ "g5.helmet_rag.L8192.acc": 0.05,
169
+ "g5.natural_mcq.mean_nll": 3.686222618328003,
 
170
  "g5.ruler.L16384.len_err": 0.0,
171
  "g5.ruler.L32768.len_err": 0.0,
172
  "g5.ruler.L65536.len_err": 0.0,
173
+ "g5.natural_mcq.L8192.acc": 0.225,
174
  "g5.babilong.L4096.len_err": 0.0,
175
  "g5.babilong.L8192.len_err": 0.0,
176
  "g5.babilong.evidence_miss": 0.0,
177
+ "g5.babilong.qa1.L4096.acc": 0.5,
178
+ "g5.babilong.qa1.L8192.acc": 0.0,
179
  "g5.babilong.qa2.L4096.acc": 0.5,
180
  "g5.babilong.qa2.L8192.acc": 0.0,
181
  "g5.babilong.qa3.L4096.acc": 0.0,
182
+ "g5.babilong.qa3.L8192.acc": 0.0,
183
+ "g5.babilong.qa4.L4096.acc": 0.0,
184
  "g5.babilong.qa4.L8192.acc": 0.0,
185
  "g5.babilong.qa5.L4096.acc": 0.0,
186
  "g5.babilong.qa5.L8192.acc": 0.0,
 
189
  "g5.babilong.qa2.L16384.acc": 0.0,
190
  "g5.babilong.qa3.L16384.acc": 0.0,
191
  "g5.babilong.qa4.L16384.acc": 0.0,
192
+ "g5.babilong.qa5.L16384.acc": 0.5,
193
+ "g5.ruler.niah_mk.L4096.acc": 1.0,
194
  "g5.ruler.niah_mk.L8192.acc": 0.0,
195
+ "g5.ruler.niah_mq.L4096.acc": 0.25,
196
+ "g5.ruler.niah_mq.L8192.acc": 0.0,
197
+ "g5.ruler.niah_mv.L4096.acc": 0.125,
198
  "g5.ruler.niah_mv.L8192.acc": 0.25,
199
+ "g5.ruler.niah_mk.L16384.acc": 0.5,
200
  "g5.ruler.niah_mk.L32768.acc": 0.5,
201
+ "g5.ruler.niah_mk.L65536.acc": 0.5,
202
+ "g5.ruler.niah_mq.L16384.acc": 0.125,
203
  "g5.ruler.niah_mq.L32768.acc": 0.0,
204
  "g5.ruler.niah_mv.L16384.acc": 0.25,
205
+ "g5.ruler.niah_mv.L32768.acc": 0.625,
206
  "g5.natural.pool_rows.helmet_rag": 96.0,
207
  "g5.natural.pool_rows.natural_mcq": 64.0
208
  }
 
220
  "status": "ok",
221
  "metrics": {
222
  "g7.vram.peak_gb": 2.311983616,
223
+ "g7.tpot.L1024.ms": 14.381302578840405,
224
+ "g7.tpot.L4096.ms": 14.391133765457198,
225
+ "g7.ttft.L1024.ms": 14.364506117999554,
226
+ "g7.ttft.L4096.ms": 14.32378590106964,
227
+ "g7.tpot.L16384.ms": 14.380262204213068,
228
+ "g7.tpot.L32768.ms": 14.386560505954549,
229
+ "g7.ttft.L16384.ms": 14.357506297528744,
230
+ "g7.ttft.L32768.ms": 14.330116100609304,
231
+ "g7.quant.w8a8.dbpb": 0.004147318629893704,
232
+ "g7.quant.w4a16.dbpb": 0.10966907988460406,
233
+ "g7.energy.j_per_token": 0.00359039564751617,
234
+ "g7.throughput.b1.toks": 69.58314974899956,
235
+ "g7.throughput.b32.toks": 94.74272171069568,
236
  "g7.state.analytic_unavailable": 1.0,
237
  "g7.state.bytes_per_token.measured": 8.0
238
  }
 
252
  }
253
  },
254
  "metrics": {
255
+ "org.g5.lstar": 65536.0,
256
  "org.g2.obqa_acc": {
257
+ "value": 0.33,
258
  "clusters": {
259
+ "g2/openbookqa": 0.33
260
  }
261
  },
262
  "org.g2.piqa_acc": {
263
+ "value": 0.62,
264
  "clusters": {
265
+ "g2/piqa": 0.62
266
  }
267
  },
268
  "org.g3.mqar_acc": {
269
+ "value": 0.20833333333333337,
270
  "clusters": {
271
  "mqar/n4": 0.3125,
272
+ "mqar/n8": 0.25,
273
+ "mqar/n16": 0.0625
274
  }
275
  },
276
  "org.g4.dyck_acc": {
277
+ "value": 0.8333333333333334,
278
  "clusters": {
279
+ "dyck/k1/len10": 0.9166666666666666,
280
+ "dyck/k2/len10": 0.9166666666666666,
281
+ "dyck/k2/len28": 0.6666666666666666
282
  }
283
  },
284
  "org.g2.boolq_acc": {
285
+ "value": 0.635,
286
  "clusters": {
287
+ "g2/boolq": 0.635
288
  }
289
  },
290
  "org.g5.ruler_acc": {
291
+ "value": 0.25425,
292
  "clusters": {
293
  "qa@4096": 0.5,
294
  "qa@8192": 0.0,
295
+ "vt@4096": 0.3,
296
+ "vt@8192": 0.5,
297
  "qa@16384": 0.0,
298
  "qa@32768": 0.0,
299
+ "vt@16384": 0.1,
300
+ "vt@32768": 0.2,
301
+ "vt@65536": 0.1,
302
+ "niah_mk@4096": 1.0,
303
  "niah_mk@8192": 0.0,
304
+ "niah_mq@4096": 0.25,
305
+ "niah_mq@8192": 0.0,
306
+ "niah_mv@4096": 0.125,
307
  "niah_mv@8192": 0.25,
308
+ "niah_mk@16384": 0.5,
309
  "niah_mk@32768": 0.5,
310
+ "niah_mk@65536": 0.5,
311
+ "niah_mq@16384": 0.125,
312
  "niah_mq@32768": 0.0,
313
  "niah_mv@16384": 0.25,
314
+ "niah_mv@32768": 0.625
315
  }
316
  },
317
  "org.g2.lambada_acc": {
318
+ "value": 0.96,
319
  "clusters": {
320
+ "g2/lambada": 0.96
321
  }
322
  },
323
  "org.g3.copying_acc": {
324
+ "value": 0.3333333333333333,
325
  "clusters": {
326
+ "copy/len16/gap0": 0.4166666666666667,
327
+ "copy/len16/gap16": 0.25,
328
+ "copy/len16/gap64": 0.3333333333333333
329
  }
330
  },
331
  "org.g3.passkey_acc": {
 
335
  }
336
  },
337
  "org.g4.modular_acc": {
338
+ "value": 0.125,
339
  "clusters": {
340
+ "mod/p97/id": 0.25,
341
  "mod/p97/ood": 0.0
342
  }
343
  },
344
+ "org.g7.tpot_ms_32k": 14.386560505954549,
345
  "org.g7.ttft_ms_32k": {
346
+ "value": 14.330116100609304,
347
  "clusters": {
348
+ "L32768": 14.330116100609304
349
  }
350
  },
351
  "org.g2.arc_easy_acc": {
352
+ "value": 0.305,
353
  "clusters": {
354
+ "g2/arc_easy": 0.305
355
  }
356
  },
357
  "org.g5.babilong_acc": {
358
+ "value": 0.1,
359
  "clusters": {
360
+ "qa1@4096": 0.5,
361
+ "qa1@8192": 0.0,
362
  "qa2@4096": 0.5,
363
  "qa2@8192": 0.0,
364
  "qa3@4096": 0.0,
365
+ "qa3@8192": 0.0,
366
+ "qa4@4096": 0.0,
367
  "qa4@8192": 0.0,
368
  "qa5@4096": 0.0,
369
  "qa5@8192": 0.0,
 
371
  "qa2@16384": 0.0,
372
  "qa3@16384": 0.0,
373
  "qa4@16384": 0.0,
374
+ "qa5@16384": 0.5
375
  }
376
  },
377
  "org.g2.hellaswag_acc": {
378
+ "value": 0.365,
379
  "clusters": {
380
+ "g2/hellaswag": 0.365
381
  }
382
  },
383
  "org.g3.induction_acc": {
 
387
  }
388
  },
389
  "org.g2.winogrande_acc": {
390
+ "value": 0.535,
391
  "clusters": {
392
+ "g2/winogrande": 0.535
393
  }
394
  },
395
  "org.g4.arithmetic_acc": {
396
  "value": 0.1,
397
  "clusters": {
398
+ "arith/t1": 0.25,
399
  "arith/t2": 0.0,
400
+ "arith/t3": 0.0,
401
+ "arith/t2/noop": 0.25,
402
+ "arith/t2/extrap": 0.0
403
  }
404
  },
405
  "org.g5.helmet_rag_acc": {
406
+ "value": 0.05,
407
  "clusters": {
408
  "helmet_rag@nq": 0.0,
409
  "helmet_rag@popqa": 0.0,
410
  "helmet_rag@hotpotqa": 0.0,
411
+ "helmet_rag@triviaqa": 0.16666666666666666
412
  }
413
  },
414
  "org.g4.proofwriter_acc": {
415
+ "value": 0.6875,
416
  "clusters": {
 
417
  "proof/d0/pos": 1.0,
418
+ "proof/d1/pos": 1.0,
419
  "proof/d2/neg": 0.0,
420
  "proof/d2/pos": 1.0,
421
  "proof/d3/neg": 0.0,
 
423
  }
424
  },
425
  "org.g5.natural_mcq_acc": {
426
+ "value": 0.225,
427
  "clusters": {
428
+ "natural_mcq@Multi-Document QA": 0.15384615384615383,
429
+ "natural_mcq@Single-Document QA": 0.3333333333333333,
 
430
  "natural_mcq@Code Repository Understanding": 0.3333333333333333,
431
  "natural_mcq@Long Structured Data Understanding": 0.0,
432
  "natural_mcq@Long-dialogue History Understanding": 0.0
433
  }
434
  },
435
+ "org.g7.joules_per_token": 0.00359039564751617,
436
  "org.g8.loss_spike_score": 1.0,
437
  "org.g8.mup_lr_stability": 1.0,
438
  "org.g2.arc_challenge_acc": {
 
442
  }
443
  },
444
  "org.g4.boolean_logic_acc": {
445
+ "value": 0.0,
446
  "clusters": {
447
+ "bool/d2": 0.0
448
  }
449
  },
450
  "org.g7.throughput_toks_s": {
451
+ "value": 94.74272171069568,
452
  "clusters": {
453
+ "b32": 94.74272171069568
454
  }
455
  },
456
  "org.g1.bits_per_byte_code": {
457
+ "value": 1.6285906072820029,
458
  "clusters": {
459
+ "domain/code": 1.6285906072820029
460
  }
461
  },
462
  "org.g1.bits_per_byte_math": {
463
+ "value": 1.489109197606233,
464
  "clusters": {
465
+ "domain/math": 1.489109197606233
466
  }
467
  },
468
  "org.g4.knights_knaves_acc": {
 
472
  }
473
  },
474
  "org.g1.bits_per_byte_prose": {
475
+ "value": 1.2969658407024582,
476
  "clusters": {
477
+ "domain/prose": 1.2969658407024582
478
  }
479
  },
480
+ "org.g1.bits_per_byte_key_token": 0.133794373345178,
481
  "org.g1.bits_per_byte_fresh_crawl": {
482
+ "value": 1.2394426337172075,
483
  "clusters": {
484
+ "fresh": 1.2394426337172075
485
  }
486
  },
487
  "org.g7.state_bytes_per_token_32k": 8.0
 
491
  "group": "g4",
492
  "metric": "org.g4.arithmetic_acc",
493
  "mirror": {
494
+ "value": 0.25,
495
  "clusters": {
496
  "arith#0": 0.0,
497
  "arith#1": 0.0,
498
+ "arith#2": 1.0,
499
  "arith#3": 0.0
500
  }
501
  },
 
513
  "group": "g4",
514
  "metric": "org.g4.boolean_logic_acc",
515
  "mirror": {
516
+ "value": 0.5,
517
  "clusters": {
518
+ "boolean_expr#0": 0.0,
519
+ "boolean_expr#1": 1.0,
520
+ "boolean_expr#2": 1.0,
521
  "boolean_expr#3": 0.0
522
  }
523
  },
 
539
  "clusters": {
540
  "dyck#0": 0.3333333333333333,
541
  "dyck#1": 1.0,
542
+ "dyck#2": 0.3333333333333333,
543
+ "dyck#3": 1.0
544
  }
545
  },
546
  "public": {
 
557
  "group": "g4",
558
  "metric": "org.g4.modular_acc",
559
  "mirror": {
560
+ "value": 0.0,
561
  "clusters": {
562
  "modular#0": 0.0,
563
  "modular#1": 0.0,
564
  "modular#2": 0.0,
565
+ "modular#3": 0.0
566
  }
567
  },
568
  "public": {
569
+ "value": 0.75,
570
  "clusters": {
571
+ "modular#0": 0.0,
572
+ "modular#1": 1.0,
573
+ "modular#2": 1.0,
574
  "modular#3": 1.0
575
  }
576
  }
 
579
  "group": "g4",
580
  "metric": "org.g4.knights_knaves_acc",
581
  "mirror": {
582
+ "value": 0.25,
583
  "clusters": {
584
+ "knights_knaves#0": 0.0,
585
+ "knights_knaves#1": 0.0,
586
  "knights_knaves#2": 1.0,
587
  "knights_knaves#3": 0.0
588
  }
 
601
  "group": "g4",
602
  "metric": "org.g4.proofwriter_acc",
603
  "mirror": {
604
+ "value": 0.5,
605
  "clusters": {
606
+ "proofwriter#0": 0.0,
607
+ "proofwriter#1": 1.0,
608
  "proofwriter#2": 0.0,
609
+ "proofwriter#3": 1.0
610
  }
611
  },
612
  "public": {
 
667
  "group": "g2",
668
  "metric": "org.g2.piqa_acc",
669
  "mirror": {
670
+ "value": 0.25,
671
  "clusters": {
672
  "piqa#0": 1.0,
673
  "piqa#1": 0.0,
674
  "piqa#2": 0.0,
675
+ "piqa#3": 0.0
676
  }
677
  },
678
  "public": {
679
+ "value": 1.0,
680
  "clusters": {
681
+ "piqa#0": 1.0,
682
+ "piqa#1": 1.0,
683
  "piqa#2": 1.0,
684
  "piqa#3": 1.0
685
  }
 
689
  "group": "g2",
690
  "metric": "org.g2.arc_easy_acc",
691
  "mirror": {
692
+ "value": 0.5,
693
  "clusters": {
694
  "arc_easy#0": 1.0,
695
  "arc_easy#1": 1.0,
696
+ "arc_easy#2": 0.0,
697
  "arc_easy#3": 0.0
698
  }
699
  },
 
711
  "group": "g2",
712
  "metric": "org.g2.arc_challenge_acc",
713
  "mirror": {
714
+ "value": 0.5,
715
  "clusters": {
716
+ "arc_challenge#0": 0.0,
717
  "arc_challenge#1": 1.0,
718
  "arc_challenge#2": 0.0,
719
  "arc_challenge#3": 1.0
 
742
  }
743
  },
744
  "public": {
745
+ "value": 0.75,
746
  "clusters": {
747
+ "winogrande#0": 1.0,
748
+ "winogrande#1": 0.0,
749
  "winogrande#2": 1.0,
750
+ "winogrande#3": 1.0
751
  }
752
  }
753
  },
 
786
  }
787
  },
788
  "public": {
789
+ "value": 0.5,
790
  "clusters": {
791
  "openbookqa#0": 0.0,
792
+ "openbookqa#1": 1.0,
793
  "openbookqa#2": 1.0,
794
  "openbookqa#3": 0.0
795
  }
 
799
  "group": "g5",
800
  "metric": "org.g5.natural_mcq_acc",
801
  "mirror": {
802
+ "value": 0.25,
803
  "clusters": {
804
+ "Multi-Document QA": 0.5,
805
  "Single-Document QA": 0.0,
806
+ "Code Repository Understanding": 0.0
 
807
  }
808
  },
809
  "public": {
810
  "value": 0.0,
811
  "clusters": {
812
  "Multi-Document QA": 0.0,
 
813
  "Long In-context Learning": 0.0,
814
+ "Code Repository Understanding": 0.0
815
  }
816
  }
817
  },
 
819
  "group": "g5",
820
  "metric": "org.g5.helmet_rag_acc",
821
  "mirror": {
822
+ "value": 0.25,
823
  "clusters": {
824
+ "nq": 0.0,
825
+ "hotpotqa": 0.0,
826
+ "triviaqa": 1.0
827
  }
828
  },
829
  "public": {
830
  "value": 0.0,
831
  "clusters": {
 
832
  "popqa": 0.0,
833
  "triviaqa": 0.0
834
  }
README.md CHANGED
@@ -27,15 +27,15 @@ Prism-protocol **public** eval pack (1×RTX 5090). Accuracy: **↑ higher better
27
 
28
  | Metric | This model | GPT-2 | GPT-2 Large | vs GPT-2 | vs GPT-2 Large |
29
  |---|---:|---:|---:|:---|:---|
30
- | Val BPB (G1) | 3.7816 | 4.7595 | 4.1639 | ↓ -0.9779 ✓ better | ↓ -0.3823 ✓ better |
31
- | HellaSwag | 0.375 | 0.355 | 0.395 | ↑ +0.020 ✓ better | ↓ -0.020 worse |
32
- | ARC-Easy | 0.285 | 0.245 | 0.280 | ↑ +0.040 ✓ better | ↑ +0.005 ✓ better |
33
  | ARC-Challenge | 0.275 | 0.240 | 0.280 | ↑ +0.035 ✓ better | ↓ -0.005 worse |
34
- | PIQA | 0.640 | 0.585 | 0.690 | ↑ +0.055 ✓ better | ↓ -0.050 worse |
35
- | WinoGrande | 0.525 | 0.515 | 0.545 | ↑ +0.010 ✓ better | ↓ -0.020 worse |
36
- | BoolQ | 0.640 | 0.575 | 0.640 | ↑ +0.065 ✓ better | = +0.000 tie |
37
- | LAMBADA | 0.965 | 0.970 | 0.985 | ↓ -0.005 worse | ↓ -0.020 worse |
38
- | OpenBookQA | 0.305 | 0.320 | 0.335 | ↓ -0.015 worse | ↓ -0.030 worse |
39
 
40
  ### Compute notes
41
 
@@ -43,10 +43,10 @@ Prism-protocol **public** eval pack (1×RTX 5090). Accuracy: **↑ higher better
43
  |---|---|---|---|
44
  | Parameters | 198.1M | 124M | 774M |
45
  | Size vs Large | 3.91× vs GPT-2 Large (774M) | 6.22× | 1× |
46
- | Train tokens | 1992818688 | _(eval-only)_ | _(eval-only)_ |
47
- | Wall clock | 18002s | _(eval-only)_ | _(eval-only)_ |
48
- | Sustained train throughput | 131.6 TFLOPS (est.) | n/a | n/a |
49
- | GPU (harness) | `GPU 0: NVIDIA GeForce RTX 5090 (UUID: GPU-52642165-c475-c281-9482-c20561376ccd)` | 1×RTX 5090 (eval) | 1×RTX 5090 (eval) |
50
 
51
  Throughput ≈ `6 × N × D / wall` TFLOPS (dense transformer train FLOPs rule of thumb).
52
 
@@ -54,10 +54,10 @@ Throughput ≈ `6 × N × D / wall` TFLOPS (dense transformer train FLOPs rule o
54
 
55
  | field | value |
56
  |---|---|
57
- | arch_id | `arch_9be14d2887e68452` |
58
- | bpb | `3.781582` |
59
- | submission | `8fd2d2e091b427b88ddd66a20e0059f53a45d72fc8a7d2a5d7dc5a695b4921eb` |
60
- | owner_hotkey | `94b4209b9ab0…` |
61
  | hub repo | `BaseIntelligence/top-prism-architecture` |
62
 
63
  ## Load (trust_remote_code)
 
27
 
28
  | Metric | This model | GPT-2 | GPT-2 Large | vs GPT-2 | vs GPT-2 Large |
29
  |---|---:|---:|---:|:---|:---|
30
+ | Val BPB (G1) | 3.7711 | 4.7595 | 4.1639 | ↓ -0.9884 ✓ better | ↓ -0.3928 ✓ better |
31
+ | HellaSwag | 0.365 | 0.355 | 0.395 | ↑ +0.010 ✓ better | ↓ -0.030 worse |
32
+ | ARC-Easy | 0.305 | 0.245 | 0.280 | ↑ +0.060 ✓ better | ↑ +0.025 ✓ better |
33
  | ARC-Challenge | 0.275 | 0.240 | 0.280 | ↑ +0.035 ✓ better | ↓ -0.005 worse |
34
+ | PIQA | 0.620 | 0.585 | 0.690 | ↑ +0.035 ✓ better | ↓ -0.070 worse |
35
+ | WinoGrande | 0.535 | 0.515 | 0.545 | ↑ +0.020 ✓ better | ↓ -0.010 worse |
36
+ | BoolQ | 0.635 | 0.575 | 0.640 | ↑ +0.060 ✓ better | ↓ -0.005 worse |
37
+ | LAMBADA | 0.960 | 0.970 | 0.985 | ↓ -0.010 worse | ↓ -0.025 worse |
38
+ | OpenBookQA | 0.330 | 0.320 | 0.335 | ↑ +0.010 ✓ better | ↓ -0.005 worse |
39
 
40
  ### Compute notes
41
 
 
43
  |---|---|---|---|
44
  | Parameters | 198.1M | 124M | 774M |
45
  | Size vs Large | 3.91× vs GPT-2 Large (774M) | 6.22× | 1× |
46
+ | Train tokens | 2127298560 | _(eval-only)_ | _(eval-only)_ |
47
+ | Wall clock | 18003s | _(eval-only)_ | _(eval-only)_ |
48
+ | Sustained train throughput | 140.5 TFLOPS (est.) | n/a | n/a |
49
+ | GPU (harness) | `GPU 0: NVIDIA GeForce RTX 5090 (UUID: GPU-615bc7f0-025b-a1f7-ecb5-03099c82025a)` | 1×RTX 5090 (eval) | 1×RTX 5090 (eval) |
50
 
51
  Throughput ≈ `6 × N × D / wall` TFLOPS (dense transformer train FLOPs rule of thumb).
52
 
 
54
 
55
  | field | value |
56
  |---|---|
57
+ | arch_id | `arch_a4a09054276917cb` |
58
+ | bpb | `3.771073` |
59
+ | submission | `3c73be2d7baf2191cf8ed9f6fb7a955208c5d980b07fdef9299b978617b88255` |
60
+ | owner_hotkey | `fa8cafcc9b3f…` |
61
  | hub repo | `BaseIntelligence/top-prism-architecture` |
62
 
63
  ## Load (trust_remote_code)
architecture.py CHANGED
@@ -1,4 +1,4 @@
1
- # prism-automodel-copy patch_sha256=906c794a58d8bf272738e2aa61b875cebfb77c8e5ac11010f335134adf67ad3b
2
  # --- nemo_automodel/components/models/prism/__init__.py (arch) ---
3
 
4
  # --- nemo_automodel/components/models/prism/prism_entry.py (arch) ---
@@ -87,18 +87,10 @@ ADAM_LR = 0.003
87
  ADAM_BETAS = (0.9, 0.95)
88
  ADAM_WD = 0.0
89
  WARMUP_STEPS = 250
90
- DECAY_FRAC = 0.15 # доля бюджета под затухание, косинус до минимума
91
- #: Было 0.35: затухание начиналось на 65% бюджета, множитель падал до 0.03
92
- #: к середине прогона — последнюю треть модель почти не училась. Замерено
93
- #: парно на одном железе, одинаковые семена, 112.5M / 300M токенов:
94
- #: семя 1: 485625 против 473125 (+12500)
95
- #: семя 2: 488750 против 475625 (+13125)
96
- #: Прибавка идёт из piqa (+5.0) и winogrande (+5.2). Величина ОТНОСИТЕЛЬНАЯ
97
- #: (доля бюджета), поэтому форма расписания переносится на другой масштаб,
98
- #: в отличие от абсолютных величин.
99
  MIN_LR_FRAC = 0.0
100
  DOCSTART_FRAC = 0.5
101
- DATA_SEED = 1234
102
  REPORT_EVERY = 25
103
  STEP_CEILING = 19000 # hard stop below the recipe's 20000
104
  VAL_LO, VAL_HI = 2048, 2304 # frozen val cut, removed from training texts
@@ -201,15 +193,25 @@ class RoPEDecoderLM(nn.Module):
201
  self.head.weight = self.tok_emb.weight # tied
202
  self._cos = None
203
  self._sin = None
 
 
 
 
204
  self.apply(self._init)
205
  for blk in self.layers: # clean residual stream at t=0
206
  nn.init.zeros_(blk.att.wo.weight)
207
  nn.init.zeros_(blk.mlp.w2.weight)
208
 
209
- @staticmethod
210
- def _init(m):
211
- if isinstance(m, (nn.Linear, nn.Embedding)):
 
 
 
212
  nn.init.normal_(m.weight, std=0.02)
 
 
 
213
 
214
  def _rope(self, device, dtype):
215
  if self._cos is None or self._cos.device != device or self._cos.dtype != dtype:
@@ -226,7 +228,10 @@ class RoPEDecoderLM(nn.Module):
226
  cos, sin = self._rope(ids.device, x.dtype)
227
  for blk in self.layers:
228
  x = blk(x, cos, sin)
229
- return self.head(self.norm_f(x))
 
 
 
230
 
231
 
232
  # ------------------------------ tokenizer --------------------------------
 
1
+ # prism-automodel-copy patch_sha256=700ecf920252ddd61ae2e0fbaaf9a2db62fb634235510948d9f2f6756df22f8d
2
  # --- nemo_automodel/components/models/prism/__init__.py (arch) ---
3
 
4
  # --- nemo_automodel/components/models/prism/prism_entry.py (arch) ---
 
87
  ADAM_BETAS = (0.9, 0.95)
88
  ADAM_WD = 0.0
89
  WARMUP_STEPS = 250
90
+ DECAY_FRAC = 0.35 # final share of the wall budget, cosine to min
 
 
 
 
 
 
 
 
91
  MIN_LR_FRAC = 0.0
92
  DOCSTART_FRAC = 0.5
93
+ DATA_SEED = 1303
94
  REPORT_EVERY = 25
95
  STEP_CEILING = 19000 # hard stop below the recipe's 20000
96
  VAL_LO, VAL_HI = 2048, 2304 # frozen val cut, removed from training texts
 
193
  self.head.weight = self.tok_emb.weight # tied
194
  self._cos = None
195
  self._sin = None
196
+ # muP (пункт 1): базовая ширина = D_MODEL, поэтому при боевой
197
+ # конфигурации оба множителя равны 1.0 и рецепт не меняется ни на бит.
198
+ self._mup_mult = math.sqrt(float(D_MODEL) / float(d_model))
199
+ self._mup_out = float(D_MODEL) / float(d_model)
200
  self.apply(self._init)
201
  for blk in self.layers: # clean residual stream at t=0
202
  nn.init.zeros_(blk.att.wo.weight)
203
  nn.init.zeros_(blk.mlp.w2.weight)
204
 
205
+ def _init(self, m):
206
+ # Скрытые веса масштабируем по ширине (muP), входной эмбеддинг и
207
+ # привязанный к нему readout — нет: в muP это "входные" веса.
208
+ # Порядок обхода тот же, что был у apply(staticmethod), число обращений
209
+ # к генератору то же — значит при _mup_mult == 1.0 результат тот же.
210
+ if isinstance(m, nn.Embedding):
211
  nn.init.normal_(m.weight, std=0.02)
212
+ elif isinstance(m, nn.Linear):
213
+ std = 0.02 if m is self.head else 0.02 * self._mup_mult
214
+ nn.init.normal_(m.weight, std=std)
215
 
216
  def _rope(self, device, dtype):
217
  if self._cos is None or self._cos.device != device or self._cos.dtype != dtype:
 
228
  cos, sin = self._rope(ids.device, x.dtype)
229
  for blk in self.layers:
230
  x = blk(x, cos, sin)
231
+ logits = self.head(self.norm_f(x))
232
+ # muP readout: при базовой ширине множитель ровно 1.0 — умножение
233
+ # пропускаем, чтобы боевой путь остался нетронутым и в графе тоже.
234
+ return logits if self._mup_out == 1.0 else logits * self._mup_out
235
 
236
 
237
  # ------------------------------ tokenizer --------------------------------
checkpoint.pt CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:8dafa6667f69044e4b6e68ab4ba01550b7da170d0c4d30e228b761d6836ebc3c
3
  size 826185691
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c872b87c736313b280655d21105b14b2998f65dfb2a5b26a50571954638fd8b7
3
  size 826185691
config.json CHANGED
@@ -8,9 +8,9 @@
8
  "AutoModel": "modeling_prism.PrismCustomModel",
9
  "AutoModelForCausalLM": "modeling_prism.PrismCustomModel"
10
  },
11
- "prism_arch_id": "arch_9be14d2887e68452",
12
- "prism_submission_id": "8fd2d2e091b427b88ddd66a20e0059f53a45d72fc8a7d2a5d7dc5a695b4921eb",
13
- "prism_bpb": 3.7815815533044894,
14
  "torch_dtype": "float32",
15
  "checkpoint_file": "checkpoint.pt"
16
  }
 
8
  "AutoModel": "modeling_prism.PrismCustomModel",
9
  "AutoModelForCausalLM": "modeling_prism.PrismCustomModel"
10
  },
11
+ "prism_arch_id": "arch_a4a09054276917cb",
12
+ "prism_submission_id": "3c73be2d7baf2191cf8ed9f6fb7a955208c5d980b07fdef9299b978617b88255",
13
+ "prism_bpb": 3.771072932322795,
14
  "torch_dtype": "float32",
15
  "checkpoint_file": "checkpoint.pt"
16
  }
sources/.prism/automodel.patch CHANGED
@@ -2,11 +2,11 @@ diff --git a/nemo_automodel/components/models/prism/__init__.py b/nemo_automodel
2
  new file mode 100644
3
  index 0000000..e69de29
4
  diff --git a/nemo_automodel/components/models/prism/prism_entry.py b/nemo_automodel/components/models/prism/prism_entry.py
5
- new file mode 100755
6
- index 0000000..7e52d24
7
  --- /dev/null
8
  +++ b/nemo_automodel/components/models/prism/prism_entry.py
9
- @@ -0,0 +1,693 @@
10
  +"""Prism recipe-2.0 train entry — self-contained, Prism-shaped.
11
  +
12
  +The harness (`prismlib.automodel.invoke_entry`) loads this file by path and,
@@ -92,18 +92,10 @@ index 0000000..7e52d24
92
  +ADAM_BETAS = (0.9, 0.95)
93
  +ADAM_WD = 0.0
94
  +WARMUP_STEPS = 250
95
- +DECAY_FRAC = 0.15 # доля бюджета под затухание, косинус до минимума
96
- +#: Было 0.35: затухание начиналось на 65% бюджета, множитель падал до 0.03
97
- +#: к середине прогона — последнюю треть модель почти не училась. Замерено
98
- +#: парно на одном железе, одинаковые семена, 112.5M / 300M токенов:
99
- +#: семя 1: 485625 против 473125 (+12500)
100
- +#: семя 2: 488750 против 475625 (+13125)
101
- +#: Прибавка идёт из piqa (+5.0) и winogrande (+5.2). Величина ОТНОСИТЕЛЬНАЯ
102
- +#: (доля бюджета), поэтому форма расписания переносится на другой масштаб,
103
- +#: в отличие от абсолютных величин.
104
  +MIN_LR_FRAC = 0.0
105
  +DOCSTART_FRAC = 0.5
106
- +DATA_SEED = 1234
107
  +REPORT_EVERY = 25
108
  +STEP_CEILING = 19000 # hard stop below the recipe's 20000
109
  +VAL_LO, VAL_HI = 2048, 2304 # frozen val cut, removed from training texts
@@ -206,15 +198,25 @@ index 0000000..7e52d24
206
  + self.head.weight = self.tok_emb.weight # tied
207
  + self._cos = None
208
  + self._sin = None
 
 
 
 
209
  + self.apply(self._init)
210
  + for blk in self.layers: # clean residual stream at t=0
211
  + nn.init.zeros_(blk.att.wo.weight)
212
  + nn.init.zeros_(blk.mlp.w2.weight)
213
  +
214
- + @staticmethod
215
- + def _init(m):
216
- + if isinstance(m, (nn.Linear, nn.Embedding)):
 
 
 
217
  + nn.init.normal_(m.weight, std=0.02)
 
 
 
218
  +
219
  + def _rope(self, device, dtype):
220
  + if self._cos is None or self._cos.device != device or self._cos.dtype != dtype:
@@ -231,7 +233,10 @@ index 0000000..7e52d24
231
  + cos, sin = self._rope(ids.device, x.dtype)
232
  + for blk in self.layers:
233
  + x = blk(x, cos, sin)
234
- + return self.head(self.norm_f(x))
 
 
 
235
  +
236
  +
237
  +# ------------------------------ tokenizer --------------------------------
 
2
  new file mode 100644
3
  index 0000000..e69de29
4
  diff --git a/nemo_automodel/components/models/prism/prism_entry.py b/nemo_automodel/components/models/prism/prism_entry.py
5
+ new file mode 100644
6
+ index 0000000..4ebefa0
7
  --- /dev/null
8
  +++ b/nemo_automodel/components/models/prism/prism_entry.py
9
+ @@ -0,0 +1,698 @@
10
  +"""Prism recipe-2.0 train entry — self-contained, Prism-shaped.
11
  +
12
  +The harness (`prismlib.automodel.invoke_entry`) loads this file by path and,
 
92
  +ADAM_BETAS = (0.9, 0.95)
93
  +ADAM_WD = 0.0
94
  +WARMUP_STEPS = 250
95
+ +DECAY_FRAC = 0.35 # final share of the wall budget, cosine to min
 
 
 
 
 
 
 
 
96
  +MIN_LR_FRAC = 0.0
97
  +DOCSTART_FRAC = 0.5
98
+ +DATA_SEED = 1303
99
  +REPORT_EVERY = 25
100
  +STEP_CEILING = 19000 # hard stop below the recipe's 20000
101
  +VAL_LO, VAL_HI = 2048, 2304 # frozen val cut, removed from training texts
 
198
  + self.head.weight = self.tok_emb.weight # tied
199
  + self._cos = None
200
  + self._sin = None
201
+ + # muP (пункт 1): базовая ширина = D_MODEL, поэтому при боевой
202
+ + # конфигурации оба множителя равны 1.0 и рецепт не меняется ни на бит.
203
+ + self._mup_mult = math.sqrt(float(D_MODEL) / float(d_model))
204
+ + self._mup_out = float(D_MODEL) / float(d_model)
205
  + self.apply(self._init)
206
  + for blk in self.layers: # clean residual stream at t=0
207
  + nn.init.zeros_(blk.att.wo.weight)
208
  + nn.init.zeros_(blk.mlp.w2.weight)
209
  +
210
+ + def _init(self, m):
211
+ + # Скрытые веса масштабируем по ширине (muP), входной эмбеддинг и
212
+ + # привязанный к нему readout — нет: в muP это "входные" веса.
213
+ + # Порядок обхода тот же, что был у apply(staticmethod), число обращений
214
+ + # к генератору то же — значит при _mup_mult == 1.0 результат тот же.
215
+ + if isinstance(m, nn.Embedding):
216
  + nn.init.normal_(m.weight, std=0.02)
217
+ + elif isinstance(m, nn.Linear):
218
+ + std = 0.02 if m is self.head else 0.02 * self._mup_mult
219
+ + nn.init.normal_(m.weight, std=std)
220
  +
221
  + def _rope(self, device, dtype):
222
  + if self._cos is None or self._cos.device != device or self._cos.dtype != dtype:
 
233
  + cos, sin = self._rope(ids.device, x.dtype)
234
  + for blk in self.layers:
235
  + x = blk(x, cos, sin)
236
+ + logits = self.head(self.norm_f(x))
237
+ + # muP readout: при базовой ширине множитель ровно 1.0 — умножение
238
+ + # пропускаем, чтобы боевой путь остался нетронутым и в графе тоже.
239
+ + return logits if self._mup_out == 1.0 else logits * self._mup_out
240
  +
241
  +
242
  +# ------------------------------ tokenizer --------------------------------
sources/.prism/diffstat.json CHANGED
@@ -1 +1 @@
1
- {"files":[{"path":"nemo_automodel/components/models/prism/__init__.py","added":0,"deleted":0,"class":"arch"},{"path":"nemo_automodel/components/models/prism/prism_entry.py","added":693,"deleted":0,"class":"arch"},{"path":"nemo_automodel/components/models/prism/tok8k/tokenizer.json","added":1,"deleted":0,"class":"arch"},{"path":"nemo_automodel/components/models/prism/tok8k/tokenizer_config.json","added":9,"deleted":0,"class":"arch"},{"path":"tokenizer/tokenizer.json","added":1,"deleted":0,"class":"other"},{"path":"tokenizer/tokenizer_config.json","added":9,"deleted":0,"class":"other"}],"total_added":713,"total_deleted":0}
 
1
+ {"files":[{"path":"nemo_automodel/components/models/prism/__init__.py","added":0,"deleted":0,"class":"arch"},{"path":"nemo_automodel/components/models/prism/prism_entry.py","added":698,"deleted":0,"class":"arch"},{"path":"nemo_automodel/components/models/prism/tok8k/tokenizer.json","added":1,"deleted":0,"class":"arch"},{"path":"nemo_automodel/components/models/prism/tok8k/tokenizer_config.json","added":9,"deleted":0,"class":"arch"},{"path":"tokenizer/tokenizer.json","added":1,"deleted":0,"class":"other"},{"path":"tokenizer/tokenizer_config.json","added":9,"deleted":0,"class":"other"}],"total_added":718,"total_deleted":0}
sources/nemo_automodel/components/models/prism/prism_entry.py CHANGED
@@ -83,18 +83,10 @@ ADAM_LR = 0.003
83
  ADAM_BETAS = (0.9, 0.95)
84
  ADAM_WD = 0.0
85
  WARMUP_STEPS = 250
86
- DECAY_FRAC = 0.15 # доля бюджета под затухание, косинус до минимума
87
- #: Было 0.35: затухание начиналось на 65% бюджета, множитель падал до 0.03
88
- #: к середине прогона — последнюю треть модель почти не училась. Замерено
89
- #: парно на одном железе, одинаковые семена, 112.5M / 300M токенов:
90
- #: семя 1: 485625 против 473125 (+12500)
91
- #: семя 2: 488750 против 475625 (+13125)
92
- #: Прибавка идёт из piqa (+5.0) и winogrande (+5.2). Величина ОТНОСИТЕЛЬНАЯ
93
- #: (доля бюджета), поэтому форма расписания переносится на другой масштаб,
94
- #: в отличие от абсолютных величин.
95
  MIN_LR_FRAC = 0.0
96
  DOCSTART_FRAC = 0.5
97
- DATA_SEED = 1234
98
  REPORT_EVERY = 25
99
  STEP_CEILING = 19000 # hard stop below the recipe's 20000
100
  VAL_LO, VAL_HI = 2048, 2304 # frozen val cut, removed from training texts
@@ -197,15 +189,25 @@ class RoPEDecoderLM(nn.Module):
197
  self.head.weight = self.tok_emb.weight # tied
198
  self._cos = None
199
  self._sin = None
 
 
 
 
200
  self.apply(self._init)
201
  for blk in self.layers: # clean residual stream at t=0
202
  nn.init.zeros_(blk.att.wo.weight)
203
  nn.init.zeros_(blk.mlp.w2.weight)
204
 
205
- @staticmethod
206
- def _init(m):
207
- if isinstance(m, (nn.Linear, nn.Embedding)):
 
 
 
208
  nn.init.normal_(m.weight, std=0.02)
 
 
 
209
 
210
  def _rope(self, device, dtype):
211
  if self._cos is None or self._cos.device != device or self._cos.dtype != dtype:
@@ -222,7 +224,10 @@ class RoPEDecoderLM(nn.Module):
222
  cos, sin = self._rope(ids.device, x.dtype)
223
  for blk in self.layers:
224
  x = blk(x, cos, sin)
225
- return self.head(self.norm_f(x))
 
 
 
226
 
227
 
228
  # ------------------------------ tokenizer --------------------------------
 
83
  ADAM_BETAS = (0.9, 0.95)
84
  ADAM_WD = 0.0
85
  WARMUP_STEPS = 250
86
+ DECAY_FRAC = 0.35 # final share of the wall budget, cosine to min
 
 
 
 
 
 
 
 
87
  MIN_LR_FRAC = 0.0
88
  DOCSTART_FRAC = 0.5
89
+ DATA_SEED = 1303
90
  REPORT_EVERY = 25
91
  STEP_CEILING = 19000 # hard stop below the recipe's 20000
92
  VAL_LO, VAL_HI = 2048, 2304 # frozen val cut, removed from training texts
 
189
  self.head.weight = self.tok_emb.weight # tied
190
  self._cos = None
191
  self._sin = None
192
+ # muP (пункт 1): базовая ширина = D_MODEL, поэтому при боевой
193
+ # конфигурации оба множителя равны 1.0 и рецепт не меняется ни на бит.
194
+ self._mup_mult = math.sqrt(float(D_MODEL) / float(d_model))
195
+ self._mup_out = float(D_MODEL) / float(d_model)
196
  self.apply(self._init)
197
  for blk in self.layers: # clean residual stream at t=0
198
  nn.init.zeros_(blk.att.wo.weight)
199
  nn.init.zeros_(blk.mlp.w2.weight)
200
 
201
+ def _init(self, m):
202
+ # Скрытые веса масштабируем по ширине (muP), входной эмбеддинг и
203
+ # привязанный к нему readout — нет: в muP это "входные" веса.
204
+ # Порядок обхода тот же, что был у apply(staticmethod), число обращений
205
+ # к генератору то же — значит при _mup_mult == 1.0 результат тот же.
206
+ if isinstance(m, nn.Embedding):
207
  nn.init.normal_(m.weight, std=0.02)
208
+ elif isinstance(m, nn.Linear):
209
+ std = 0.02 if m is self.head else 0.02 * self._mup_mult
210
+ nn.init.normal_(m.weight, std=std)
211
 
212
  def _rope(self, device, dtype):
213
  if self._cos is None or self._cos.device != device or self._cos.dtype != dtype:
 
224
  cos, sin = self._rope(ids.device, x.dtype)
225
  for blk in self.layers:
226
  x = blk(x, cos, sin)
227
+ logits = self.head(self.norm_f(x))
228
+ # muP readout: при базовой ширине множитель ровно 1.0 — умножение
229
+ # пропускаем, чтобы боевой путь остался нетронутым и в графе тоже.
230
+ return logits if self._mup_out == 1.0 else logits * self._mup_out
231
 
232
 
233
  # ------------------------------ tokenizer --------------------------------