hematteo commited on
Commit
9b4e00a
·
verified ·
1 Parent(s): 7e1f5f4

Add Qwen3.5-2B seed-variation replicates (basis-stability appendix) with config/metrics sidecars; update manifest and README

Browse files
README.md CHANGED
@@ -123,6 +123,30 @@ paper's default. Decomposing against a different preprocessing breaks the
123
  identity. See the GitHub README quickstart for the full decomposition
124
  snippet.
125
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
126
  ## Intended use & limitations
127
 
128
  Research artifact for mechanistic interpretability of the **final readout**.
 
123
  identity. See the GitHub README quickstart for the full decomposition
124
  snippet.
125
 
126
+ ## Seed-variation replicates (basis-stability appendix)
127
+
128
+ Six extra Qwen3.5-2B dictionaries, three independently seeded runs per
129
+ width, used end to end by the paper's basis-stability appendix (cross-seed
130
+ stability of contrast explanations, feature-group matching, leave-one-out
131
+ core recovery). They were trained under the seed-variation preprocessing
132
+ recipe, which the paper notes differs from the recipe behind the released
133
+ `qwen3.5-2b/k128_16x` and `k256_32x` dictionaries above, so seed 0 here is
134
+ not the released checkpoint and the appendix never mixes the two families.
135
+ Each directory also carries the run's `config.yaml` and `metrics.json`.
136
+ Same layout and loader as the main checkpoints.
137
+
138
+ | Path | seed | width | d_features | k | rowEV | top-1 | KL (bits) |
139
+ |---|---:|---|---:|---:|---:|---:|---:|
140
+ | `qwen3.5-2b/k128_16x_seedvar_s0` | 0 | 16x | 32768 | 128 | 0.744 | 0.805 | 0.286 |
141
+ | `qwen3.5-2b/k128_16x_seedvar_s1` | 1 | 16x | 32768 | 128 | 0.745 | 0.805 | 0.291 |
142
+ | `qwen3.5-2b/k128_16x_seedvar_s2` | 2 | 16x | 32768 | 128 | 0.744 | 0.816 | 0.293 |
143
+ | `qwen3.5-2b/k256_32x_seedvar_s0` | 0 | 32x | 65536 | 256 | 0.824 | 0.807 | 0.202 |
144
+ | `qwen3.5-2b/k256_32x_seedvar_s1` | 1 | 32x | 65536 | 256 | 0.823 | 0.822 | 0.222 |
145
+ | `qwen3.5-2b/k256_32x_seedvar_s2` | 2 | 32x | 65536 | 256 | 0.826 | 0.848 | 0.194 |
146
+
147
+ `rowEV`, `top-1` and `KL` are the held-out training-time eval stored in each
148
+ `metrics.json` (`row_centered_ev`, `val_top1_match`, `val_logit_kl_bits_mean`).
149
+
150
  ## Intended use & limitations
151
 
152
  Research artifact for mechanistic interpretability of the **final readout**.
manifest.json CHANGED
@@ -319,5 +319,154 @@
319
  "layout": "flat",
320
  "metrics_source": "checkpoint['metrics'] (held-out eval); paper Appendix E"
321
  }
322
- ]
323
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
319
  "layout": "flat",
320
  "metrics_source": "checkpoint['metrics'] (held-out eval); paper Appendix E"
321
  }
322
+ ],
323
+ "replicates": {
324
+ "note": "Seed-variation family used end to end by the paper's basis-stability appendix (cross-seed stability, feature-group matching, leave-one-out core recovery). Three independently seeded dictionaries per width, trained on Qwen3.5-2B under the seed-variation preprocessing recipe. The paper says this recipe differs from the one behind the released qwen3.5-2b/k128_16x and k256_32x dictionaries, so seed 0 here is NOT the released checkpoint; no table in that appendix mixes the two families.",
325
+ "checkpoints": [
326
+ {
327
+ "id": "qwen2b_k128_16x_seedvar_s0",
328
+ "path": "qwen3.5-2b/k128_16x_seedvar_s0/checkpoint.pt",
329
+ "model": "Qwen3.5-2B",
330
+ "base_model": "Qwen/Qwen3.5-2B",
331
+ "family": "seed_variation",
332
+ "seed": 0,
333
+ "width": "16x",
334
+ "d_features": 32768,
335
+ "d_model": 2048,
336
+ "k": 128,
337
+ "rowEV": 0.744,
338
+ "top1": 0.805,
339
+ "KL_bits": 0.286,
340
+ "steps": 15000,
341
+ "size_bytes": 539994553,
342
+ "sha256": "cd5462a450f2696c8353a3b03e2b222ee57f8e0c912473b8850f71a6eada99ed",
343
+ "layout": "config",
344
+ "metrics_source": "metrics.json alongside the checkpoint (held-out eval at training time)",
345
+ "sidecars": [
346
+ "qwen3.5-2b/k128_16x_seedvar_s0/config.yaml",
347
+ "qwen3.5-2b/k128_16x_seedvar_s0/metrics.json"
348
+ ]
349
+ },
350
+ {
351
+ "id": "qwen2b_k128_16x_seedvar_s1",
352
+ "path": "qwen3.5-2b/k128_16x_seedvar_s1/checkpoint.pt",
353
+ "model": "Qwen3.5-2B",
354
+ "base_model": "Qwen/Qwen3.5-2B",
355
+ "family": "seed_variation",
356
+ "seed": 1,
357
+ "width": "16x",
358
+ "d_features": 32768,
359
+ "d_model": 2048,
360
+ "k": 128,
361
+ "rowEV": 0.745,
362
+ "top1": 0.805,
363
+ "KL_bits": 0.291,
364
+ "steps": 20000,
365
+ "size_bytes": 539994553,
366
+ "sha256": "450c99237a3252084f43d12c6eda1f41a4eaf56ac2391ccbd9d8c9c34d95b584",
367
+ "layout": "config",
368
+ "metrics_source": "metrics.json alongside the checkpoint (held-out eval at training time)",
369
+ "sidecars": [
370
+ "qwen3.5-2b/k128_16x_seedvar_s1/config.yaml",
371
+ "qwen3.5-2b/k128_16x_seedvar_s1/metrics.json"
372
+ ]
373
+ },
374
+ {
375
+ "id": "qwen2b_k128_16x_seedvar_s2",
376
+ "path": "qwen3.5-2b/k128_16x_seedvar_s2/checkpoint.pt",
377
+ "model": "Qwen3.5-2B",
378
+ "base_model": "Qwen/Qwen3.5-2B",
379
+ "family": "seed_variation",
380
+ "seed": 2,
381
+ "width": "16x",
382
+ "d_features": 32768,
383
+ "d_model": 2048,
384
+ "k": 128,
385
+ "rowEV": 0.744,
386
+ "top1": 0.816,
387
+ "KL_bits": 0.293,
388
+ "steps": 20000,
389
+ "size_bytes": 539994553,
390
+ "sha256": "485432a34dd5b9a135487d5358cedd319197489dc1d493bcf801ce0e55ec80aa",
391
+ "layout": "config",
392
+ "metrics_source": "metrics.json alongside the checkpoint (held-out eval at training time)",
393
+ "sidecars": [
394
+ "qwen3.5-2b/k128_16x_seedvar_s2/config.yaml",
395
+ "qwen3.5-2b/k128_16x_seedvar_s2/metrics.json"
396
+ ]
397
+ },
398
+ {
399
+ "id": "qwen2b_k256_32x_seedvar_s0",
400
+ "path": "qwen3.5-2b/k256_32x_seedvar_s0/checkpoint.pt",
401
+ "model": "Qwen3.5-2B",
402
+ "base_model": "Qwen/Qwen3.5-2B",
403
+ "family": "seed_variation",
404
+ "seed": 0,
405
+ "width": "32x",
406
+ "d_features": 65536,
407
+ "d_model": 2048,
408
+ "k": 256,
409
+ "rowEV": 0.824,
410
+ "top1": 0.807,
411
+ "KL_bits": 0.202,
412
+ "steps": 17500,
413
+ "size_bytes": 1076996537,
414
+ "sha256": "81cad1148e0ed0d9065691b5fec2dc033f51a5374f8b23d0c1c01be830d653e7",
415
+ "layout": "config",
416
+ "metrics_source": "metrics.json alongside the checkpoint (held-out eval at training time)",
417
+ "sidecars": [
418
+ "qwen3.5-2b/k256_32x_seedvar_s0/config.yaml",
419
+ "qwen3.5-2b/k256_32x_seedvar_s0/metrics.json"
420
+ ]
421
+ },
422
+ {
423
+ "id": "qwen2b_k256_32x_seedvar_s1",
424
+ "path": "qwen3.5-2b/k256_32x_seedvar_s1/checkpoint.pt",
425
+ "model": "Qwen3.5-2B",
426
+ "base_model": "Qwen/Qwen3.5-2B",
427
+ "family": "seed_variation",
428
+ "seed": 1,
429
+ "width": "32x",
430
+ "d_features": 65536,
431
+ "d_model": 2048,
432
+ "k": 256,
433
+ "rowEV": 0.823,
434
+ "top1": 0.822,
435
+ "KL_bits": 0.222,
436
+ "steps": 17500,
437
+ "size_bytes": 1076996537,
438
+ "sha256": "f0ce4816b260a25e23834472ae76b3c4a01b1bcb18a681a21f16349aa6cd9acf",
439
+ "layout": "config",
440
+ "metrics_source": "metrics.json alongside the checkpoint (held-out eval at training time)",
441
+ "sidecars": [
442
+ "qwen3.5-2b/k256_32x_seedvar_s1/config.yaml",
443
+ "qwen3.5-2b/k256_32x_seedvar_s1/metrics.json"
444
+ ]
445
+ },
446
+ {
447
+ "id": "qwen2b_k256_32x_seedvar_s2",
448
+ "path": "qwen3.5-2b/k256_32x_seedvar_s2/checkpoint.pt",
449
+ "model": "Qwen3.5-2B",
450
+ "base_model": "Qwen/Qwen3.5-2B",
451
+ "family": "seed_variation",
452
+ "seed": 2,
453
+ "width": "32x",
454
+ "d_features": 65536,
455
+ "d_model": 2048,
456
+ "k": 256,
457
+ "rowEV": 0.826,
458
+ "top1": 0.848,
459
+ "KL_bits": 0.194,
460
+ "steps": 17500,
461
+ "size_bytes": 1076996537,
462
+ "sha256": "c30f537c387c66f5a92fa5321aef38278d69ede42b9f78254e288160735d7a57",
463
+ "layout": "config",
464
+ "metrics_source": "metrics.json alongside the checkpoint (held-out eval at training time)",
465
+ "sidecars": [
466
+ "qwen3.5-2b/k256_32x_seedvar_s2/config.yaml",
467
+ "qwen3.5-2b/k256_32x_seedvar_s2/metrics.json"
468
+ ]
469
+ }
470
+ ]
471
+ }
472
+ }
qwen3.5-2b/k128_16x_seedvar_s0/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cd5462a450f2696c8353a3b03e2b222ee57f8e0c912473b8850f71a6eada99ed
3
+ size 539994553
qwen3.5-2b/k128_16x_seedvar_s0/config.yaml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ run:
2
+ name: qwen2b_d32768_k128_s0
3
+ seed: 0
4
+ init_seed: 0
5
+ output_dir: results/exp5_seedvar/qwen2b_d32768_k128_s0
6
+ device: auto
7
+ data:
8
+ data_seed: 0
9
+ fallback: error
10
+ max_hidden: 2048
11
+ max_rows: null
12
+ path: /nfs-share/mh2274/readout_prism_workspace/data/qwen35-2b/qwen35_2b.pt
13
+ row_preprocessing: center_normalize
14
+ val_hidden: 512
15
+ factorizer:
16
+ architecture: topk
17
+ d_features: 32768
18
+ encoder_init_scale: 0.02
19
+ k: 128
20
+ training:
21
+ auxk_alpha: 0.0
22
+ auxk_dead_window: 1000000
23
+ auxk_k: 1024
24
+ batch_size: 4096
25
+ code_l2: 1.0e-06
26
+ final_lr_frac: 0.1
27
+ init_mode: row_seeded
28
+ l0_coeff: 0.0
29
+ l0_controller:
30
+ coeff_init: 0.0
31
+ coeff_max: 0.01
32
+ coeff_min: 1.0e-08
33
+ control_period: 10
34
+ ema: 0.9
35
+ enabled: false
36
+ err_clip: 0.3
37
+ kp: 0.2
38
+ target_l0: 0
39
+ warmup_steps: 200
40
+ lambda_mode: delayed_ramp
41
+ lambda_prism: 0.001
42
+ lambda_ramp_shape: linear
43
+ lambda_ramp_start_frac: 0.7
44
+ lr: 0.001
45
+ lr_schedule: warmup_cosine
46
+ prism_top_n: 1
47
+ row_sampling: hybrid_50freq_50uniform
48
+ steps: 20000
49
+ warmup_steps: 1000
50
+ weight_decay: 0.0001
51
+ evaluation:
52
+ k: 128
53
+ max_eval_rows: 20000
54
+ max_eval_hidden: 1024
55
+ topk_overlap: 5
56
+ contribution_top_k: 8
57
+ artifacts:
58
+ save_checkpoint: true
59
+ make_figures: false
60
+ autoresearch:
61
+ score_thresholds:
62
+ max_dead_feature_rate: 0.5
63
+ max_val_logit_kl_bits_mean: 20.0
qwen3.5-2b/k128_16x_seedvar_s0/metrics.json ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "always_on_feature_rate": 3.0517578125e-05,
3
+ "architecture": "topk",
4
+ "d_features": 32768,
5
+ "data_seed": 0,
6
+ "data_source": "/nfs-share/mh2274/readout_prism_workspace/data/qwen35-2b/qwen35_2b.pt",
7
+ "dead_feature_rate": 0.22991943359375,
8
+ "device": "cuda",
9
+ "duplicate_decoder_frac": 0.0,
10
+ "eval_hidden": 512,
11
+ "eval_rows": 20000,
12
+ "feature_usage_entropy": 0.8923149172784841,
13
+ "finite_metrics": true,
14
+ "identity_abs_error_max": 1.52587890625e-05,
15
+ "identity_abs_error_mean": 2.9578804969787598e-06,
16
+ "init_seed": 0,
17
+ "k": 128,
18
+ "l0_controller_enabled": false,
19
+ "l0_controller_final_coeff": null,
20
+ "l0_controller_target": null,
21
+ "l0_p10": 128.0,
22
+ "l0_p50": 128.0,
23
+ "l0_p90": 128.0,
24
+ "mean_l0": 127.92695,
25
+ "mean_l0_train": 127.33492410909403,
26
+ "rare_feature_rate": 0.436737060546875,
27
+ "row_centered_cosine": 0.8603649139404297,
28
+ "row_centered_ev": 0.7441627979278564,
29
+ "selection_score": 3.0189160955919947,
30
+ "top1_logit_residual_abs_mean": 0.6984108686447144,
31
+ "top1_logit_residual_frac_mean": 0.03981868550181389,
32
+ "top8_abs_contrib_coverage_mean": 0.8226097822189331,
33
+ "top8_positive_contrib_coverage_mean": 0.8565649390220642,
34
+ "train_seconds": 5655.247106075287,
35
+ "used_fallback_data": false,
36
+ "val_logit_kl_bits_mean": 0.2864432103961134,
37
+ "val_top1_match": 0.8046875,
38
+ "val_top5_overlap": 0.7937500000000036
39
+ }
qwen3.5-2b/k128_16x_seedvar_s1/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:450c99237a3252084f43d12c6eda1f41a4eaf56ac2391ccbd9d8c9c34d95b584
3
+ size 539994553
qwen3.5-2b/k128_16x_seedvar_s1/config.yaml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ run:
2
+ name: qwen2b_d32768_k128_s1
3
+ seed: 1
4
+ init_seed: 1
5
+ output_dir: results/exp5_seedvar/qwen2b_d32768_k128_s1
6
+ device: auto
7
+ data:
8
+ data_seed: 1
9
+ fallback: error
10
+ max_hidden: 2048
11
+ max_rows: null
12
+ path: /nfs-share/mh2274/readout_prism_workspace/data/qwen35-2b/qwen35_2b.pt
13
+ row_preprocessing: center_normalize
14
+ val_hidden: 512
15
+ factorizer:
16
+ architecture: topk
17
+ d_features: 32768
18
+ encoder_init_scale: 0.02
19
+ k: 128
20
+ training:
21
+ auxk_alpha: 0.0
22
+ auxk_dead_window: 1000000
23
+ auxk_k: 1024
24
+ batch_size: 4096
25
+ code_l2: 1.0e-06
26
+ final_lr_frac: 0.1
27
+ init_mode: row_seeded
28
+ l0_coeff: 0.0
29
+ l0_controller:
30
+ coeff_init: 0.0
31
+ coeff_max: 0.01
32
+ coeff_min: 1.0e-08
33
+ control_period: 10
34
+ ema: 0.9
35
+ enabled: false
36
+ err_clip: 0.3
37
+ kp: 0.2
38
+ target_l0: 0
39
+ warmup_steps: 200
40
+ lambda_mode: delayed_ramp
41
+ lambda_prism: 0.001
42
+ lambda_ramp_shape: linear
43
+ lambda_ramp_start_frac: 0.7
44
+ lr: 0.001
45
+ lr_schedule: warmup_cosine
46
+ prism_top_n: 1
47
+ row_sampling: hybrid_50freq_50uniform
48
+ steps: 20000
49
+ warmup_steps: 1000
50
+ weight_decay: 0.0001
51
+ evaluation:
52
+ k: 128
53
+ max_eval_rows: 20000
54
+ max_eval_hidden: 1024
55
+ topk_overlap: 5
56
+ contribution_top_k: 8
57
+ artifacts:
58
+ save_checkpoint: true
59
+ make_figures: false
60
+ autoresearch:
61
+ score_thresholds:
62
+ max_dead_feature_rate: 0.5
63
+ max_val_logit_kl_bits_mean: 20.0
qwen3.5-2b/k128_16x_seedvar_s1/metrics.json ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "always_on_feature_rate": 3.0517578125e-05,
3
+ "architecture": "topk",
4
+ "d_features": 32768,
5
+ "data_seed": 1,
6
+ "data_source": "/nfs-share/mh2274/readout_prism_workspace/data/qwen35-2b/qwen35_2b.pt",
7
+ "dead_feature_rate": 0.226043701171875,
8
+ "device": "cuda",
9
+ "duplicate_decoder_frac": 0.0,
10
+ "eval_hidden": 512,
11
+ "eval_rows": 20000,
12
+ "feature_usage_entropy": 0.8926494129565465,
13
+ "finite_metrics": true,
14
+ "identity_abs_error_max": 1.52587890625e-05,
15
+ "identity_abs_error_mean": 3.0249357223510742e-06,
16
+ "init_seed": 1,
17
+ "k": 128,
18
+ "l0_controller_enabled": false,
19
+ "l0_controller_final_coeff": null,
20
+ "l0_controller_target": null,
21
+ "l0_p10": 128.0,
22
+ "l0_p50": 128.0,
23
+ "l0_p90": 128.0,
24
+ "mean_l0": 127.9174,
25
+ "mean_l0_train": 127.28619622564935,
26
+ "rare_feature_rate": 0.43365478515625,
27
+ "row_centered_cosine": 0.8606857657432556,
28
+ "row_centered_ev": 0.7446612417697906,
29
+ "selection_score": 3.0473394159174134,
30
+ "top1_logit_residual_abs_mean": 0.5831794738769531,
31
+ "top1_logit_residual_frac_mean": 0.0326199010014534,
32
+ "top8_abs_contrib_coverage_mean": 0.8390382528305054,
33
+ "top8_positive_contrib_coverage_mean": 0.870077908039093,
34
+ "train_seconds": 5669.302875995636,
35
+ "used_fallback_data": false,
36
+ "val_logit_kl_bits_mean": 0.2912036256785019,
37
+ "val_top1_match": 0.8046875,
38
+ "val_top5_overlap": 0.8078125000000034
39
+ }
qwen3.5-2b/k128_16x_seedvar_s2/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:485432a34dd5b9a135487d5358cedd319197489dc1d493bcf801ce0e55ec80aa
3
+ size 539994553
qwen3.5-2b/k128_16x_seedvar_s2/config.yaml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ run:
2
+ name: qwen2b_d32768_k128_s2
3
+ seed: 2
4
+ init_seed: 2
5
+ output_dir: results/exp5_seedvar/qwen2b_d32768_k128_s2
6
+ device: auto
7
+ data:
8
+ data_seed: 2
9
+ fallback: error
10
+ max_hidden: 2048
11
+ max_rows: null
12
+ path: /nfs-share/mh2274/readout_prism_workspace/data/qwen35-2b/qwen35_2b.pt
13
+ row_preprocessing: center_normalize
14
+ val_hidden: 512
15
+ factorizer:
16
+ architecture: topk
17
+ d_features: 32768
18
+ encoder_init_scale: 0.02
19
+ k: 128
20
+ training:
21
+ auxk_alpha: 0.0
22
+ auxk_dead_window: 1000000
23
+ auxk_k: 1024
24
+ batch_size: 4096
25
+ code_l2: 1.0e-06
26
+ final_lr_frac: 0.1
27
+ init_mode: row_seeded
28
+ l0_coeff: 0.0
29
+ l0_controller:
30
+ coeff_init: 0.0
31
+ coeff_max: 0.01
32
+ coeff_min: 1.0e-08
33
+ control_period: 10
34
+ ema: 0.9
35
+ enabled: false
36
+ err_clip: 0.3
37
+ kp: 0.2
38
+ target_l0: 0
39
+ warmup_steps: 200
40
+ lambda_mode: delayed_ramp
41
+ lambda_prism: 0.001
42
+ lambda_ramp_shape: linear
43
+ lambda_ramp_start_frac: 0.7
44
+ lr: 0.001
45
+ lr_schedule: warmup_cosine
46
+ prism_top_n: 1
47
+ row_sampling: hybrid_50freq_50uniform
48
+ steps: 20000
49
+ warmup_steps: 1000
50
+ weight_decay: 0.0001
51
+ evaluation:
52
+ k: 128
53
+ max_eval_rows: 20000
54
+ max_eval_hidden: 1024
55
+ topk_overlap: 5
56
+ contribution_top_k: 8
57
+ artifacts:
58
+ save_checkpoint: true
59
+ make_figures: false
60
+ autoresearch:
61
+ score_thresholds:
62
+ max_dead_feature_rate: 0.5
63
+ max_val_logit_kl_bits_mean: 20.0
qwen3.5-2b/k128_16x_seedvar_s2/metrics.json ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "always_on_feature_rate": 3.0517578125e-05,
3
+ "architecture": "topk",
4
+ "d_features": 32768,
5
+ "data_seed": 2,
6
+ "data_source": "/nfs-share/mh2274/readout_prism_workspace/data/qwen35-2b/qwen35_2b.pt",
7
+ "dead_feature_rate": 0.223114013671875,
8
+ "device": "cuda",
9
+ "duplicate_decoder_frac": 0.0,
10
+ "eval_hidden": 512,
11
+ "eval_rows": 20000,
12
+ "feature_usage_entropy": 0.892924625597383,
13
+ "finite_metrics": true,
14
+ "identity_abs_error_max": 1.71661376953125e-05,
15
+ "identity_abs_error_mean": 2.911314368247986e-06,
16
+ "init_seed": 2,
17
+ "k": 128,
18
+ "l0_controller_enabled": false,
19
+ "l0_controller_final_coeff": null,
20
+ "l0_controller_target": null,
21
+ "l0_p10": 128.0,
22
+ "l0_p50": 128.0,
23
+ "l0_p90": 128.0,
24
+ "mean_l0": 127.92345,
25
+ "mean_l0_train": 127.30729865837287,
26
+ "rare_feature_rate": 0.4349365234375,
27
+ "row_centered_cosine": 0.8605742454528809,
28
+ "row_centered_ev": 0.7444726824760437,
29
+ "selection_score": 3.038355168867404,
30
+ "top1_logit_residual_abs_mean": 0.6107032299041748,
31
+ "top1_logit_residual_frac_mean": 0.03449808061122894,
32
+ "top8_abs_contrib_coverage_mean": 0.8264878988265991,
33
+ "top8_positive_contrib_coverage_mean": 0.8593701720237732,
34
+ "train_seconds": 5417.30718421936,
35
+ "used_fallback_data": false,
36
+ "val_logit_kl_bits_mean": 0.292914444595791,
37
+ "val_top1_match": 0.81640625,
38
+ "val_top5_overlap": 0.8062500000000037
39
+ }
qwen3.5-2b/k256_32x_seedvar_s0/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:81cad1148e0ed0d9065691b5fec2dc033f51a5374f8b23d0c1c01be830d653e7
3
+ size 1076996537
qwen3.5-2b/k256_32x_seedvar_s0/config.yaml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ run:
2
+ name: qwen2b_d65536_k256_s0
3
+ seed: 0
4
+ init_seed: 0
5
+ output_dir: results/exp5_seedvar/qwen2b_d65536_k256_s0
6
+ device: auto
7
+ data:
8
+ data_seed: 0
9
+ fallback: error
10
+ max_hidden: 2048
11
+ max_rows: null
12
+ path: /nfs-share/mh2274/readout_prism_workspace/data/qwen35-2b/qwen35_2b.pt
13
+ row_preprocessing: center_normalize
14
+ val_hidden: 512
15
+ factorizer:
16
+ architecture: topk
17
+ d_features: 65536
18
+ encoder_init_scale: 0.02
19
+ k: 256
20
+ training:
21
+ auxk_alpha: 0.0
22
+ auxk_dead_window: 1000000
23
+ auxk_k: 1024
24
+ batch_size: 4096
25
+ code_l2: 1.0e-06
26
+ final_lr_frac: 0.1
27
+ init_mode: row_seeded
28
+ l0_coeff: 0.0
29
+ l0_controller:
30
+ coeff_init: 0.0
31
+ coeff_max: 0.01
32
+ coeff_min: 1.0e-08
33
+ control_period: 10
34
+ ema: 0.9
35
+ enabled: false
36
+ err_clip: 0.3
37
+ kp: 0.2
38
+ target_l0: 0
39
+ warmup_steps: 200
40
+ lambda_mode: delayed_ramp
41
+ lambda_prism: 0.001
42
+ lambda_ramp_shape: linear
43
+ lambda_ramp_start_frac: 0.7
44
+ lr: 0.001
45
+ lr_schedule: warmup_cosine
46
+ prism_top_n: 1
47
+ row_sampling: hybrid_50freq_50uniform
48
+ steps: 20000
49
+ warmup_steps: 1000
50
+ weight_decay: 0.0001
51
+ evaluation:
52
+ k: 256
53
+ max_eval_rows: 20000
54
+ max_eval_hidden: 1024
55
+ topk_overlap: 5
56
+ contribution_top_k: 8
57
+ artifacts:
58
+ save_checkpoint: true
59
+ make_figures: false
60
+ autoresearch:
61
+ score_thresholds:
62
+ max_dead_feature_rate: 0.5
63
+ max_val_logit_kl_bits_mean: 20.0
qwen3.5-2b/k256_32x_seedvar_s0/metrics.json ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "always_on_feature_rate": 6.103515625e-05,
3
+ "architecture": "topk",
4
+ "d_features": 65536,
5
+ "data_seed": 0,
6
+ "data_source": "/nfs-share/mh2274/readout_prism_workspace/data/qwen35-2b/qwen35_2b.pt",
7
+ "dead_feature_rate": 0.100799560546875,
8
+ "device": "cuda",
9
+ "duplicate_decoder_frac": 0.0,
10
+ "eval_hidden": 512,
11
+ "eval_rows": 20000,
12
+ "feature_usage_entropy": 0.8841440074929942,
13
+ "finite_metrics": true,
14
+ "identity_abs_error_max": 3.24249267578125e-05,
15
+ "identity_abs_error_mean": 5.0943344831466675e-06,
16
+ "init_seed": 0,
17
+ "k": 256,
18
+ "l0_controller_enabled": false,
19
+ "l0_controller_final_coeff": null,
20
+ "l0_controller_target": null,
21
+ "l0_p10": 256.0,
22
+ "l0_p50": 256.0,
23
+ "l0_p90": 256.0,
24
+ "mean_l0": 255.812,
25
+ "mean_l0_train": 254.47453352311751,
26
+ "rare_feature_rate": 0.44915771484375,
27
+ "row_centered_cosine": 0.9070281982421875,
28
+ "row_centered_ev": 0.823739543557167,
29
+ "selection_score": 3.114999217420358,
30
+ "top1_logit_residual_abs_mean": 0.5085803866386414,
31
+ "top1_logit_residual_frac_mean": 0.028850413858890533,
32
+ "top8_abs_contrib_coverage_mean": 0.7325428128242493,
33
+ "top8_positive_contrib_coverage_mean": 0.7803902626037598,
34
+ "train_seconds": 10821.384970664978,
35
+ "used_fallback_data": false,
36
+ "val_logit_kl_bits_mean": 0.20181342861592724,
37
+ "val_top1_match": 0.806640625,
38
+ "val_top5_overlap": 0.8230468750000036
39
+ }
qwen3.5-2b/k256_32x_seedvar_s1/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f0ce4816b260a25e23834472ae76b3c4a01b1bcb18a681a21f16349aa6cd9acf
3
+ size 1076996537
qwen3.5-2b/k256_32x_seedvar_s1/config.yaml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ run:
2
+ name: qwen2b_d65536_k256_s1
3
+ seed: 1
4
+ init_seed: 1
5
+ output_dir: results/exp5_seedvar/qwen2b_d65536_k256_s1
6
+ device: auto
7
+ data:
8
+ data_seed: 1
9
+ fallback: error
10
+ max_hidden: 2048
11
+ max_rows: null
12
+ path: /nfs-share/mh2274/readout_prism_workspace/data/qwen35-2b/qwen35_2b.pt
13
+ row_preprocessing: center_normalize
14
+ val_hidden: 512
15
+ factorizer:
16
+ architecture: topk
17
+ d_features: 65536
18
+ encoder_init_scale: 0.02
19
+ k: 256
20
+ training:
21
+ auxk_alpha: 0.0
22
+ auxk_dead_window: 1000000
23
+ auxk_k: 1024
24
+ batch_size: 4096
25
+ code_l2: 1.0e-06
26
+ final_lr_frac: 0.1
27
+ init_mode: row_seeded
28
+ l0_coeff: 0.0
29
+ l0_controller:
30
+ coeff_init: 0.0
31
+ coeff_max: 0.01
32
+ coeff_min: 1.0e-08
33
+ control_period: 10
34
+ ema: 0.9
35
+ enabled: false
36
+ err_clip: 0.3
37
+ kp: 0.2
38
+ target_l0: 0
39
+ warmup_steps: 200
40
+ lambda_mode: delayed_ramp
41
+ lambda_prism: 0.001
42
+ lambda_ramp_shape: linear
43
+ lambda_ramp_start_frac: 0.7
44
+ lr: 0.001
45
+ lr_schedule: warmup_cosine
46
+ prism_top_n: 1
47
+ row_sampling: hybrid_50freq_50uniform
48
+ steps: 20000
49
+ warmup_steps: 1000
50
+ weight_decay: 0.0001
51
+ evaluation:
52
+ k: 256
53
+ max_eval_rows: 20000
54
+ max_eval_hidden: 1024
55
+ topk_overlap: 5
56
+ contribution_top_k: 8
57
+ artifacts:
58
+ save_checkpoint: true
59
+ make_figures: false
60
+ autoresearch:
61
+ score_thresholds:
62
+ max_dead_feature_rate: 0.5
63
+ max_val_logit_kl_bits_mean: 20.0
qwen3.5-2b/k256_32x_seedvar_s1/metrics.json ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "always_on_feature_rate": 4.57763671875e-05,
3
+ "architecture": "topk",
4
+ "d_features": 65536,
5
+ "data_seed": 1,
6
+ "data_source": "/nfs-share/mh2274/readout_prism_workspace/data/qwen35-2b/qwen35_2b.pt",
7
+ "dead_feature_rate": 0.1090087890625,
8
+ "device": "cuda",
9
+ "duplicate_decoder_frac": 0.0,
10
+ "eval_hidden": 512,
11
+ "eval_rows": 20000,
12
+ "feature_usage_entropy": 0.8831385530801812,
13
+ "finite_metrics": true,
14
+ "identity_abs_error_max": 3.62396240234375e-05,
15
+ "identity_abs_error_mean": 5.282461643218994e-06,
16
+ "init_seed": 1,
17
+ "k": 256,
18
+ "l0_controller_enabled": false,
19
+ "l0_controller_final_coeff": null,
20
+ "l0_controller_target": null,
21
+ "l0_p10": 256.0,
22
+ "l0_p50": 256.0,
23
+ "l0_p90": 256.0,
24
+ "mean_l0": 255.8083,
25
+ "mean_l0_train": 254.36040351250313,
26
+ "rare_feature_rate": 0.45306396484375,
27
+ "row_centered_cosine": 0.9065490961074829,
28
+ "row_centered_ev": 0.8228987753391266,
29
+ "selection_score": 3.135100835964664,
30
+ "top1_logit_residual_abs_mean": 0.5029797554016113,
31
+ "top1_logit_residual_frac_mean": 0.028145218268036842,
32
+ "top8_abs_contrib_coverage_mean": 0.748420000076294,
33
+ "top8_positive_contrib_coverage_mean": 0.7912746667861938,
34
+ "train_seconds": 11315.187881469727,
35
+ "used_fallback_data": false,
36
+ "val_logit_kl_bits_mean": 0.2218228146240548,
37
+ "val_top1_match": 0.822265625,
38
+ "val_top5_overlap": 0.8230468750000035
39
+ }
qwen3.5-2b/k256_32x_seedvar_s2/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c30f537c387c66f5a92fa5321aef38278d69ede42b9f78254e288160735d7a57
3
+ size 1076996537
qwen3.5-2b/k256_32x_seedvar_s2/config.yaml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ run:
2
+ name: qwen2b_d65536_k256_s2
3
+ seed: 2
4
+ init_seed: 2
5
+ output_dir: results/exp5_seedvar/qwen2b_d65536_k256_s2
6
+ device: auto
7
+ data:
8
+ data_seed: 2
9
+ fallback: error
10
+ max_hidden: 2048
11
+ max_rows: null
12
+ path: /nfs-share/mh2274/readout_prism_workspace/data/qwen35-2b/qwen35_2b.pt
13
+ row_preprocessing: center_normalize
14
+ val_hidden: 512
15
+ factorizer:
16
+ architecture: topk
17
+ d_features: 65536
18
+ encoder_init_scale: 0.02
19
+ k: 256
20
+ training:
21
+ auxk_alpha: 0.0
22
+ auxk_dead_window: 1000000
23
+ auxk_k: 1024
24
+ batch_size: 4096
25
+ code_l2: 1.0e-06
26
+ final_lr_frac: 0.1
27
+ init_mode: row_seeded
28
+ l0_coeff: 0.0
29
+ l0_controller:
30
+ coeff_init: 0.0
31
+ coeff_max: 0.01
32
+ coeff_min: 1.0e-08
33
+ control_period: 10
34
+ ema: 0.9
35
+ enabled: false
36
+ err_clip: 0.3
37
+ kp: 0.2
38
+ target_l0: 0
39
+ warmup_steps: 200
40
+ lambda_mode: delayed_ramp
41
+ lambda_prism: 0.001
42
+ lambda_ramp_shape: linear
43
+ lambda_ramp_start_frac: 0.7
44
+ lr: 0.001
45
+ lr_schedule: warmup_cosine
46
+ prism_top_n: 1
47
+ row_sampling: hybrid_50freq_50uniform
48
+ steps: 20000
49
+ warmup_steps: 1000
50
+ weight_decay: 0.0001
51
+ evaluation:
52
+ k: 256
53
+ max_eval_rows: 20000
54
+ max_eval_hidden: 1024
55
+ topk_overlap: 5
56
+ contribution_top_k: 8
57
+ artifacts:
58
+ save_checkpoint: true
59
+ make_figures: false
60
+ autoresearch:
61
+ score_thresholds:
62
+ max_dead_feature_rate: 0.5
63
+ max_val_logit_kl_bits_mean: 20.0
qwen3.5-2b/k256_32x_seedvar_s2/metrics.json ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "always_on_feature_rate": 3.0517578125e-05,
3
+ "architecture": "topk",
4
+ "d_features": 65536,
5
+ "data_seed": 2,
6
+ "data_source": "/nfs-share/mh2274/readout_prism_workspace/data/qwen35-2b/qwen35_2b.pt",
7
+ "dead_feature_rate": 0.0898590087890625,
8
+ "device": "cuda",
9
+ "duplicate_decoder_frac": 0.0,
10
+ "eval_hidden": 512,
11
+ "eval_rows": 20000,
12
+ "feature_usage_entropy": 0.8889448732525317,
13
+ "finite_metrics": true,
14
+ "identity_abs_error_max": 2.47955322265625e-05,
15
+ "identity_abs_error_mean": 5.09992241859436e-06,
16
+ "init_seed": 2,
17
+ "k": 256,
18
+ "l0_controller_enabled": false,
19
+ "l0_controller_final_coeff": null,
20
+ "l0_controller_target": null,
21
+ "l0_p10": 256.0,
22
+ "l0_p50": 256.0,
23
+ "l0_p90": 256.0,
24
+ "mean_l0": 255.82395,
25
+ "mean_l0_train": 254.51032439240447,
26
+ "rare_feature_rate": 0.431915283203125,
27
+ "row_centered_cosine": 0.9083909392356873,
28
+ "row_centered_ev": 0.8261668831110001,
29
+ "selection_score": 3.151505386758288,
30
+ "top1_logit_residual_abs_mean": 0.484148234128952,
31
+ "top1_logit_residual_frac_mean": 0.027414647862315178,
32
+ "top8_abs_contrib_coverage_mean": 0.7343347072601318,
33
+ "top8_positive_contrib_coverage_mean": 0.7825666069984436,
34
+ "train_seconds": 11153.051770210266,
35
+ "used_fallback_data": false,
36
+ "val_logit_kl_bits_mean": 0.19388584532874337,
37
+ "val_top1_match": 0.84765625,
38
+ "val_top5_overlap": 0.8429687500000036
39
+ }