kmoss commited on
Commit
d6c6839
·
verified ·
1 Parent(s): 2c05930

Add d10 and LFM post-hoc checkpoints

Browse files
README.md ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ license_name: mixed
4
+ tags:
5
+ - interpretability
6
+ - sparsity
7
+ - swiglu
8
+ - top-k
9
+ ---
10
+
11
+ # mask-align checkpoints
12
+
13
+ Checkpoints from a study of top-K masks on SwiGLU gates and the **V2 similarity-alignment loss**. V2 pushes tokens whose MLP outputs are similar to also share similar sets of active gate units. The aim is to make individual units and groups of units easier to interpret.
14
+
15
+ All files are raw PyTorch `state_dict`s (`torch.load`, pickle). Load only if you trust this repo.
16
+
17
+ ## `d10/`: nanochat depth-10 models trained from scratch
18
+
19
+ nanochat (commit `92d63d4`, patched `nanochat/gpt.py` and `scripts/base_train.py`): 10 layers, d_model 640, MLP hidden size 1792, vocab 16384, sequence length 2048, 1402 steps × 524k tokens on ClimbMix. `topk_*` models keep the top 25% of gates per token (`topk_frac 0.25`) and add `λ · (1 − V2)` to the loss. Each folder has `model_001402.pt` and `meta_001402.json` (full config). `d10/tokenizer/` is the nanochat tokenizer.
20
+
21
+ | Model | λ (V2) | val bpb |
22
+ |---|---|---|
23
+ | swiglu (dense baseline) | – | 0.913 |
24
+ | topk_l0 | 0 | 0.943 |
25
+ | topk_l0p1 | 0.1 | 0.947 |
26
+ | topk_l0p3 | 0.3 | 0.953 |
27
+ | topk_l1 | 1 | 0.972 |
28
+ | topk_l3 | 3 | 0.999 |
29
+ | topk_l10 | 10 | 1.033 |
30
+
31
+ ## `lfm_posthoc/`: post-hoc sparsified LFM2.5-230M-Base
32
+
33
+ These are fine-tunes of [LiquidAI/LFM2.5-230M-Base](https://huggingface.co/LiquidAI/LFM2.5-230M-Base), so they inherit the **LFM Open License v1.0**. See the base model's [LICENSE](https://huggingface.co/LiquidAI/LFM2.5-230M-Base/blob/main/LICENSE). The weights were modified by the training described below.
34
+
35
+ In layers 2–13 the MLP keeps the top 25% of units by |gate| (silu·u values are kept; layers 0–1 stay dense). Each model is trained for 20M ClimbMix tokens by KL distillation from the frozen dense model, plus `λ · (1 − V2)`. The V2 target is relu(cosine similarity) of the teacher's batch-centred MLP outputs, and the mask is sign-split. Settings: lr 5e-5, batch 8×1024. bpb is measured on 64 held-out documents: the dense model scores 0.835, and the sparsified model before training scores 1.116.
36
+
37
+ | Model | λ | bpb | V2 |
38
+ |---|---|---|---|
39
+ | lam0 | 0 | 0.901 | 0.525 |
40
+ | lam10 | 10 | 0.949 | 0.743 |
41
+ | lam30 | 30 | 1.009 | 0.757 |
42
+
43
+ `student.pt` is a full `LFM2ForCausalLM` state dict in fp32. Load it into `AutoModelForCausalLM.from_pretrained("LiquidAI/LFM2.5-230M-Base")`, then patch the sparse MLPs: see `Sparse` / `load_student` in `lfm_posthoc.py`. Without the patch the model runs dense, which these weights were not trained for. `log.json` is the training log.
d10/swiglu/meta_001402.json ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "step": 1402,
3
+ "val_bpb": 0.9134131077908676,
4
+ "model_config": {
5
+ "sequence_len": 2048,
6
+ "vocab_size": 16384,
7
+ "n_layer": 10,
8
+ "n_head": 5,
9
+ "n_kv_head": 5,
10
+ "n_embd": 640,
11
+ "window_pattern": "SSSL",
12
+ "mlp_type": "swiglu",
13
+ "mlp_hidden": 1792,
14
+ "topk_frac": 0.25,
15
+ "v2_lambda": 0.0,
16
+ "v2_tokens": 1024
17
+ },
18
+ "user_config": {
19
+ "run": "dummy",
20
+ "device_type": "",
21
+ "fp8": false,
22
+ "fp8_recipe": "tensorwise",
23
+ "depth": 10,
24
+ "aspect_ratio": 64,
25
+ "head_dim": 128,
26
+ "max_seq_len": 2048,
27
+ "window_pattern": "SSSL",
28
+ "mlp_type": "swiglu",
29
+ "topk_frac": 0.25,
30
+ "v2_lambda": 0.0,
31
+ "v2_tokens": 1024,
32
+ "num_iterations": -1,
33
+ "target_flops": -1.0,
34
+ "target_param_data_ratio": 12,
35
+ "device_batch_size": 32,
36
+ "total_batch_size": -1,
37
+ "embedding_lr": 0.3,
38
+ "unembedding_lr": 0.008,
39
+ "weight_decay": 0.28,
40
+ "matrix_lr": 0.02,
41
+ "scalar_lr": 0.5,
42
+ "warmup_steps": 40,
43
+ "warmdown_ratio": 0.65,
44
+ "final_lr_frac": 0.05,
45
+ "resume_from_step": -1,
46
+ "eval_every": 250,
47
+ "eval_tokens": 41943040,
48
+ "core_metric_every": -1,
49
+ "core_metric_max_per_task": 500,
50
+ "sample_every": 2000,
51
+ "save_every": -1,
52
+ "model_tag": "swiglu"
53
+ },
54
+ "device_batch_size": 32,
55
+ "max_seq_len": 2048,
56
+ "total_batch_size": 524288,
57
+ "dataloader_state_dict": {
58
+ "pq_idx": 15,
59
+ "rg_idx": 53,
60
+ "epoch": 1
61
+ },
62
+ "loop_state": {
63
+ "min_val_bpb": 0.9134131077908676,
64
+ "smooth_train_loss": 2.801379575935762,
65
+ "total_training_time": 1574.414921283722
66
+ }
67
+ }
d10/swiglu/model_001402.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:af97f6ec2c53cf6ff8c89511f73af235732cc82a624f967865ff2dd8fa815f44
3
+ size 370969391
d10/tokenizer/token_bytes.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9b4a42091962c62c7bbd110da0468a6748de5d9fa2fbda1567abde88790cd1bb
3
+ size 67113
d10/tokenizer/tokenizer.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1529a0969445dc411f8f395e65e541047d9492d43804e0d56343b25752eab424
3
+ size 198922
d10/topk_l0/meta_001402.json ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "step": 1402,
3
+ "val_bpb": 0.9427678492299922,
4
+ "model_config": {
5
+ "sequence_len": 2048,
6
+ "vocab_size": 16384,
7
+ "n_layer": 10,
8
+ "n_head": 5,
9
+ "n_kv_head": 5,
10
+ "n_embd": 640,
11
+ "window_pattern": "SSSL",
12
+ "mlp_type": "topk",
13
+ "mlp_hidden": 1792,
14
+ "topk_frac": 0.25,
15
+ "v2_lambda": 0.0,
16
+ "v2_tokens": 1024
17
+ },
18
+ "user_config": {
19
+ "run": "dummy",
20
+ "device_type": "",
21
+ "fp8": false,
22
+ "fp8_recipe": "tensorwise",
23
+ "depth": 10,
24
+ "aspect_ratio": 64,
25
+ "head_dim": 128,
26
+ "max_seq_len": 2048,
27
+ "window_pattern": "SSSL",
28
+ "mlp_type": "topk",
29
+ "topk_frac": 0.25,
30
+ "v2_lambda": 0.0,
31
+ "v2_tokens": 1024,
32
+ "num_iterations": -1,
33
+ "target_flops": -1.0,
34
+ "target_param_data_ratio": 12,
35
+ "device_batch_size": 32,
36
+ "total_batch_size": -1,
37
+ "embedding_lr": 0.3,
38
+ "unembedding_lr": 0.008,
39
+ "weight_decay": 0.28,
40
+ "matrix_lr": 0.02,
41
+ "scalar_lr": 0.5,
42
+ "warmup_steps": 40,
43
+ "warmdown_ratio": 0.65,
44
+ "final_lr_frac": 0.05,
45
+ "resume_from_step": -1,
46
+ "eval_every": 250,
47
+ "eval_tokens": 41943040,
48
+ "core_metric_every": -1,
49
+ "core_metric_max_per_task": 500,
50
+ "sample_every": 2000,
51
+ "save_every": -1,
52
+ "model_tag": "topk_l0"
53
+ },
54
+ "device_batch_size": 32,
55
+ "max_seq_len": 2048,
56
+ "total_batch_size": 524288,
57
+ "dataloader_state_dict": {
58
+ "pq_idx": 15,
59
+ "rg_idx": 53,
60
+ "epoch": 1
61
+ },
62
+ "loop_state": {
63
+ "min_val_bpb": 0.9427678492299922,
64
+ "smooth_train_loss": 2.8899907907043128,
65
+ "total_training_time": 1948.8127439022064
66
+ }
67
+ }
d10/topk_l0/model_001402.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f86046816a9facf56df9a3473f8f73636517e122e754bc4dc5e2cd2c0b5de583
3
+ size 370969391
d10/topk_l0p1/meta_001402.json ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "step": 1402,
3
+ "val_bpb": 0.9466192382981357,
4
+ "model_config": {
5
+ "sequence_len": 2048,
6
+ "vocab_size": 16384,
7
+ "n_layer": 10,
8
+ "n_head": 5,
9
+ "n_kv_head": 5,
10
+ "n_embd": 640,
11
+ "window_pattern": "SSSL",
12
+ "mlp_type": "topk",
13
+ "mlp_hidden": 1792,
14
+ "topk_frac": 0.25,
15
+ "v2_lambda": 0.1,
16
+ "v2_tokens": 1024
17
+ },
18
+ "user_config": {
19
+ "run": "dummy",
20
+ "device_type": "",
21
+ "fp8": false,
22
+ "fp8_recipe": "tensorwise",
23
+ "depth": 10,
24
+ "aspect_ratio": 64,
25
+ "head_dim": 128,
26
+ "max_seq_len": 2048,
27
+ "window_pattern": "SSSL",
28
+ "mlp_type": "topk",
29
+ "topk_frac": 0.25,
30
+ "v2_lambda": 0.1,
31
+ "v2_tokens": 1024,
32
+ "num_iterations": -1,
33
+ "target_flops": -1.0,
34
+ "target_param_data_ratio": 12,
35
+ "device_batch_size": 32,
36
+ "total_batch_size": -1,
37
+ "embedding_lr": 0.3,
38
+ "unembedding_lr": 0.008,
39
+ "weight_decay": 0.28,
40
+ "matrix_lr": 0.02,
41
+ "scalar_lr": 0.5,
42
+ "warmup_steps": 40,
43
+ "warmdown_ratio": 0.65,
44
+ "final_lr_frac": 0.05,
45
+ "resume_from_step": -1,
46
+ "eval_every": 250,
47
+ "eval_tokens": 41943040,
48
+ "core_metric_every": -1,
49
+ "core_metric_max_per_task": 500,
50
+ "sample_every": 2000,
51
+ "save_every": -1,
52
+ "model_tag": "topk_l0p1"
53
+ },
54
+ "device_batch_size": 32,
55
+ "max_seq_len": 2048,
56
+ "total_batch_size": 524288,
57
+ "dataloader_state_dict": {
58
+ "pq_idx": 15,
59
+ "rg_idx": 53,
60
+ "epoch": 1
61
+ },
62
+ "loop_state": {
63
+ "min_val_bpb": 0.9466192382981357,
64
+ "smooth_train_loss": 2.9303368415033866,
65
+ "total_training_time": 1977.5749444961548
66
+ }
67
+ }
d10/topk_l0p1/model_001402.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:482cc4d399298959a50b6b924f79c6a4471e36c872ae23170b23ef7c9819db44
3
+ size 370969391
d10/topk_l0p3/meta_001402.json ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "step": 1402,
3
+ "val_bpb": 0.9532622899084581,
4
+ "model_config": {
5
+ "sequence_len": 2048,
6
+ "vocab_size": 16384,
7
+ "n_layer": 10,
8
+ "n_head": 5,
9
+ "n_kv_head": 5,
10
+ "n_embd": 640,
11
+ "window_pattern": "SSSL",
12
+ "mlp_type": "topk",
13
+ "mlp_hidden": 1792,
14
+ "topk_frac": 0.25,
15
+ "v2_lambda": 0.3,
16
+ "v2_tokens": 1024
17
+ },
18
+ "user_config": {
19
+ "run": "dummy",
20
+ "device_type": "",
21
+ "fp8": false,
22
+ "fp8_recipe": "tensorwise",
23
+ "depth": 10,
24
+ "aspect_ratio": 64,
25
+ "head_dim": 128,
26
+ "max_seq_len": 2048,
27
+ "window_pattern": "SSSL",
28
+ "mlp_type": "topk",
29
+ "topk_frac": 0.25,
30
+ "v2_lambda": 0.3,
31
+ "v2_tokens": 1024,
32
+ "num_iterations": -1,
33
+ "target_flops": -1.0,
34
+ "target_param_data_ratio": 12,
35
+ "device_batch_size": 32,
36
+ "total_batch_size": -1,
37
+ "embedding_lr": 0.3,
38
+ "unembedding_lr": 0.008,
39
+ "weight_decay": 0.28,
40
+ "matrix_lr": 0.02,
41
+ "scalar_lr": 0.5,
42
+ "warmup_steps": 40,
43
+ "warmdown_ratio": 0.65,
44
+ "final_lr_frac": 0.05,
45
+ "resume_from_step": -1,
46
+ "eval_every": 250,
47
+ "eval_tokens": 41943040,
48
+ "core_metric_every": -1,
49
+ "core_metric_max_per_task": 500,
50
+ "sample_every": 2000,
51
+ "save_every": -1,
52
+ "model_tag": "topk_l0p3"
53
+ },
54
+ "device_batch_size": 32,
55
+ "max_seq_len": 2048,
56
+ "total_batch_size": 524288,
57
+ "dataloader_state_dict": {
58
+ "pq_idx": 15,
59
+ "rg_idx": 53,
60
+ "epoch": 1
61
+ },
62
+ "loop_state": {
63
+ "min_val_bpb": 0.9532622899084581,
64
+ "smooth_train_loss": 2.996994468281134,
65
+ "total_training_time": 1978.3972182273865
66
+ }
67
+ }
d10/topk_l0p3/model_001402.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7eb2c11b79176e6cbdc94d99fc50141062e1621194af071e56ebf223a9ce5302
3
+ size 370969391
d10/topk_l1/meta_001402.json ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "step": 1402,
3
+ "val_bpb": 0.9721558720552959,
4
+ "model_config": {
5
+ "sequence_len": 2048,
6
+ "vocab_size": 16384,
7
+ "n_layer": 10,
8
+ "n_head": 5,
9
+ "n_kv_head": 5,
10
+ "n_embd": 640,
11
+ "window_pattern": "SSSL",
12
+ "mlp_type": "topk",
13
+ "mlp_hidden": 1792,
14
+ "topk_frac": 0.25,
15
+ "v2_lambda": 1.0,
16
+ "v2_tokens": 1024
17
+ },
18
+ "user_config": {
19
+ "run": "dummy",
20
+ "device_type": "",
21
+ "fp8": false,
22
+ "fp8_recipe": "tensorwise",
23
+ "depth": 10,
24
+ "aspect_ratio": 64,
25
+ "head_dim": 128,
26
+ "max_seq_len": 2048,
27
+ "window_pattern": "SSSL",
28
+ "mlp_type": "topk",
29
+ "topk_frac": 0.25,
30
+ "v2_lambda": 1.0,
31
+ "v2_tokens": 1024,
32
+ "num_iterations": -1,
33
+ "target_flops": -1.0,
34
+ "target_param_data_ratio": 12,
35
+ "device_batch_size": 32,
36
+ "total_batch_size": -1,
37
+ "embedding_lr": 0.3,
38
+ "unembedding_lr": 0.008,
39
+ "weight_decay": 0.28,
40
+ "matrix_lr": 0.02,
41
+ "scalar_lr": 0.5,
42
+ "warmup_steps": 40,
43
+ "warmdown_ratio": 0.65,
44
+ "final_lr_frac": 0.05,
45
+ "resume_from_step": -1,
46
+ "eval_every": 250,
47
+ "eval_tokens": 41943040,
48
+ "core_metric_every": -1,
49
+ "core_metric_max_per_task": 500,
50
+ "sample_every": 2000,
51
+ "save_every": -1,
52
+ "model_tag": "topk_l1"
53
+ },
54
+ "device_batch_size": 32,
55
+ "max_seq_len": 2048,
56
+ "total_batch_size": 524288,
57
+ "dataloader_state_dict": {
58
+ "pq_idx": 15,
59
+ "rg_idx": 53,
60
+ "epoch": 1
61
+ },
62
+ "loop_state": {
63
+ "min_val_bpb": 0.9721558720552959,
64
+ "smooth_train_loss": 3.1739991677565245,
65
+ "total_training_time": 1976.9823906421661
66
+ }
67
+ }
d10/topk_l1/model_001402.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a8fa568163c3471bb74e5103aac8abcb220c5cbfb632ec3478cffe59491f910a
3
+ size 370969391
d10/topk_l10/meta_001402.json ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "step": 1402,
3
+ "val_bpb": 1.0326348566934875,
4
+ "model_config": {
5
+ "sequence_len": 2048,
6
+ "vocab_size": 16384,
7
+ "n_layer": 10,
8
+ "n_head": 5,
9
+ "n_kv_head": 5,
10
+ "n_embd": 640,
11
+ "window_pattern": "SSSL",
12
+ "mlp_type": "topk",
13
+ "mlp_hidden": 1792,
14
+ "topk_frac": 0.25,
15
+ "v2_lambda": 10.0,
16
+ "v2_tokens": 1024
17
+ },
18
+ "user_config": {
19
+ "run": "dummy",
20
+ "device_type": "",
21
+ "fp8": false,
22
+ "fp8_recipe": "tensorwise",
23
+ "depth": 10,
24
+ "aspect_ratio": 64,
25
+ "head_dim": 128,
26
+ "max_seq_len": 2048,
27
+ "window_pattern": "SSSL",
28
+ "mlp_type": "topk",
29
+ "topk_frac": 0.25,
30
+ "v2_lambda": 10.0,
31
+ "v2_tokens": 1024,
32
+ "num_iterations": -1,
33
+ "target_flops": -1.0,
34
+ "target_param_data_ratio": 12,
35
+ "device_batch_size": 32,
36
+ "total_batch_size": -1,
37
+ "embedding_lr": 0.3,
38
+ "unembedding_lr": 0.008,
39
+ "weight_decay": 0.28,
40
+ "matrix_lr": 0.02,
41
+ "scalar_lr": 0.5,
42
+ "warmup_steps": 40,
43
+ "warmdown_ratio": 0.65,
44
+ "final_lr_frac": 0.05,
45
+ "resume_from_step": -1,
46
+ "eval_every": 250,
47
+ "eval_tokens": 41943040,
48
+ "core_metric_every": -1,
49
+ "core_metric_max_per_task": 500,
50
+ "sample_every": 2000,
51
+ "save_every": -1,
52
+ "model_tag": "topk_l10"
53
+ },
54
+ "device_batch_size": 32,
55
+ "max_seq_len": 2048,
56
+ "total_batch_size": 524288,
57
+ "dataloader_state_dict": {
58
+ "pq_idx": 15,
59
+ "rg_idx": 53,
60
+ "epoch": 1
61
+ },
62
+ "loop_state": {
63
+ "min_val_bpb": 1.0326348566934875,
64
+ "smooth_train_loss": 3.700921912464884,
65
+ "total_training_time": 2103.8987390995026
66
+ }
67
+ }
d10/topk_l10/model_001402.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:093e902b3570127dcfeb0903aeaf36921b245a5dfcf5aad7272b3db2dc040e7f
3
+ size 370969391
d10/topk_l3/meta_001402.json ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "step": 1402,
3
+ "val_bpb": 0.9986484763751647,
4
+ "model_config": {
5
+ "sequence_len": 2048,
6
+ "vocab_size": 16384,
7
+ "n_layer": 10,
8
+ "n_head": 5,
9
+ "n_kv_head": 5,
10
+ "n_embd": 640,
11
+ "window_pattern": "SSSL",
12
+ "mlp_type": "topk",
13
+ "mlp_hidden": 1792,
14
+ "topk_frac": 0.25,
15
+ "v2_lambda": 3.0,
16
+ "v2_tokens": 1024
17
+ },
18
+ "user_config": {
19
+ "run": "dummy",
20
+ "device_type": "",
21
+ "fp8": false,
22
+ "fp8_recipe": "tensorwise",
23
+ "depth": 10,
24
+ "aspect_ratio": 64,
25
+ "head_dim": 128,
26
+ "max_seq_len": 2048,
27
+ "window_pattern": "SSSL",
28
+ "mlp_type": "topk",
29
+ "topk_frac": 0.25,
30
+ "v2_lambda": 3.0,
31
+ "v2_tokens": 1024,
32
+ "num_iterations": -1,
33
+ "target_flops": -1.0,
34
+ "target_param_data_ratio": 12,
35
+ "device_batch_size": 32,
36
+ "total_batch_size": -1,
37
+ "embedding_lr": 0.3,
38
+ "unembedding_lr": 0.008,
39
+ "weight_decay": 0.28,
40
+ "matrix_lr": 0.02,
41
+ "scalar_lr": 0.5,
42
+ "warmup_steps": 40,
43
+ "warmdown_ratio": 0.65,
44
+ "final_lr_frac": 0.05,
45
+ "resume_from_step": -1,
46
+ "eval_every": 250,
47
+ "eval_tokens": 41943040,
48
+ "core_metric_every": -1,
49
+ "core_metric_max_per_task": 500,
50
+ "sample_every": 2000,
51
+ "save_every": -1,
52
+ "model_tag": "topk_l3"
53
+ },
54
+ "device_batch_size": 32,
55
+ "max_seq_len": 2048,
56
+ "total_batch_size": 524288,
57
+ "dataloader_state_dict": {
58
+ "pq_idx": 15,
59
+ "rg_idx": 53,
60
+ "epoch": 1
61
+ },
62
+ "loop_state": {
63
+ "min_val_bpb": 0.9986484763751647,
64
+ "smooth_train_loss": 3.2499740512602906,
65
+ "total_training_time": 1977.9597957134247
66
+ }
67
+ }
d10/topk_l3/model_001402.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5261e371ce30bc79d2acb38f897218e24983db1d7dd3b2cc06cf167089060f08
3
+ size 370969391
lfm_posthoc.py ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Post-hoc V2 mask alignment on LFM2.5-230M-Base (local MPS pilot). Student = LFM with sparse MLPs, trained by
2
+ distillation from the frozen original (teacher).
3
+ Student MLP: g = w1 x, u = w3 x; mask = top-K of |g| (K = FRAC of the hidden size, fixed for the whole run);
4
+ h = mask * silu(g) * u (values kept, not binarised). Layers in --dense stay dense.
5
+ V2 loss (as nanochat_patch/gpt.py v2_score, sign-split): units = [+ halves | - halves] of the neurons; forward mask =
6
+ hard signed mask, backward through sigmoid(+g) / sigmoid(-g) (straight-through). Target T = relu(cos of batch-centred
7
+ MLP outputs of the *teacher* at the same layer and positions), so T cannot collapse. Same V2_TOKENS random positions for
8
+ every layer per micro-batch (--micro rows; --bs rows per optimizer step via gradient accumulation). Loss = KL(teacher || student) per token + lam * mean over sparse layers of (1 - v2).
9
+ Data: documents from a ClimbMix parquet shard (--data), BOS-aligned rows: every row starts with BOS and a new document.
10
+ Eval: bpb on lfm_topk_probe.texts(EVAL_DOCS) (held-out shard; disjoint from training docs when --data is a train shard).
11
+ python lfm_posthoc.py --name lam0p1 --lam 0.1 --tokens 20e6 [--data val_text/shard_00000.parquet]
12
+ """
13
+ import argparse, json, math, os, time
14
+ import numpy as np, pyarrow.parquet as pq, torch, torch.nn.functional as F
15
+ from huggingface_hub import hf_hub_download
16
+ from transformers import AutoModelForCausalLM, PreTrainedTokenizerFast
17
+ import lfm_topk_probe as P
18
+ from contextlib import nullcontext
19
+
20
+ ap = argparse.ArgumentParser()
21
+ ap.add_argument("--name", required=True); ap.add_argument("--lam", type=float, default=0.0)
22
+ ap.add_argument("--tokens", type=float, default=20e6); ap.add_argument("--seq", type=int, default=1024)
23
+ ap.add_argument("--bs", type=int, default=8); ap.add_argument("--micro", type=int, default=2); ap.add_argument("--lr", type=float, default=5e-5)
24
+ ap.add_argument("--warmup", type=int, default=100); ap.add_argument("--frac", type=float, default=0.25)
25
+ ap.add_argument("--dense", default="0,1"); ap.add_argument("--v2-tokens", type=int, default=1024)
26
+ ap.add_argument("--data", default=os.path.join(P.ROOT, "val_text", "shard_00000.parquet"))
27
+ ap.add_argument("--doc-start", type=int, default=0); ap.add_argument("--eval-every", type=int, default=500)
28
+ ap.add_argument("--eval-docs", type=int, default=64); ap.add_argument("--max-steps", type=int, default=0)
29
+ args = ap.parse_args() if __name__ == "__main__" else None
30
+ dev = P.dev; torch.manual_seed(0)
31
+ amp = (lambda: torch.autocast("cuda", torch.bfloat16)) if dev == "cuda" else nullcontext # bf16 compute, fp32 weights
32
+
33
+
34
+ def v2_score(m, y):
35
+ """Uncentred cosine of masks vs relu(cosine of batch-centred outputs), off-diagonal pairs (nanochat_patch/gpt.py)."""
36
+ m, y = m.float(), y.float()
37
+ Km = F.normalize(m, dim=-1, eps=1e-8); Km = Km @ Km.T
38
+ Ky = F.normalize(y - y.mean(0, keepdim=True), dim=-1, eps=1e-8); Ky = torch.relu(Ky @ Ky.T)
39
+ off = 1.0 - torch.eye(m.size(0), device=m.device); Km, Ky = Km * off, Ky * off
40
+ return (Km * Ky).sum() / (Km.norm() * Ky.norm() + 1e-8)
41
+
42
+
43
+ class Sparse:
44
+ """Patches the student's MLPs. self.idx = sampled flat positions for V2 (None: no V2); self.target[l] = teacher y."""
45
+ def __init__(self, model, frac, dense):
46
+ self.idx, self.target, self.v2 = None, {}, {}
47
+ self.sparse = [l for l in range(len(model.model.layers)) if l not in dense]
48
+ for l in self.sparse:
49
+ m = model.model.layers[l].feed_forward; m.forward = self.make(l, m, int(frac * m.w1.out_features))
50
+
51
+ def make(self, l, m, K):
52
+ def fwd(x):
53
+ g = m.w1(x); u = m.w3(x); s = F.silu(g)
54
+ hard = torch.zeros_like(g).scatter_(-1, g.abs().topk(K, -1).indices, 1.0)
55
+ y = m.w2(hard * s * u)
56
+ if self.idx is not None:
57
+ gi = g.flatten(0, 1)[self.idx]; hi = hard.flatten(0, 1)[self.idx]
58
+ hp, hn = hi * (gi > 0), hi * (gi < 0); sp, sn = torch.sigmoid(gi), torch.sigmoid(-gi)
59
+ ms = torch.cat([hp + sp - sp.detach(), hn + sn - sn.detach()], -1) # forward hard, backward sigmoid
60
+ self.v2[l] = v2_score(ms, self.target[l])
61
+ return y
62
+ return fwd
63
+
64
+
65
+ def rows(tok, path, seq, start):
66
+ """BOS-aligned rows of seq+1 tokens: each row starts with BOS + a new document; documents are cut at the row end."""
67
+ texts = pq.read_table(path, columns=["text"]).column("text").to_pylist()[start:]
68
+ bos = tok.bos_token_id; buf = []
69
+ for t in texts:
70
+ ids = tok(t, add_special_tokens=False).input_ids
71
+ if not buf: buf = [bos]
72
+ else: buf += [bos]
73
+ buf += ids
74
+ if len(buf) >= seq + 1: yield buf[:seq + 1]; buf = []
75
+
76
+
77
+ @torch.no_grad()
78
+ def eval_bpb(model, tok, docs, nbytes):
79
+ tot = 0.0
80
+ for t in docs:
81
+ x = torch.cat([torch.tensor([[tok.bos_token_id]]), tok(t, return_tensors="pt", add_special_tokens=False).input_ids], 1).to(dev)
82
+ with amp(): lg = model(x).logits
83
+ tot += F.cross_entropy(lg[0, :-1].float(), x[0, 1:], reduction="sum").item()
84
+ return tot / math.log(2) / nbytes
85
+
86
+
87
+ def load_student(name, frac=0.25, dense=(0, 1)):
88
+ """Trained student from nanochat_runs/lfm_posthoc/<name>/student.pt, sparse MLPs patched (V2 off)."""
89
+ m = AutoModelForCausalLM.from_pretrained(P.MODEL, dtype=torch.float32)
90
+ m.load_state_dict(torch.load(os.path.join(P.RUNS, "lfm_posthoc", name, "student.pt"), map_location="cpu"))
91
+ m = m.to(P.dev).eval(); Sparse(m, frac, set(dense)); return m
92
+
93
+
94
+ if __name__ == "__main__":
95
+ OUT = os.path.join(P.RUNS, "lfm_posthoc", args.name); os.makedirs(OUT, exist_ok=True)
96
+ tok = PreTrainedTokenizerFast(tokenizer_file=hf_hub_download(P.MODEL, "tokenizer.json"), bos_token="<|startoftext|>")
97
+ teacher = AutoModelForCausalLM.from_pretrained(P.MODEL, dtype=torch.bfloat16).to(dev).eval().requires_grad_(False)
98
+ student = AutoModelForCausalLM.from_pretrained(P.MODEL, dtype=torch.float32).to(dev).train()
99
+ S = Sparse(student, args.frac, {int(x) for x in args.dense.split(",") if x != ""})
100
+ tgt = {}
101
+ def thook(l):
102
+ def f(mod, a, o):
103
+ if S.idx is not None: tgt[l] = o.flatten(0, 1)[S.idx].detach()
104
+ return f
105
+ for l in S.sparse: teacher.model.layers[l].feed_forward.register_forward_hook(thook(l))
106
+ docs = P.texts(args.eval_docs); nbytes = sum(len(t.encode()) for t in docs)
107
+ opt = torch.optim.AdamW(student.parameters(), lr=args.lr, betas=(0.9, 0.95), weight_decay=0.0)
108
+ steps = args.max_steps or int(args.tokens // (args.bs * args.seq))
109
+ sched = lambda s: min(1, (s + 1) / args.warmup) * 0.5 * (1 + math.cos(math.pi * min(1, s / steps)))
110
+ log = []; student.eval(); b0 = eval_bpb(student, tok, docs, nbytes); student.train()
111
+ print(f"{args.name}: {steps} steps x {args.bs * args.seq} tokens, lam {args.lam}, sparse layers {S.sparse}; "
112
+ f"bpb at start {b0:.4f}", flush=True); log.append(dict(step=0, bpb=b0))
113
+ it = rows(tok, args.data, args.seq, args.doc_start); t0 = time.time()
114
+ for step in range(1, steps + 1):
115
+ for gp in opt.param_groups: gp["lr"] = args.lr * sched(step)
116
+ opt.zero_grad(set_to_none=True); n_acc = args.bs // args.micro; kl_s = v2_s = 0.0
117
+ for _ in range(n_acc): # micro-batches: logits are B x T x 65536
118
+ x = torch.tensor([next(it) for _ in range(args.micro)], device=dev)[:, :-1]
119
+ S.idx = torch.randint(0, x.numel(), (args.v2_tokens,), device=dev)
120
+ with torch.no_grad(): tl = F.log_softmax(teacher(x).logits.float(), -1)
121
+ S.target = tgt
122
+ with amp(): sl = student(x).logits
123
+ sl = F.log_softmax(sl.float(), -1)
124
+ kl = F.kl_div(sl, tl, log_target=True, reduction="none").sum(-1).mean(); del tl
125
+ v2 = torch.stack([S.v2[l] for l in S.sparse]).mean()
126
+ loss = kl + args.lam * (1 - v2) if args.lam > 0 else kl
127
+ (loss / n_acc).backward(); kl_s += kl.item() / n_acc; v2_s += v2.item() / n_acc
128
+ torch.nn.utils.clip_grad_norm_(student.parameters(), 1.0); opt.step()
129
+ if step % 25 == 0 or step == 1:
130
+ el = time.time() - t0
131
+ print(f"step {step}/{steps} kl {kl_s:.4f} v2 {v2_s:.4f} | {step * args.bs * args.seq / el:.0f} tok/s, "
132
+ f"eta {(steps - step) * el / step / 60:.0f} min", flush=True)
133
+ log.append(dict(step=step, kl=kl_s, v2=v2_s))
134
+ if step % args.eval_every == 0 or step == steps:
135
+ S.idx = None; student.eval(); b = eval_bpb(student, tok, docs, nbytes); student.train()
136
+ print(f" eval step {step}: bpb {b:.4f}", flush=True); log.append(dict(step=step, bpb=b))
137
+ json.dump(dict(args=vars(args), log=log), open(os.path.join(OUT, "log.json"), "w"), indent=1)
138
+ S.idx = None
139
+ torch.save(student.state_dict(), os.path.join(OUT, "student.pt"))
140
+ print("saved ->", OUT)
lfm_posthoc/lam0/log.json ADDED
@@ -0,0 +1,536 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "args": {
3
+ "name": "lam0",
4
+ "lam": 0.0,
5
+ "tokens": 20000000.0,
6
+ "seq": 1024,
7
+ "bs": 8,
8
+ "micro": 8,
9
+ "lr": 5e-05,
10
+ "warmup": 100,
11
+ "frac": 0.25,
12
+ "dense": "0,1",
13
+ "v2_tokens": 1024,
14
+ "data": "/workspace/lfm/val_text/shard_00000.parquet",
15
+ "doc_start": 0,
16
+ "eval_every": 500,
17
+ "eval_docs": 64,
18
+ "max_steps": 0
19
+ },
20
+ "log": [
21
+ {
22
+ "step": 0,
23
+ "bpb": 1.1158697211586375
24
+ },
25
+ {
26
+ "step": 1,
27
+ "kl": 0.9567757844924927,
28
+ "v2": 0.5121780633926392
29
+ },
30
+ {
31
+ "step": 25,
32
+ "kl": 0.6885182857513428,
33
+ "v2": 0.514909029006958
34
+ },
35
+ {
36
+ "step": 50,
37
+ "kl": 0.58332359790802,
38
+ "v2": 0.5146559476852417
39
+ },
40
+ {
41
+ "step": 75,
42
+ "kl": 0.5070444941520691,
43
+ "v2": 0.525088906288147
44
+ },
45
+ {
46
+ "step": 100,
47
+ "kl": 0.5131533145904541,
48
+ "v2": 0.523467481136322
49
+ },
50
+ {
51
+ "step": 125,
52
+ "kl": 0.5119062662124634,
53
+ "v2": 0.5204391479492188
54
+ },
55
+ {
56
+ "step": 150,
57
+ "kl": 0.4638305902481079,
58
+ "v2": 0.5317404866218567
59
+ },
60
+ {
61
+ "step": 175,
62
+ "kl": 0.4514150619506836,
63
+ "v2": 0.5199365615844727
64
+ },
65
+ {
66
+ "step": 200,
67
+ "kl": 0.4031620919704437,
68
+ "v2": 0.5212535858154297
69
+ },
70
+ {
71
+ "step": 225,
72
+ "kl": 0.48501044511795044,
73
+ "v2": 0.5195940732955933
74
+ },
75
+ {
76
+ "step": 250,
77
+ "kl": 0.4423227310180664,
78
+ "v2": 0.5215173959732056
79
+ },
80
+ {
81
+ "step": 275,
82
+ "kl": 0.3924141526222229,
83
+ "v2": 0.529947817325592
84
+ },
85
+ {
86
+ "step": 300,
87
+ "kl": 0.4181095361709595,
88
+ "v2": 0.5186288356781006
89
+ },
90
+ {
91
+ "step": 325,
92
+ "kl": 0.4091278314590454,
93
+ "v2": 0.5205795764923096
94
+ },
95
+ {
96
+ "step": 350,
97
+ "kl": 0.37230756878852844,
98
+ "v2": 0.5182966589927673
99
+ },
100
+ {
101
+ "step": 375,
102
+ "kl": 0.425018310546875,
103
+ "v2": 0.520012617111206
104
+ },
105
+ {
106
+ "step": 400,
107
+ "kl": 0.4136752486228943,
108
+ "v2": 0.5219123959541321
109
+ },
110
+ {
111
+ "step": 425,
112
+ "kl": 0.4318866729736328,
113
+ "v2": 0.5299752354621887
114
+ },
115
+ {
116
+ "step": 450,
117
+ "kl": 0.3470580577850342,
118
+ "v2": 0.5208612680435181
119
+ },
120
+ {
121
+ "step": 475,
122
+ "kl": 0.3659360408782959,
123
+ "v2": 0.52242112159729
124
+ },
125
+ {
126
+ "step": 500,
127
+ "kl": 0.38594430685043335,
128
+ "v2": 0.5255236625671387
129
+ },
130
+ {
131
+ "step": 500,
132
+ "bpb": 0.9362901667566185
133
+ },
134
+ {
135
+ "step": 525,
136
+ "kl": 0.36414384841918945,
137
+ "v2": 0.5246122479438782
138
+ },
139
+ {
140
+ "step": 550,
141
+ "kl": 0.3833131790161133,
142
+ "v2": 0.5197753310203552
143
+ },
144
+ {
145
+ "step": 575,
146
+ "kl": 0.36855340003967285,
147
+ "v2": 0.521148145198822
148
+ },
149
+ {
150
+ "step": 600,
151
+ "kl": 0.3700331747531891,
152
+ "v2": 0.5210527777671814
153
+ },
154
+ {
155
+ "step": 625,
156
+ "kl": 0.37408578395843506,
157
+ "v2": 0.5178028345108032
158
+ },
159
+ {
160
+ "step": 650,
161
+ "kl": 0.3581323027610779,
162
+ "v2": 0.5182215571403503
163
+ },
164
+ {
165
+ "step": 675,
166
+ "kl": 0.36711782217025757,
167
+ "v2": 0.5178583860397339
168
+ },
169
+ {
170
+ "step": 700,
171
+ "kl": 0.3608144223690033,
172
+ "v2": 0.5191864967346191
173
+ },
174
+ {
175
+ "step": 725,
176
+ "kl": 0.3568350374698639,
177
+ "v2": 0.5205861330032349
178
+ },
179
+ {
180
+ "step": 750,
181
+ "kl": 0.3533484935760498,
182
+ "v2": 0.5241600275039673
183
+ },
184
+ {
185
+ "step": 775,
186
+ "kl": 0.31049370765686035,
187
+ "v2": 0.5191895961761475
188
+ },
189
+ {
190
+ "step": 800,
191
+ "kl": 0.3350827693939209,
192
+ "v2": 0.5257576704025269
193
+ },
194
+ {
195
+ "step": 825,
196
+ "kl": 0.31789565086364746,
197
+ "v2": 0.5225245356559753
198
+ },
199
+ {
200
+ "step": 850,
201
+ "kl": 0.34591662883758545,
202
+ "v2": 0.5281481742858887
203
+ },
204
+ {
205
+ "step": 875,
206
+ "kl": 0.33013397455215454,
207
+ "v2": 0.5243662595748901
208
+ },
209
+ {
210
+ "step": 900,
211
+ "kl": 0.32055214047431946,
212
+ "v2": 0.5224398374557495
213
+ },
214
+ {
215
+ "step": 925,
216
+ "kl": 0.318074107170105,
217
+ "v2": 0.5229991674423218
218
+ },
219
+ {
220
+ "step": 950,
221
+ "kl": 0.30721181631088257,
222
+ "v2": 0.5217205286026001
223
+ },
224
+ {
225
+ "step": 975,
226
+ "kl": 0.35029369592666626,
227
+ "v2": 0.5179663896560669
228
+ },
229
+ {
230
+ "step": 1000,
231
+ "kl": 0.2959432005882263,
232
+ "v2": 0.526552140712738
233
+ },
234
+ {
235
+ "step": 1000,
236
+ "bpb": 0.9194461306085423
237
+ },
238
+ {
239
+ "step": 1025,
240
+ "kl": 0.29746514558792114,
241
+ "v2": 0.5173307657241821
242
+ },
243
+ {
244
+ "step": 1050,
245
+ "kl": 0.32962122559547424,
246
+ "v2": 0.5228357911109924
247
+ },
248
+ {
249
+ "step": 1075,
250
+ "kl": 0.3026488721370697,
251
+ "v2": 0.5189902186393738
252
+ },
253
+ {
254
+ "step": 1100,
255
+ "kl": 0.3141504228115082,
256
+ "v2": 0.5239812135696411
257
+ },
258
+ {
259
+ "step": 1125,
260
+ "kl": 0.31310582160949707,
261
+ "v2": 0.5218887329101562
262
+ },
263
+ {
264
+ "step": 1150,
265
+ "kl": 0.3075018525123596,
266
+ "v2": 0.5181629061698914
267
+ },
268
+ {
269
+ "step": 1175,
270
+ "kl": 0.2963619828224182,
271
+ "v2": 0.5199472904205322
272
+ },
273
+ {
274
+ "step": 1200,
275
+ "kl": 0.3094053268432617,
276
+ "v2": 0.5184849500656128
277
+ },
278
+ {
279
+ "step": 1225,
280
+ "kl": 0.3153882324695587,
281
+ "v2": 0.522022008895874
282
+ },
283
+ {
284
+ "step": 1250,
285
+ "kl": 0.3018542528152466,
286
+ "v2": 0.5238970518112183
287
+ },
288
+ {
289
+ "step": 1275,
290
+ "kl": 0.27067339420318604,
291
+ "v2": 0.5240085124969482
292
+ },
293
+ {
294
+ "step": 1300,
295
+ "kl": 0.30779898166656494,
296
+ "v2": 0.5223900079727173
297
+ },
298
+ {
299
+ "step": 1325,
300
+ "kl": 0.29199105501174927,
301
+ "v2": 0.5210978984832764
302
+ },
303
+ {
304
+ "step": 1350,
305
+ "kl": 0.3226560652256012,
306
+ "v2": 0.5234858989715576
307
+ },
308
+ {
309
+ "step": 1375,
310
+ "kl": 0.2660519778728485,
311
+ "v2": 0.5188547968864441
312
+ },
313
+ {
314
+ "step": 1400,
315
+ "kl": 0.2909112572669983,
316
+ "v2": 0.5231382846832275
317
+ },
318
+ {
319
+ "step": 1425,
320
+ "kl": 0.29638445377349854,
321
+ "v2": 0.5226170420646667
322
+ },
323
+ {
324
+ "step": 1450,
325
+ "kl": 0.27889877557754517,
326
+ "v2": 0.5281535387039185
327
+ },
328
+ {
329
+ "step": 1475,
330
+ "kl": 0.28541916608810425,
331
+ "v2": 0.5213003754615784
332
+ },
333
+ {
334
+ "step": 1500,
335
+ "kl": 0.27059319615364075,
336
+ "v2": 0.5176469683647156
337
+ },
338
+ {
339
+ "step": 1500,
340
+ "bpb": 0.907340418818327
341
+ },
342
+ {
343
+ "step": 1525,
344
+ "kl": 0.25855404138565063,
345
+ "v2": 0.5191320180892944
346
+ },
347
+ {
348
+ "step": 1550,
349
+ "kl": 0.2625178396701813,
350
+ "v2": 0.5207079648971558
351
+ },
352
+ {
353
+ "step": 1575,
354
+ "kl": 0.2738356590270996,
355
+ "v2": 0.5189085006713867
356
+ },
357
+ {
358
+ "step": 1600,
359
+ "kl": 0.263283908367157,
360
+ "v2": 0.5242109894752502
361
+ },
362
+ {
363
+ "step": 1625,
364
+ "kl": 0.2942907214164734,
365
+ "v2": 0.515937089920044
366
+ },
367
+ {
368
+ "step": 1650,
369
+ "kl": 0.26394811272621155,
370
+ "v2": 0.5181228518486023
371
+ },
372
+ {
373
+ "step": 1675,
374
+ "kl": 0.2513970136642456,
375
+ "v2": 0.5181796550750732
376
+ },
377
+ {
378
+ "step": 1700,
379
+ "kl": 0.27342689037323,
380
+ "v2": 0.5190655589103699
381
+ },
382
+ {
383
+ "step": 1725,
384
+ "kl": 0.27730390429496765,
385
+ "v2": 0.530895471572876
386
+ },
387
+ {
388
+ "step": 1750,
389
+ "kl": 0.27800506353378296,
390
+ "v2": 0.5248849987983704
391
+ },
392
+ {
393
+ "step": 1775,
394
+ "kl": 0.2694709002971649,
395
+ "v2": 0.5175774097442627
396
+ },
397
+ {
398
+ "step": 1800,
399
+ "kl": 0.263372540473938,
400
+ "v2": 0.5212461352348328
401
+ },
402
+ {
403
+ "step": 1825,
404
+ "kl": 0.24625633656978607,
405
+ "v2": 0.5317647457122803
406
+ },
407
+ {
408
+ "step": 1850,
409
+ "kl": 0.2899714708328247,
410
+ "v2": 0.5262032151222229
411
+ },
412
+ {
413
+ "step": 1875,
414
+ "kl": 0.2597591280937195,
415
+ "v2": 0.518336832523346
416
+ },
417
+ {
418
+ "step": 1900,
419
+ "kl": 0.2807551622390747,
420
+ "v2": 0.5238334536552429
421
+ },
422
+ {
423
+ "step": 1925,
424
+ "kl": 0.2533589005470276,
425
+ "v2": 0.5188561677932739
426
+ },
427
+ {
428
+ "step": 1950,
429
+ "kl": 0.2727213203907013,
430
+ "v2": 0.5232084393501282
431
+ },
432
+ {
433
+ "step": 1975,
434
+ "kl": 0.2687305510044098,
435
+ "v2": 0.5206012725830078
436
+ },
437
+ {
438
+ "step": 2000,
439
+ "kl": 0.2753087282180786,
440
+ "v2": 0.5226956605911255
441
+ },
442
+ {
443
+ "step": 2000,
444
+ "bpb": 0.9012767352630817
445
+ },
446
+ {
447
+ "step": 2025,
448
+ "kl": 0.26929429173469543,
449
+ "v2": 0.5180810689926147
450
+ },
451
+ {
452
+ "step": 2050,
453
+ "kl": 0.2385600209236145,
454
+ "v2": 0.5212873220443726
455
+ },
456
+ {
457
+ "step": 2075,
458
+ "kl": 0.2434336394071579,
459
+ "v2": 0.5218642950057983
460
+ },
461
+ {
462
+ "step": 2100,
463
+ "kl": 0.2579026222229004,
464
+ "v2": 0.5206228494644165
465
+ },
466
+ {
467
+ "step": 2125,
468
+ "kl": 0.2450314313173294,
469
+ "v2": 0.5237295031547546
470
+ },
471
+ {
472
+ "step": 2150,
473
+ "kl": 0.23844994604587555,
474
+ "v2": 0.5228844881057739
475
+ },
476
+ {
477
+ "step": 2175,
478
+ "kl": 0.29961922764778137,
479
+ "v2": 0.5233830809593201
480
+ },
481
+ {
482
+ "step": 2200,
483
+ "kl": 0.2664281725883484,
484
+ "v2": 0.5224109888076782
485
+ },
486
+ {
487
+ "step": 2225,
488
+ "kl": 0.2812555432319641,
489
+ "v2": 0.5225793719291687
490
+ },
491
+ {
492
+ "step": 2250,
493
+ "kl": 0.2587583065032959,
494
+ "v2": 0.5195565223693848
495
+ },
496
+ {
497
+ "step": 2275,
498
+ "kl": 0.26953667402267456,
499
+ "v2": 0.5209571123123169
500
+ },
501
+ {
502
+ "step": 2300,
503
+ "kl": 0.24559755623340607,
504
+ "v2": 0.5220211744308472
505
+ },
506
+ {
507
+ "step": 2325,
508
+ "kl": 0.24561521410942078,
509
+ "v2": 0.5179486870765686
510
+ },
511
+ {
512
+ "step": 2350,
513
+ "kl": 0.26217955350875854,
514
+ "v2": 0.5261898040771484
515
+ },
516
+ {
517
+ "step": 2375,
518
+ "kl": 0.2720721960067749,
519
+ "v2": 0.5240718126296997
520
+ },
521
+ {
522
+ "step": 2400,
523
+ "kl": 0.25979429483413696,
524
+ "v2": 0.525181233882904
525
+ },
526
+ {
527
+ "step": 2425,
528
+ "kl": 0.27663499116897583,
529
+ "v2": 0.5254063606262207
530
+ },
531
+ {
532
+ "step": 2441,
533
+ "bpb": 0.9008672009858338
534
+ }
535
+ ]
536
+ }
lfm_posthoc/lam0/student.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7f2b8039fce59aee7ad178642e1c2115d640ff3eea63beee24e5973396cf3c57
3
+ size 918825335
lfm_posthoc/lam10/log.json ADDED
@@ -0,0 +1,536 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "args": {
3
+ "name": "lam10",
4
+ "lam": 10.0,
5
+ "tokens": 20000000.0,
6
+ "seq": 1024,
7
+ "bs": 8,
8
+ "micro": 8,
9
+ "lr": 5e-05,
10
+ "warmup": 100,
11
+ "frac": 0.25,
12
+ "dense": "0,1",
13
+ "v2_tokens": 1024,
14
+ "data": "/workspace/lfm/val_text/shard_00000.parquet",
15
+ "doc_start": 0,
16
+ "eval_every": 500,
17
+ "eval_docs": 64,
18
+ "max_steps": 0
19
+ },
20
+ "log": [
21
+ {
22
+ "step": 0,
23
+ "bpb": 1.1158697211586375
24
+ },
25
+ {
26
+ "step": 1,
27
+ "kl": 0.9567757844924927,
28
+ "v2": 0.5121780633926392
29
+ },
30
+ {
31
+ "step": 25,
32
+ "kl": 0.6805148124694824,
33
+ "v2": 0.5166142582893372
34
+ },
35
+ {
36
+ "step": 50,
37
+ "kl": 0.5758242607116699,
38
+ "v2": 0.5218320488929749
39
+ },
40
+ {
41
+ "step": 75,
42
+ "kl": 0.5063725709915161,
43
+ "v2": 0.5415690541267395
44
+ },
45
+ {
46
+ "step": 100,
47
+ "kl": 0.510666012763977,
48
+ "v2": 0.5490570068359375
49
+ },
50
+ {
51
+ "step": 125,
52
+ "kl": 0.5222418308258057,
53
+ "v2": 0.5583083629608154
54
+ },
55
+ {
56
+ "step": 150,
57
+ "kl": 0.49504542350769043,
58
+ "v2": 0.5874360799789429
59
+ },
60
+ {
61
+ "step": 175,
62
+ "kl": 0.49410390853881836,
63
+ "v2": 0.5849936008453369
64
+ },
65
+ {
66
+ "step": 200,
67
+ "kl": 0.4617905616760254,
68
+ "v2": 0.5984220504760742
69
+ },
70
+ {
71
+ "step": 225,
72
+ "kl": 0.5620356202125549,
73
+ "v2": 0.5975736379623413
74
+ },
75
+ {
76
+ "step": 250,
77
+ "kl": 0.5122577548027039,
78
+ "v2": 0.6126584410667419
79
+ },
80
+ {
81
+ "step": 275,
82
+ "kl": 0.4663079082965851,
83
+ "v2": 0.6313234567642212
84
+ },
85
+ {
86
+ "step": 300,
87
+ "kl": 0.4986872673034668,
88
+ "v2": 0.6250436902046204
89
+ },
90
+ {
91
+ "step": 325,
92
+ "kl": 0.49636000394821167,
93
+ "v2": 0.6161631345748901
94
+ },
95
+ {
96
+ "step": 350,
97
+ "kl": 0.46386951208114624,
98
+ "v2": 0.6398818492889404
99
+ },
100
+ {
101
+ "step": 375,
102
+ "kl": 0.5316632986068726,
103
+ "v2": 0.6414067149162292
104
+ },
105
+ {
106
+ "step": 400,
107
+ "kl": 0.5013736486434937,
108
+ "v2": 0.637249231338501
109
+ },
110
+ {
111
+ "step": 425,
112
+ "kl": 0.5416275262832642,
113
+ "v2": 0.6509120464324951
114
+ },
115
+ {
116
+ "step": 450,
117
+ "kl": 0.44913533329963684,
118
+ "v2": 0.6528211832046509
119
+ },
120
+ {
121
+ "step": 475,
122
+ "kl": 0.4779491722583771,
123
+ "v2": 0.6567109823226929
124
+ },
125
+ {
126
+ "step": 500,
127
+ "kl": 0.5010685324668884,
128
+ "v2": 0.662144660949707
129
+ },
130
+ {
131
+ "step": 500,
132
+ "bpb": 0.9717341480500024
133
+ },
134
+ {
135
+ "step": 525,
136
+ "kl": 0.4771064221858978,
137
+ "v2": 0.6661219596862793
138
+ },
139
+ {
140
+ "step": 550,
141
+ "kl": 0.5050444602966309,
142
+ "v2": 0.6608487367630005
143
+ },
144
+ {
145
+ "step": 575,
146
+ "kl": 0.49432283639907837,
147
+ "v2": 0.674696147441864
148
+ },
149
+ {
150
+ "step": 600,
151
+ "kl": 0.4970431923866272,
152
+ "v2": 0.6805545091629028
153
+ },
154
+ {
155
+ "step": 625,
156
+ "kl": 0.5078287124633789,
157
+ "v2": 0.678322970867157
158
+ },
159
+ {
160
+ "step": 650,
161
+ "kl": 0.4857408106327057,
162
+ "v2": 0.6887492537498474
163
+ },
164
+ {
165
+ "step": 675,
166
+ "kl": 0.5085928440093994,
167
+ "v2": 0.6892139315605164
168
+ },
169
+ {
170
+ "step": 700,
171
+ "kl": 0.5089031457901001,
172
+ "v2": 0.6878249049186707
173
+ },
174
+ {
175
+ "step": 725,
176
+ "kl": 0.4961130619049072,
177
+ "v2": 0.6971300840377808
178
+ },
179
+ {
180
+ "step": 750,
181
+ "kl": 0.5042147040367126,
182
+ "v2": 0.6996113657951355
183
+ },
184
+ {
185
+ "step": 775,
186
+ "kl": 0.45396888256073,
187
+ "v2": 0.7082163691520691
188
+ },
189
+ {
190
+ "step": 800,
191
+ "kl": 0.48240041732788086,
192
+ "v2": 0.7139182090759277
193
+ },
194
+ {
195
+ "step": 825,
196
+ "kl": 0.461306095123291,
197
+ "v2": 0.7144457101821899
198
+ },
199
+ {
200
+ "step": 850,
201
+ "kl": 0.49483346939086914,
202
+ "v2": 0.7098020315170288
203
+ },
204
+ {
205
+ "step": 875,
206
+ "kl": 0.4782881736755371,
207
+ "v2": 0.7162332534790039
208
+ },
209
+ {
210
+ "step": 900,
211
+ "kl": 0.4713932275772095,
212
+ "v2": 0.7105610370635986
213
+ },
214
+ {
215
+ "step": 925,
216
+ "kl": 0.48280078172683716,
217
+ "v2": 0.7109979391098022
218
+ },
219
+ {
220
+ "step": 950,
221
+ "kl": 0.450606107711792,
222
+ "v2": 0.7168129682540894
223
+ },
224
+ {
225
+ "step": 975,
226
+ "kl": 0.5144466161727905,
227
+ "v2": 0.7079391479492188
228
+ },
229
+ {
230
+ "step": 1000,
231
+ "kl": 0.45295941829681396,
232
+ "v2": 0.7235746383666992
233
+ },
234
+ {
235
+ "step": 1000,
236
+ "bpb": 0.9680976517991156
237
+ },
238
+ {
239
+ "step": 1025,
240
+ "kl": 0.44200605154037476,
241
+ "v2": 0.7186775207519531
242
+ },
243
+ {
244
+ "step": 1050,
245
+ "kl": 0.48910245299339294,
246
+ "v2": 0.7191118597984314
247
+ },
248
+ {
249
+ "step": 1075,
250
+ "kl": 0.4604094624519348,
251
+ "v2": 0.7230839133262634
252
+ },
253
+ {
254
+ "step": 1100,
255
+ "kl": 0.46954652667045593,
256
+ "v2": 0.7238879203796387
257
+ },
258
+ {
259
+ "step": 1125,
260
+ "kl": 0.46877187490463257,
261
+ "v2": 0.7172483205795288
262
+ },
263
+ {
264
+ "step": 1150,
265
+ "kl": 0.46962401270866394,
266
+ "v2": 0.7197257876396179
267
+ },
268
+ {
269
+ "step": 1175,
270
+ "kl": 0.4423319697380066,
271
+ "v2": 0.7244020700454712
272
+ },
273
+ {
274
+ "step": 1200,
275
+ "kl": 0.4539686441421509,
276
+ "v2": 0.7232769727706909
277
+ },
278
+ {
279
+ "step": 1225,
280
+ "kl": 0.48193496465682983,
281
+ "v2": 0.7089299559593201
282
+ },
283
+ {
284
+ "step": 1250,
285
+ "kl": 0.45825693011283875,
286
+ "v2": 0.7220684885978699
287
+ },
288
+ {
289
+ "step": 1275,
290
+ "kl": 0.4153714179992676,
291
+ "v2": 0.7335607409477234
292
+ },
293
+ {
294
+ "step": 1300,
295
+ "kl": 0.47854793071746826,
296
+ "v2": 0.7152472734451294
297
+ },
298
+ {
299
+ "step": 1325,
300
+ "kl": 0.45901647210121155,
301
+ "v2": 0.7186559438705444
302
+ },
303
+ {
304
+ "step": 1350,
305
+ "kl": 0.4785187244415283,
306
+ "v2": 0.7257732152938843
307
+ },
308
+ {
309
+ "step": 1375,
310
+ "kl": 0.3946749269962311,
311
+ "v2": 0.7312217950820923
312
+ },
313
+ {
314
+ "step": 1400,
315
+ "kl": 0.44470900297164917,
316
+ "v2": 0.7313439846038818
317
+ },
318
+ {
319
+ "step": 1425,
320
+ "kl": 0.44638675451278687,
321
+ "v2": 0.7234344482421875
322
+ },
323
+ {
324
+ "step": 1450,
325
+ "kl": 0.4295235276222229,
326
+ "v2": 0.733188271522522
327
+ },
328
+ {
329
+ "step": 1475,
330
+ "kl": 0.43276941776275635,
331
+ "v2": 0.725287914276123
332
+ },
333
+ {
334
+ "step": 1500,
335
+ "kl": 0.40881919860839844,
336
+ "v2": 0.7202348709106445
337
+ },
338
+ {
339
+ "step": 1500,
340
+ "bpb": 0.9551572504817758
341
+ },
342
+ {
343
+ "step": 1525,
344
+ "kl": 0.40365666151046753,
345
+ "v2": 0.7291638255119324
346
+ },
347
+ {
348
+ "step": 1550,
349
+ "kl": 0.4154655635356903,
350
+ "v2": 0.7356778979301453
351
+ },
352
+ {
353
+ "step": 1575,
354
+ "kl": 0.4188691973686218,
355
+ "v2": 0.7242900729179382
356
+ },
357
+ {
358
+ "step": 1600,
359
+ "kl": 0.4097726047039032,
360
+ "v2": 0.7322882413864136
361
+ },
362
+ {
363
+ "step": 1625,
364
+ "kl": 0.46545079350471497,
365
+ "v2": 0.7162374258041382
366
+ },
367
+ {
368
+ "step": 1650,
369
+ "kl": 0.4153555631637573,
370
+ "v2": 0.7328672409057617
371
+ },
372
+ {
373
+ "step": 1675,
374
+ "kl": 0.3911184072494507,
375
+ "v2": 0.7268070578575134
376
+ },
377
+ {
378
+ "step": 1700,
379
+ "kl": 0.41736191511154175,
380
+ "v2": 0.7315605878829956
381
+ },
382
+ {
383
+ "step": 1725,
384
+ "kl": 0.4216347932815552,
385
+ "v2": 0.7403724193572998
386
+ },
387
+ {
388
+ "step": 1750,
389
+ "kl": 0.42835384607315063,
390
+ "v2": 0.7339169979095459
391
+ },
392
+ {
393
+ "step": 1775,
394
+ "kl": 0.41845932602882385,
395
+ "v2": 0.7234562635421753
396
+ },
397
+ {
398
+ "step": 1800,
399
+ "kl": 0.41512590646743774,
400
+ "v2": 0.7330150008201599
401
+ },
402
+ {
403
+ "step": 1825,
404
+ "kl": 0.4038649797439575,
405
+ "v2": 0.7267810702323914
406
+ },
407
+ {
408
+ "step": 1850,
409
+ "kl": 0.44040095806121826,
410
+ "v2": 0.7361396551132202
411
+ },
412
+ {
413
+ "step": 1875,
414
+ "kl": 0.4136882722377777,
415
+ "v2": 0.7325267791748047
416
+ },
417
+ {
418
+ "step": 1900,
419
+ "kl": 0.4516754746437073,
420
+ "v2": 0.7292265295982361
421
+ },
422
+ {
423
+ "step": 1925,
424
+ "kl": 0.40279334783554077,
425
+ "v2": 0.7277811765670776
426
+ },
427
+ {
428
+ "step": 1950,
429
+ "kl": 0.4331173896789551,
430
+ "v2": 0.7397186160087585
431
+ },
432
+ {
433
+ "step": 1975,
434
+ "kl": 0.42194291949272156,
435
+ "v2": 0.7219225764274597
436
+ },
437
+ {
438
+ "step": 2000,
439
+ "kl": 0.42822903394699097,
440
+ "v2": 0.7371947169303894
441
+ },
442
+ {
443
+ "step": 2000,
444
+ "bpb": 0.9496056799436946
445
+ },
446
+ {
447
+ "step": 2025,
448
+ "kl": 0.41823434829711914,
449
+ "v2": 0.7225486636161804
450
+ },
451
+ {
452
+ "step": 2050,
453
+ "kl": 0.3759946823120117,
454
+ "v2": 0.7401331663131714
455
+ },
456
+ {
457
+ "step": 2075,
458
+ "kl": 0.3947470188140869,
459
+ "v2": 0.7413791418075562
460
+ },
461
+ {
462
+ "step": 2100,
463
+ "kl": 0.40479955077171326,
464
+ "v2": 0.7358704805374146
465
+ },
466
+ {
467
+ "step": 2125,
468
+ "kl": 0.3906734585762024,
469
+ "v2": 0.7366509437561035
470
+ },
471
+ {
472
+ "step": 2150,
473
+ "kl": 0.3809944987297058,
474
+ "v2": 0.7408315539360046
475
+ },
476
+ {
477
+ "step": 2175,
478
+ "kl": 0.46800005435943604,
479
+ "v2": 0.7267584800720215
480
+ },
481
+ {
482
+ "step": 2200,
483
+ "kl": 0.443926602602005,
484
+ "v2": 0.7301518321037292
485
+ },
486
+ {
487
+ "step": 2225,
488
+ "kl": 0.44637081027030945,
489
+ "v2": 0.738400936126709
490
+ },
491
+ {
492
+ "step": 2250,
493
+ "kl": 0.4049396514892578,
494
+ "v2": 0.7364320158958435
495
+ },
496
+ {
497
+ "step": 2275,
498
+ "kl": 0.43352243304252625,
499
+ "v2": 0.7247334718704224
500
+ },
501
+ {
502
+ "step": 2300,
503
+ "kl": 0.39259201288223267,
504
+ "v2": 0.7407164573669434
505
+ },
506
+ {
507
+ "step": 2325,
508
+ "kl": 0.39357244968414307,
509
+ "v2": 0.7396523356437683
510
+ },
511
+ {
512
+ "step": 2350,
513
+ "kl": 0.4133729934692383,
514
+ "v2": 0.7367298007011414
515
+ },
516
+ {
517
+ "step": 2375,
518
+ "kl": 0.43429800868034363,
519
+ "v2": 0.7416977882385254
520
+ },
521
+ {
522
+ "step": 2400,
523
+ "kl": 0.41854673624038696,
524
+ "v2": 0.7408771514892578
525
+ },
526
+ {
527
+ "step": 2425,
528
+ "kl": 0.4388637840747833,
529
+ "v2": 0.7434670925140381
530
+ },
531
+ {
532
+ "step": 2441,
533
+ "bpb": 0.9488953864726722
534
+ }
535
+ ]
536
+ }
lfm_posthoc/lam10/student.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7895c892173d42bcab648865c6463fc4e3fd10df2204de542574162d6cb05470
3
+ size 918825335
lfm_posthoc/lam30/log.json ADDED
@@ -0,0 +1,536 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "args": {
3
+ "name": "lam30",
4
+ "lam": 30.0,
5
+ "tokens": 20000000.0,
6
+ "seq": 1024,
7
+ "bs": 8,
8
+ "micro": 8,
9
+ "lr": 5e-05,
10
+ "warmup": 100,
11
+ "frac": 0.25,
12
+ "dense": "0,1",
13
+ "v2_tokens": 1024,
14
+ "data": "/workspace/lfm/val_text/shard_00000.parquet",
15
+ "doc_start": 0,
16
+ "eval_every": 500,
17
+ "eval_docs": 64,
18
+ "max_steps": 0
19
+ },
20
+ "log": [
21
+ {
22
+ "step": 0,
23
+ "bpb": 1.1158697211586375
24
+ },
25
+ {
26
+ "step": 1,
27
+ "kl": 0.9567757844924927,
28
+ "v2": 0.5121780633926392
29
+ },
30
+ {
31
+ "step": 25,
32
+ "kl": 0.6852031350135803,
33
+ "v2": 0.519575834274292
34
+ },
35
+ {
36
+ "step": 50,
37
+ "kl": 0.612939715385437,
38
+ "v2": 0.536693811416626
39
+ },
40
+ {
41
+ "step": 75,
42
+ "kl": 0.6628031730651855,
43
+ "v2": 0.5855995416641235
44
+ },
45
+ {
46
+ "step": 100,
47
+ "kl": 0.7301273941993713,
48
+ "v2": 0.6085925102233887
49
+ },
50
+ {
51
+ "step": 125,
52
+ "kl": 0.7643752694129944,
53
+ "v2": 0.6244039535522461
54
+ },
55
+ {
56
+ "step": 150,
57
+ "kl": 0.6954302191734314,
58
+ "v2": 0.6539231538772583
59
+ },
60
+ {
61
+ "step": 175,
62
+ "kl": 0.712317168712616,
63
+ "v2": 0.6509629487991333
64
+ },
65
+ {
66
+ "step": 200,
67
+ "kl": 0.6909964084625244,
68
+ "v2": 0.6611611843109131
69
+ },
70
+ {
71
+ "step": 225,
72
+ "kl": 0.7976746559143066,
73
+ "v2": 0.6576403975486755
74
+ },
75
+ {
76
+ "step": 250,
77
+ "kl": 0.7557328939437866,
78
+ "v2": 0.6770698428153992
79
+ },
80
+ {
81
+ "step": 275,
82
+ "kl": 0.6881502270698547,
83
+ "v2": 0.7029839754104614
84
+ },
85
+ {
86
+ "step": 300,
87
+ "kl": 0.7569065093994141,
88
+ "v2": 0.7006992101669312
89
+ },
90
+ {
91
+ "step": 325,
92
+ "kl": 0.765669584274292,
93
+ "v2": 0.6898188591003418
94
+ },
95
+ {
96
+ "step": 350,
97
+ "kl": 0.6862740516662598,
98
+ "v2": 0.7034606337547302
99
+ },
100
+ {
101
+ "step": 375,
102
+ "kl": 0.7587317824363708,
103
+ "v2": 0.7113478183746338
104
+ },
105
+ {
106
+ "step": 400,
107
+ "kl": 0.7582862973213196,
108
+ "v2": 0.7102171778678894
109
+ },
110
+ {
111
+ "step": 425,
112
+ "kl": 0.7752246260643005,
113
+ "v2": 0.7032108306884766
114
+ },
115
+ {
116
+ "step": 450,
117
+ "kl": 0.6610547304153442,
118
+ "v2": 0.7193240523338318
119
+ },
120
+ {
121
+ "step": 475,
122
+ "kl": 0.6940382719039917,
123
+ "v2": 0.710284948348999
124
+ },
125
+ {
126
+ "step": 500,
127
+ "kl": 0.723612904548645,
128
+ "v2": 0.7197579741477966
129
+ },
130
+ {
131
+ "step": 500,
132
+ "bpb": 1.039170600789881
133
+ },
134
+ {
135
+ "step": 525,
136
+ "kl": 0.6996949911117554,
137
+ "v2": 0.7240695953369141
138
+ },
139
+ {
140
+ "step": 550,
141
+ "kl": 0.7239395380020142,
142
+ "v2": 0.7148751020431519
143
+ },
144
+ {
145
+ "step": 575,
146
+ "kl": 0.6885330677032471,
147
+ "v2": 0.725610613822937
148
+ },
149
+ {
150
+ "step": 600,
151
+ "kl": 0.6794240474700928,
152
+ "v2": 0.7286481857299805
153
+ },
154
+ {
155
+ "step": 625,
156
+ "kl": 0.7052067518234253,
157
+ "v2": 0.7196173667907715
158
+ },
159
+ {
160
+ "step": 650,
161
+ "kl": 0.6813843250274658,
162
+ "v2": 0.737176775932312
163
+ },
164
+ {
165
+ "step": 675,
166
+ "kl": 0.7123562097549438,
167
+ "v2": 0.729498565196991
168
+ },
169
+ {
170
+ "step": 700,
171
+ "kl": 0.6975288391113281,
172
+ "v2": 0.7263223528862
173
+ },
174
+ {
175
+ "step": 725,
176
+ "kl": 0.6707978248596191,
177
+ "v2": 0.7262341380119324
178
+ },
179
+ {
180
+ "step": 750,
181
+ "kl": 0.681881308555603,
182
+ "v2": 0.7310070395469666
183
+ },
184
+ {
185
+ "step": 775,
186
+ "kl": 0.6304110884666443,
187
+ "v2": 0.73924720287323
188
+ },
189
+ {
190
+ "step": 800,
191
+ "kl": 0.6538665294647217,
192
+ "v2": 0.7397634387016296
193
+ },
194
+ {
195
+ "step": 825,
196
+ "kl": 0.6433805227279663,
197
+ "v2": 0.7406503558158875
198
+ },
199
+ {
200
+ "step": 850,
201
+ "kl": 0.686224102973938,
202
+ "v2": 0.7293993830680847
203
+ },
204
+ {
205
+ "step": 875,
206
+ "kl": 0.660400390625,
207
+ "v2": 0.7434613108634949
208
+ },
209
+ {
210
+ "step": 900,
211
+ "kl": 0.6423088312149048,
212
+ "v2": 0.7325193285942078
213
+ },
214
+ {
215
+ "step": 925,
216
+ "kl": 0.6635453701019287,
217
+ "v2": 0.7307019233703613
218
+ },
219
+ {
220
+ "step": 950,
221
+ "kl": 0.6423885822296143,
222
+ "v2": 0.7362762689590454
223
+ },
224
+ {
225
+ "step": 975,
226
+ "kl": 0.697304368019104,
227
+ "v2": 0.731419563293457
228
+ },
229
+ {
230
+ "step": 1000,
231
+ "kl": 0.6290038228034973,
232
+ "v2": 0.7452073097229004
233
+ },
234
+ {
235
+ "step": 1000,
236
+ "bpb": 1.0275161617816257
237
+ },
238
+ {
239
+ "step": 1025,
240
+ "kl": 0.6236750483512878,
241
+ "v2": 0.7377729415893555
242
+ },
243
+ {
244
+ "step": 1050,
245
+ "kl": 0.6637212038040161,
246
+ "v2": 0.7397140860557556
247
+ },
248
+ {
249
+ "step": 1075,
250
+ "kl": 0.6306295394897461,
251
+ "v2": 0.7423157095909119
252
+ },
253
+ {
254
+ "step": 1100,
255
+ "kl": 0.6457698345184326,
256
+ "v2": 0.7419235706329346
257
+ },
258
+ {
259
+ "step": 1125,
260
+ "kl": 0.6500687599182129,
261
+ "v2": 0.7352355718612671
262
+ },
263
+ {
264
+ "step": 1150,
265
+ "kl": 0.6646006107330322,
266
+ "v2": 0.731339156627655
267
+ },
268
+ {
269
+ "step": 1175,
270
+ "kl": 0.6234750747680664,
271
+ "v2": 0.7429856061935425
272
+ },
273
+ {
274
+ "step": 1200,
275
+ "kl": 0.6179300546646118,
276
+ "v2": 0.7386311292648315
277
+ },
278
+ {
279
+ "step": 1225,
280
+ "kl": 0.6625158786773682,
281
+ "v2": 0.7238904237747192
282
+ },
283
+ {
284
+ "step": 1250,
285
+ "kl": 0.6490756273269653,
286
+ "v2": 0.7379249334335327
287
+ },
288
+ {
289
+ "step": 1275,
290
+ "kl": 0.588732123374939,
291
+ "v2": 0.7491040229797363
292
+ },
293
+ {
294
+ "step": 1300,
295
+ "kl": 0.6630625128746033,
296
+ "v2": 0.7297951579093933
297
+ },
298
+ {
299
+ "step": 1325,
300
+ "kl": 0.6420645713806152,
301
+ "v2": 0.7347722053527832
302
+ },
303
+ {
304
+ "step": 1350,
305
+ "kl": 0.6723450422286987,
306
+ "v2": 0.7428981065750122
307
+ },
308
+ {
309
+ "step": 1375,
310
+ "kl": 0.5604075789451599,
311
+ "v2": 0.745333194732666
312
+ },
313
+ {
314
+ "step": 1400,
315
+ "kl": 0.6222208738327026,
316
+ "v2": 0.7469989657402039
317
+ },
318
+ {
319
+ "step": 1425,
320
+ "kl": 0.625604510307312,
321
+ "v2": 0.7394630312919617
322
+ },
323
+ {
324
+ "step": 1450,
325
+ "kl": 0.6182290315628052,
326
+ "v2": 0.7485737204551697
327
+ },
328
+ {
329
+ "step": 1475,
330
+ "kl": 0.6214414834976196,
331
+ "v2": 0.7396450042724609
332
+ },
333
+ {
334
+ "step": 1500,
335
+ "kl": 0.5841304063796997,
336
+ "v2": 0.737494170665741
337
+ },
338
+ {
339
+ "step": 1500,
340
+ "bpb": 1.0141624442718846
341
+ },
342
+ {
343
+ "step": 1525,
344
+ "kl": 0.5751022100448608,
345
+ "v2": 0.7439262270927429
346
+ },
347
+ {
348
+ "step": 1550,
349
+ "kl": 0.5885058641433716,
350
+ "v2": 0.7491492033004761
351
+ },
352
+ {
353
+ "step": 1575,
354
+ "kl": 0.6095647811889648,
355
+ "v2": 0.7392956614494324
356
+ },
357
+ {
358
+ "step": 1600,
359
+ "kl": 0.5844666957855225,
360
+ "v2": 0.7473974227905273
361
+ },
362
+ {
363
+ "step": 1625,
364
+ "kl": 0.6698254942893982,
365
+ "v2": 0.7298187017440796
366
+ },
367
+ {
368
+ "step": 1650,
369
+ "kl": 0.5906268358230591,
370
+ "v2": 0.7461249232292175
371
+ },
372
+ {
373
+ "step": 1675,
374
+ "kl": 0.5622061491012573,
375
+ "v2": 0.7406004667282104
376
+ },
377
+ {
378
+ "step": 1700,
379
+ "kl": 0.5837856531143188,
380
+ "v2": 0.7463316917419434
381
+ },
382
+ {
383
+ "step": 1725,
384
+ "kl": 0.5965714454650879,
385
+ "v2": 0.7548431158065796
386
+ },
387
+ {
388
+ "step": 1750,
389
+ "kl": 0.6182277202606201,
390
+ "v2": 0.7483779788017273
391
+ },
392
+ {
393
+ "step": 1775,
394
+ "kl": 0.5947036743164062,
395
+ "v2": 0.7394563555717468
396
+ },
397
+ {
398
+ "step": 1800,
399
+ "kl": 0.5840776562690735,
400
+ "v2": 0.7466443777084351
401
+ },
402
+ {
403
+ "step": 1825,
404
+ "kl": 0.5858625173568726,
405
+ "v2": 0.7399744987487793
406
+ },
407
+ {
408
+ "step": 1850,
409
+ "kl": 0.6211203336715698,
410
+ "v2": 0.7482191324234009
411
+ },
412
+ {
413
+ "step": 1875,
414
+ "kl": 0.5869969725608826,
415
+ "v2": 0.74660325050354
416
+ },
417
+ {
418
+ "step": 1900,
419
+ "kl": 0.6490370035171509,
420
+ "v2": 0.7442652583122253
421
+ },
422
+ {
423
+ "step": 1925,
424
+ "kl": 0.569796621799469,
425
+ "v2": 0.7425372004508972
426
+ },
427
+ {
428
+ "step": 1950,
429
+ "kl": 0.606709361076355,
430
+ "v2": 0.7533676028251648
431
+ },
432
+ {
433
+ "step": 1975,
434
+ "kl": 0.5977227687835693,
435
+ "v2": 0.7364615797996521
436
+ },
437
+ {
438
+ "step": 2000,
439
+ "kl": 0.6061283349990845,
440
+ "v2": 0.7509064674377441
441
+ },
442
+ {
443
+ "step": 2000,
444
+ "bpb": 1.0094860592225428
445
+ },
446
+ {
447
+ "step": 2025,
448
+ "kl": 0.5938690304756165,
449
+ "v2": 0.7389944791793823
450
+ },
451
+ {
452
+ "step": 2050,
453
+ "kl": 0.5432311296463013,
454
+ "v2": 0.7529944777488708
455
+ },
456
+ {
457
+ "step": 2075,
458
+ "kl": 0.5748882293701172,
459
+ "v2": 0.7557010054588318
460
+ },
461
+ {
462
+ "step": 2100,
463
+ "kl": 0.5797919034957886,
464
+ "v2": 0.7504448294639587
465
+ },
466
+ {
467
+ "step": 2125,
468
+ "kl": 0.570436418056488,
469
+ "v2": 0.7510671019554138
470
+ },
471
+ {
472
+ "step": 2150,
473
+ "kl": 0.5468230247497559,
474
+ "v2": 0.7531040906906128
475
+ },
476
+ {
477
+ "step": 2175,
478
+ "kl": 0.683279812335968,
479
+ "v2": 0.7414388656616211
480
+ },
481
+ {
482
+ "step": 2200,
483
+ "kl": 0.6222787499427795,
484
+ "v2": 0.7441861033439636
485
+ },
486
+ {
487
+ "step": 2225,
488
+ "kl": 0.6235721111297607,
489
+ "v2": 0.7518894076347351
490
+ },
491
+ {
492
+ "step": 2250,
493
+ "kl": 0.5736346244812012,
494
+ "v2": 0.7490965723991394
495
+ },
496
+ {
497
+ "step": 2275,
498
+ "kl": 0.6147838234901428,
499
+ "v2": 0.7375831604003906
500
+ },
501
+ {
502
+ "step": 2300,
503
+ "kl": 0.5597199201583862,
504
+ "v2": 0.7532729506492615
505
+ },
506
+ {
507
+ "step": 2325,
508
+ "kl": 0.5606181621551514,
509
+ "v2": 0.7539691925048828
510
+ },
511
+ {
512
+ "step": 2350,
513
+ "kl": 0.5969135761260986,
514
+ "v2": 0.7491833567619324
515
+ },
516
+ {
517
+ "step": 2375,
518
+ "kl": 0.622349739074707,
519
+ "v2": 0.7543088793754578
520
+ },
521
+ {
522
+ "step": 2400,
523
+ "kl": 0.6025652289390564,
524
+ "v2": 0.7545272707939148
525
+ },
526
+ {
527
+ "step": 2425,
528
+ "kl": 0.6382248401641846,
529
+ "v2": 0.7574693560600281
530
+ },
531
+ {
532
+ "step": 2441,
533
+ "bpb": 1.008766128718237
534
+ }
535
+ ]
536
+ }
lfm_posthoc/lam30/student.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1de9e0b99e8397ca5ef5327267e5ab25c9973be6a40bc8a82108ac9ca5c897f0
3
+ size 918825335