JinghuiLuAstronaut commited on
Commit
1d3397f
·
verified ·
1 Parent(s): 6cde873

Add files using upload-large-folder tool

Browse files
Files changed (20) hide show
  1. LTA_openwebtext_dualt/docs/lta_samples/metrics_20260517/selected_long20k_len256_bs512_ode128_20260517_1830long20k/baseline_allcorrupt/step_6000/decode_token_acc_summary.json +159 -0
  2. LTA_openwebtext_dualt/docs/lta_samples/metrics_20260517/selected_long20k_len256_bs512_ode128_20260517_1830long20k/baseline_allcorrupt/step_7000/decode_token_acc.jsonl +1 -0
  3. LTA_openwebtext_dualt/docs/lta_samples/metrics_20260517/selected_long20k_len256_bs512_ode128_20260517_1830long20k/baseline_allcorrupt/step_7000/decode_token_acc.tsv +2 -0
  4. LTA_openwebtext_dualt/docs/lta_samples/metrics_20260517/selected_long20k_len256_bs512_ode128_20260517_1830long20k/baseline_allcorrupt/step_7000/decode_token_acc_summary.json +159 -0
  5. LTA_openwebtext_dualt/docs/lta_samples/metrics_20260517/selected_long20k_len256_bs512_ode128_20260517_1830long20k/rollin_p50_s4_old/step_3000/decode_token_acc.jsonl +1 -0
  6. LTA_openwebtext_dualt/logs/ctx1024_sampleds_sweep_4gpu/ctx1024_core_tradeoff_dual_20260517_230929.log +2435 -0
  7. LTA_openwebtext_dualt/logs/ctx1024_sampleds_sweep_4gpu/t5tok_ctx1024_k03_20260518_022728.log +1808 -0
  8. LTA_openwebtext_dualt/logs/ctx1024_sampleds_sweep_4gpu/t5tok_ctx1024_randk_20260518_014800.nohup +0 -0
  9. LTA_openwebtext_dualt/logs/ctx1024_sampleds_sweep_4gpu/t5tok_ctx1024_randk_20260518_014800.pid +1 -0
  10. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/__init__.py +111 -0
  11. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/functools.py +409 -0
  12. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/lowlevel.py +196 -0
  13. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/pytest_plugin.py +363 -0
  14. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/to_interpreter.py +246 -0
  15. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/to_process.py +266 -0
  16. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/to_thread.py +78 -0
  17. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/whisper/configuration_whisper.py +167 -0
  18. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/whisper/english_normalizer.py +596 -0
  19. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/whisper/generation_whisper.py +0 -0
  20. LTA_openwebtext_dualt/mini_owt_logdirichlet/audits/owt_ultraclean10k_row_audit/summary.txt +155 -0
LTA_openwebtext_dualt/docs/lta_samples/metrics_20260517/selected_long20k_len256_bs512_ode128_20260517_1830long20k/baseline_allcorrupt/step_6000/decode_token_acc_summary.json ADDED
@@ -0,0 +1,159 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "num_rows": 1,
3
+ "best_by_run": {
4
+ "train8_noisegeo_len256_allcorrupt_fullvocab_dirC1_1024_20260517_163805::none": {
5
+ "run": "train8_noisegeo_len256_allcorrupt_fullvocab_dirC1_1024_20260517_163805",
6
+ "checkpoint": "runs/train8_noisegeo_len256_allcorrupt_fullvocab_dirC1_1024_20260517_163805/step_0006000.pt",
7
+ "ckpt_step": 6000,
8
+ "endpoint_softening": "none",
9
+ "decode_rule": "flowmap",
10
+ "steps": 128,
11
+ "time_schedule": "logit_normal",
12
+ "model_t_mode": "post",
13
+ "final_from": "state",
14
+ "n_gen": 64,
15
+ "n_refs": 8,
16
+ "token_acc_mean": 0.1416015625,
17
+ "token_acc_min": 0.0625,
18
+ "token_acc_max": 0.34375,
19
+ "exact_acc": 0.0,
20
+ "exact_count": 0,
21
+ "exact_ref_coverage": 0.0,
22
+ "exact_ref_count": 0,
23
+ "exact_ref_hits": [],
24
+ "best_ref_idx": [
25
+ 2,
26
+ 2,
27
+ 2,
28
+ 2,
29
+ 1,
30
+ 1,
31
+ 2,
32
+ 1,
33
+ 0,
34
+ 5,
35
+ 2,
36
+ 2,
37
+ 4,
38
+ 2,
39
+ 5,
40
+ 1,
41
+ 1,
42
+ 1,
43
+ 1,
44
+ 1,
45
+ 5,
46
+ 1,
47
+ 4,
48
+ 2,
49
+ 0,
50
+ 2,
51
+ 0,
52
+ 1,
53
+ 2,
54
+ 5,
55
+ 2,
56
+ 1,
57
+ 2,
58
+ 1,
59
+ 2,
60
+ 5,
61
+ 0,
62
+ 1,
63
+ 2,
64
+ 1,
65
+ 2,
66
+ 2,
67
+ 1,
68
+ 5,
69
+ 5,
70
+ 0,
71
+ 2,
72
+ 2,
73
+ 2,
74
+ 5,
75
+ 1,
76
+ 1,
77
+ 1,
78
+ 2,
79
+ 5,
80
+ 1,
81
+ 2,
82
+ 1,
83
+ 2,
84
+ 2,
85
+ 0,
86
+ 1,
87
+ 2,
88
+ 1
89
+ ],
90
+ "best_token_acc": [
91
+ 0.109375,
92
+ 0.16796875,
93
+ 0.08203125,
94
+ 0.0625,
95
+ 0.13671875,
96
+ 0.1640625,
97
+ 0.07421875,
98
+ 0.13671875,
99
+ 0.19921875,
100
+ 0.13671875,
101
+ 0.0859375,
102
+ 0.078125,
103
+ 0.24609375,
104
+ 0.12109375,
105
+ 0.140625,
106
+ 0.078125,
107
+ 0.07421875,
108
+ 0.21484375,
109
+ 0.16796875,
110
+ 0.234375,
111
+ 0.109375,
112
+ 0.3125,
113
+ 0.20703125,
114
+ 0.09375,
115
+ 0.24609375,
116
+ 0.078125,
117
+ 0.171875,
118
+ 0.1796875,
119
+ 0.09765625,
120
+ 0.109375,
121
+ 0.09765625,
122
+ 0.296875,
123
+ 0.0703125,
124
+ 0.08984375,
125
+ 0.0703125,
126
+ 0.19921875,
127
+ 0.17578125,
128
+ 0.2421875,
129
+ 0.0859375,
130
+ 0.2578125,
131
+ 0.10546875,
132
+ 0.21484375,
133
+ 0.1640625,
134
+ 0.17578125,
135
+ 0.125,
136
+ 0.078125,
137
+ 0.078125,
138
+ 0.1015625,
139
+ 0.14453125,
140
+ 0.0859375,
141
+ 0.34375,
142
+ 0.06640625,
143
+ 0.1015625,
144
+ 0.09375,
145
+ 0.109375,
146
+ 0.2421875,
147
+ 0.08984375,
148
+ 0.109375,
149
+ 0.14453125,
150
+ 0.08984375,
151
+ 0.17578125,
152
+ 0.08984375,
153
+ 0.11328125,
154
+ 0.1171875
155
+ ]
156
+ }
157
+ },
158
+ "first_exact_by_run": {}
159
+ }
LTA_openwebtext_dualt/docs/lta_samples/metrics_20260517/selected_long20k_len256_bs512_ode128_20260517_1830long20k/baseline_allcorrupt/step_7000/decode_token_acc.jsonl ADDED
@@ -0,0 +1 @@
 
 
1
+ {"run": "train8_noisegeo_len256_allcorrupt_fullvocab_dirC1_1024_20260517_163805", "checkpoint": "runs/train8_noisegeo_len256_allcorrupt_fullvocab_dirC1_1024_20260517_163805/step_0007000.pt", "ckpt_step": 7000, "endpoint_softening": "none", "decode_rule": "flowmap", "steps": 128, "time_schedule": "logit_normal", "model_t_mode": "post", "final_from": "state", "n_gen": 64, "n_refs": 8, "token_acc_mean": 0.27874755859375, "token_acc_min": 0.07421875, "token_acc_max": 0.58984375, "exact_acc": 0.0, "exact_count": 0, "exact_ref_coverage": 0.0, "exact_ref_count": 0, "exact_ref_hits": [], "best_ref_idx": [3, 0, 3, 4, 1, 2, 4, 7, 2, 7, 1, 0, 0, 4, 2, 4, 2, 4, 7, 2, 4, 4, 4, 5, 4, 5, 2, 4, 4, 4, 2, 1, 2, 1, 4, 2, 2, 1, 4, 2, 1, 3, 1, 1, 4, 4, 1, 2, 4, 2, 1, 0, 2, 5, 0, 1, 1, 4, 4, 2, 1, 4, 4, 5], "best_token_acc": [0.13671875, 0.07421875, 0.1015625, 0.25390625, 0.4609375, 0.28125, 0.1484375, 0.203125, 0.109375, 0.15234375, 0.10546875, 0.40625, 0.25390625, 0.5390625, 0.3203125, 0.32421875, 0.44921875, 0.23828125, 0.11328125, 0.26171875, 0.49609375, 0.390625, 0.56640625, 0.13671875, 0.16015625, 0.203125, 0.078125, 0.12109375, 0.53125, 0.58984375, 0.40234375, 0.0859375, 0.43359375, 0.203125, 0.4921875, 0.4375, 0.4375, 0.1015625, 0.15234375, 0.46875, 0.078125, 0.1015625, 0.0859375, 0.37109375, 0.56640625, 0.5546875, 0.3203125, 0.08984375, 0.47265625, 0.109375, 0.0859375, 0.33203125, 0.11328125, 0.17578125, 0.37890625, 0.30078125, 0.2109375, 0.20703125, 0.1796875, 0.375, 0.1015625, 0.5390625, 0.46875, 0.19921875]}
LTA_openwebtext_dualt/docs/lta_samples/metrics_20260517/selected_long20k_len256_bs512_ode128_20260517_1830long20k/baseline_allcorrupt/step_7000/decode_token_acc.tsv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ run ckpt_step endpoint_softening token_acc_mean token_acc_min token_acc_max exact_acc exact_count exact_ref_coverage exact_ref_count
2
+ train8_noisegeo_len256_allcorrupt_fullvocab_dirC1_1024_20260517_163805 7000 none 0.27874755859375 0.07421875 0.58984375 0.0 0 0.0 0
LTA_openwebtext_dualt/docs/lta_samples/metrics_20260517/selected_long20k_len256_bs512_ode128_20260517_1830long20k/baseline_allcorrupt/step_7000/decode_token_acc_summary.json ADDED
@@ -0,0 +1,159 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "num_rows": 1,
3
+ "best_by_run": {
4
+ "train8_noisegeo_len256_allcorrupt_fullvocab_dirC1_1024_20260517_163805::none": {
5
+ "run": "train8_noisegeo_len256_allcorrupt_fullvocab_dirC1_1024_20260517_163805",
6
+ "checkpoint": "runs/train8_noisegeo_len256_allcorrupt_fullvocab_dirC1_1024_20260517_163805/step_0007000.pt",
7
+ "ckpt_step": 7000,
8
+ "endpoint_softening": "none",
9
+ "decode_rule": "flowmap",
10
+ "steps": 128,
11
+ "time_schedule": "logit_normal",
12
+ "model_t_mode": "post",
13
+ "final_from": "state",
14
+ "n_gen": 64,
15
+ "n_refs": 8,
16
+ "token_acc_mean": 0.27874755859375,
17
+ "token_acc_min": 0.07421875,
18
+ "token_acc_max": 0.58984375,
19
+ "exact_acc": 0.0,
20
+ "exact_count": 0,
21
+ "exact_ref_coverage": 0.0,
22
+ "exact_ref_count": 0,
23
+ "exact_ref_hits": [],
24
+ "best_ref_idx": [
25
+ 3,
26
+ 0,
27
+ 3,
28
+ 4,
29
+ 1,
30
+ 2,
31
+ 4,
32
+ 7,
33
+ 2,
34
+ 7,
35
+ 1,
36
+ 0,
37
+ 0,
38
+ 4,
39
+ 2,
40
+ 4,
41
+ 2,
42
+ 4,
43
+ 7,
44
+ 2,
45
+ 4,
46
+ 4,
47
+ 4,
48
+ 5,
49
+ 4,
50
+ 5,
51
+ 2,
52
+ 4,
53
+ 4,
54
+ 4,
55
+ 2,
56
+ 1,
57
+ 2,
58
+ 1,
59
+ 4,
60
+ 2,
61
+ 2,
62
+ 1,
63
+ 4,
64
+ 2,
65
+ 1,
66
+ 3,
67
+ 1,
68
+ 1,
69
+ 4,
70
+ 4,
71
+ 1,
72
+ 2,
73
+ 4,
74
+ 2,
75
+ 1,
76
+ 0,
77
+ 2,
78
+ 5,
79
+ 0,
80
+ 1,
81
+ 1,
82
+ 4,
83
+ 4,
84
+ 2,
85
+ 1,
86
+ 4,
87
+ 4,
88
+ 5
89
+ ],
90
+ "best_token_acc": [
91
+ 0.13671875,
92
+ 0.07421875,
93
+ 0.1015625,
94
+ 0.25390625,
95
+ 0.4609375,
96
+ 0.28125,
97
+ 0.1484375,
98
+ 0.203125,
99
+ 0.109375,
100
+ 0.15234375,
101
+ 0.10546875,
102
+ 0.40625,
103
+ 0.25390625,
104
+ 0.5390625,
105
+ 0.3203125,
106
+ 0.32421875,
107
+ 0.44921875,
108
+ 0.23828125,
109
+ 0.11328125,
110
+ 0.26171875,
111
+ 0.49609375,
112
+ 0.390625,
113
+ 0.56640625,
114
+ 0.13671875,
115
+ 0.16015625,
116
+ 0.203125,
117
+ 0.078125,
118
+ 0.12109375,
119
+ 0.53125,
120
+ 0.58984375,
121
+ 0.40234375,
122
+ 0.0859375,
123
+ 0.43359375,
124
+ 0.203125,
125
+ 0.4921875,
126
+ 0.4375,
127
+ 0.4375,
128
+ 0.1015625,
129
+ 0.15234375,
130
+ 0.46875,
131
+ 0.078125,
132
+ 0.1015625,
133
+ 0.0859375,
134
+ 0.37109375,
135
+ 0.56640625,
136
+ 0.5546875,
137
+ 0.3203125,
138
+ 0.08984375,
139
+ 0.47265625,
140
+ 0.109375,
141
+ 0.0859375,
142
+ 0.33203125,
143
+ 0.11328125,
144
+ 0.17578125,
145
+ 0.37890625,
146
+ 0.30078125,
147
+ 0.2109375,
148
+ 0.20703125,
149
+ 0.1796875,
150
+ 0.375,
151
+ 0.1015625,
152
+ 0.5390625,
153
+ 0.46875,
154
+ 0.19921875
155
+ ]
156
+ }
157
+ },
158
+ "first_exact_by_run": {}
159
+ }
LTA_openwebtext_dualt/docs/lta_samples/metrics_20260517/selected_long20k_len256_bs512_ode128_20260517_1830long20k/rollin_p50_s4_old/step_3000/decode_token_acc.jsonl ADDED
@@ -0,0 +1 @@
 
 
1
+ {"run": "train8_rollin_len256_rollin_p50_s4_i32_20260517_171654", "checkpoint": "runs/train8_rollin_len256_rollin_p50_s4_i32_20260517_171654/step_0003000.pt", "ckpt_step": 3000, "endpoint_softening": "none", "decode_rule": "flowmap", "steps": 128, "time_schedule": "logit_normal", "model_t_mode": "post", "final_from": "state", "n_gen": 64, "n_refs": 8, "token_acc_mean": 0.9420166015625, "token_acc_min": 0.12109375, "token_acc_max": 1.0, "exact_acc": 0.140625, "exact_count": 9, "exact_ref_coverage": 0.125, "exact_ref_count": 1, "exact_ref_hits": [6], "best_ref_idx": [6, 6, 6, 6, 6, 6, 4, 6, 1, 6, 7, 6, 6, 6, 7, 6, 6, 6, 6, 4, 6, 6, 6, 6, 1, 6, 6, 4, 6, 4, 6, 6, 6, 6, 6, 6, 6, 1, 6, 6, 6, 6, 4, 6, 6, 6, 6, 2, 6, 6, 4, 6, 6, 6, 4, 6, 4, 6, 6, 6, 1, 6, 6, 4], "best_token_acc": [1.0, 1.0, 0.98046875, 0.99609375, 0.9453125, 0.921875, 0.4765625, 0.98828125, 0.953125, 0.953125, 0.98828125, 0.99609375, 0.91015625, 0.94140625, 0.9921875, 0.99609375, 0.98828125, 0.99609375, 0.9921875, 0.859375, 0.99609375, 0.9921875, 0.984375, 0.98828125, 0.9765625, 0.99609375, 0.9921875, 0.98046875, 0.99609375, 0.9453125, 1.0, 0.98046875, 0.984375, 0.99609375, 0.984375, 0.99609375, 0.8125, 0.73828125, 0.9921875, 0.99609375, 0.93359375, 1.0, 0.96875, 1.0, 0.98828125, 0.9921875, 1.0, 0.96875, 1.0, 0.953125, 0.42578125, 0.9921875, 0.9765625, 0.984375, 0.96875, 0.984375, 0.12109375, 1.0, 0.98828125, 1.0, 0.88671875, 0.99609375, 0.98046875, 0.9765625]}
LTA_openwebtext_dualt/logs/ctx1024_sampleds_sweep_4gpu/ctx1024_core_tradeoff_dual_20260517_230929.log ADDED
@@ -0,0 +1,2435 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [ctx1024-sampleds] start stamp=ctx1024_core_tradeoff_dual_20260517_230929 len=1024 vocab=2664 out=docs/lta_samples/metrics_20260517/ctx1024_sampleds_sweep_bs512_ode128_ctx1024_core_tradeoff_dual_20260517_230929
2
+ [ctx1024-sampleds] config=p50_unif0_0p25_outwdm1 run=train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 p=0.50 mode=sampled_s steps=1 s_dist=uniform s_frac=0.0->0.25 beta=2.0,6.0 outwd=-1 sync_t=1
3
+ [ctx1024-sampleds] train config=p50_unif0_0p25_outwdm1 from=0 to=1000
4
+ [ctx1024-sampleds] eval config=p50_unif0_0p25_outwdm1 step=1000
5
+ [eval-decode-acc] train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 step=1000 soft=none
6
+ [decode] max_len=1024 generated=64/64
7
+ {
8
+ "num_rows": 1,
9
+ "best_by_run": {
10
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
11
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
12
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0001000.pt",
13
+ "ckpt_step": 1000,
14
+ "endpoint_softening": "none",
15
+ "decode_rule": "flowmap",
16
+ "steps": 128,
17
+ "time_schedule": "logit_normal",
18
+ "model_t_mode": "post",
19
+ "final_from": "state",
20
+ "n_gen": 64,
21
+ "n_refs": 8,
22
+ "token_acc_mean": 0.045379638671875,
23
+ "token_acc_min": 0.029296875,
24
+ "token_acc_max": 0.1044921875,
25
+ "exact_acc": 0.0,
26
+ "exact_count": 0,
27
+ "exact_ref_coverage": 0.0,
28
+ "exact_ref_count": 0,
29
+ "exact_ref_hits": [],
30
+ "best_ref_idx": [
31
+ 5,
32
+ 5,
33
+ 5,
34
+ 5,
35
+ 5,
36
+ 5,
37
+ 0,
38
+ 5,
39
+ 0,
40
+ 5,
41
+ 2,
42
+ 5,
43
+ 5,
44
+ 0,
45
+ 5,
46
+ 2,
47
+ 5,
48
+ 7,
49
+ 3,
50
+ 5,
51
+ 5,
52
+ 5,
53
+ 5,
54
+ 5,
55
+ 5,
56
+ 7,
57
+ 5,
58
+ 5,
59
+ 2,
60
+ 5,
61
+ 5,
62
+ 5,
63
+ 5,
64
+ 2,
65
+ 5,
66
+ 5,
67
+ 5,
68
+ 0,
69
+ 5,
70
+ 5,
71
+ 5,
72
+ 7,
73
+ 7,
74
+ 0,
75
+ 2,
76
+ 5,
77
+ 5,
78
+ 5,
79
+ 5,
80
+ 2,
81
+ 5,
82
+ 2,
83
+ 5,
84
+ 5,
85
+ 0,
86
+ 5,
87
+ 5,
88
+ 5,
89
+ 2,
90
+ 2,
91
+ 2,
92
+ 5,
93
+ 5,
94
+ 2
95
+ ],
96
+ "best_token_acc": [
97
+ 0.0380859375,
98
+ 0.0439453125,
99
+ 0.0419921875,
100
+ 0.0537109375,
101
+ 0.046875,
102
+ 0.0400390625,
103
+ 0.0498046875,
104
+ 0.0498046875,
105
+ 0.041015625,
106
+ 0.0439453125,
107
+ 0.046875,
108
+ 0.0341796875,
109
+ 0.037109375,
110
+ 0.0458984375,
111
+ 0.0478515625,
112
+ 0.0302734375,
113
+ 0.0380859375,
114
+ 0.037109375,
115
+ 0.044921875,
116
+ 0.03515625,
117
+ 0.0673828125,
118
+ 0.041015625,
119
+ 0.0458984375,
120
+ 0.068359375,
121
+ 0.0458984375,
122
+ 0.0439453125,
123
+ 0.0361328125,
124
+ 0.0390625,
125
+ 0.04296875,
126
+ 0.0419921875,
127
+ 0.1044921875,
128
+ 0.052734375,
129
+ 0.048828125,
130
+ 0.0390625,
131
+ 0.0458984375,
132
+ 0.072265625,
133
+ 0.052734375,
134
+ 0.0400390625,
135
+ 0.0751953125,
136
+ 0.0419921875,
137
+ 0.0380859375,
138
+ 0.041015625,
139
+ 0.041015625,
140
+ 0.0419921875,
141
+ 0.0361328125,
142
+ 0.033203125,
143
+ 0.07421875,
144
+ 0.0390625,
145
+ 0.033203125,
146
+ 0.029296875,
147
+ 0.0478515625,
148
+ 0.0341796875,
149
+ 0.03125,
150
+ 0.04296875,
151
+ 0.041015625,
152
+ 0.056640625,
153
+ 0.078125,
154
+ 0.0419921875,
155
+ 0.03515625,
156
+ 0.0400390625,
157
+ 0.0341796875,
158
+ 0.0498046875,
159
+ 0.0361328125,
160
+ 0.03515625
161
+ ]
162
+ }
163
+ },
164
+ "first_exact_by_run": {}
165
+ }
166
+ RESULT config=p50_unif0_0p25_outwdm1 decode=flowmap run=train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 ckpt_step=1000 views=512000 token_acc=0.0454 exact=0/64 exact_refs=0 hits=[]
167
+ [eval-decode-acc] train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 step=1000 soft=none
168
+ [decode] max_len=1024 generated=64/64
169
+ {
170
+ "num_rows": 1,
171
+ "best_by_run": {
172
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
173
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
174
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0001000.pt",
175
+ "ckpt_step": 1000,
176
+ "endpoint_softening": "none",
177
+ "decode_rule": "dual_line_resample",
178
+ "steps": 128,
179
+ "time_schedule": "logit_normal",
180
+ "model_t_mode": "post",
181
+ "final_from": "state",
182
+ "n_gen": 64,
183
+ "n_refs": 8,
184
+ "token_acc_mean": 0.0696868896484375,
185
+ "token_acc_min": 0.021484375,
186
+ "token_acc_max": 0.203125,
187
+ "exact_acc": 0.0,
188
+ "exact_count": 0,
189
+ "exact_ref_coverage": 0.0,
190
+ "exact_ref_count": 0,
191
+ "exact_ref_hits": [],
192
+ "best_ref_idx": [
193
+ 2,
194
+ 2,
195
+ 2,
196
+ 5,
197
+ 5,
198
+ 2,
199
+ 2,
200
+ 5,
201
+ 5,
202
+ 2,
203
+ 2,
204
+ 7,
205
+ 4,
206
+ 5,
207
+ 2,
208
+ 5,
209
+ 2,
210
+ 5,
211
+ 2,
212
+ 2,
213
+ 5,
214
+ 2,
215
+ 2,
216
+ 5,
217
+ 5,
218
+ 2,
219
+ 2,
220
+ 3,
221
+ 5,
222
+ 2,
223
+ 2,
224
+ 5,
225
+ 0,
226
+ 2,
227
+ 2,
228
+ 2,
229
+ 2,
230
+ 5,
231
+ 4,
232
+ 0,
233
+ 4,
234
+ 2,
235
+ 2,
236
+ 2,
237
+ 2,
238
+ 3,
239
+ 5,
240
+ 0,
241
+ 5,
242
+ 5,
243
+ 5,
244
+ 5,
245
+ 2,
246
+ 5,
247
+ 2,
248
+ 0,
249
+ 5,
250
+ 5,
251
+ 2,
252
+ 5,
253
+ 2,
254
+ 2,
255
+ 5,
256
+ 3
257
+ ],
258
+ "best_token_acc": [
259
+ 0.1494140625,
260
+ 0.0439453125,
261
+ 0.1435546875,
262
+ 0.0322265625,
263
+ 0.072265625,
264
+ 0.138671875,
265
+ 0.046875,
266
+ 0.0283203125,
267
+ 0.1748046875,
268
+ 0.046875,
269
+ 0.048828125,
270
+ 0.04296875,
271
+ 0.0322265625,
272
+ 0.1650390625,
273
+ 0.0927734375,
274
+ 0.029296875,
275
+ 0.029296875,
276
+ 0.0498046875,
277
+ 0.0283203125,
278
+ 0.072265625,
279
+ 0.0390625,
280
+ 0.1142578125,
281
+ 0.068359375,
282
+ 0.0439453125,
283
+ 0.03515625,
284
+ 0.056640625,
285
+ 0.12109375,
286
+ 0.0498046875,
287
+ 0.021484375,
288
+ 0.0478515625,
289
+ 0.0361328125,
290
+ 0.05078125,
291
+ 0.0283203125,
292
+ 0.0810546875,
293
+ 0.1201171875,
294
+ 0.04296875,
295
+ 0.0888671875,
296
+ 0.1640625,
297
+ 0.0302734375,
298
+ 0.0263671875,
299
+ 0.0302734375,
300
+ 0.0517578125,
301
+ 0.0283203125,
302
+ 0.0390625,
303
+ 0.0498046875,
304
+ 0.0322265625,
305
+ 0.0634765625,
306
+ 0.0322265625,
307
+ 0.203125,
308
+ 0.103515625,
309
+ 0.1015625,
310
+ 0.03125,
311
+ 0.0322265625,
312
+ 0.048828125,
313
+ 0.0302734375,
314
+ 0.1142578125,
315
+ 0.1953125,
316
+ 0.0751953125,
317
+ 0.1484375,
318
+ 0.10546875,
319
+ 0.033203125,
320
+ 0.03125,
321
+ 0.0986328125,
322
+ 0.0458984375
323
+ ]
324
+ }
325
+ },
326
+ "first_exact_by_run": {}
327
+ }
328
+ RESULT config=p50_unif0_0p25_outwdm1 decode=dual_line_resample run=train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 ckpt_step=1000 views=512000 token_acc=0.0697 exact=0/64 exact_refs=0 hits=[]
329
+ [ctx1024-sampleds] train config=p50_unif0_0p25_outwdm1 from=1000 to=2000
330
+ [ctx1024-sampleds] eval config=p50_unif0_0p25_outwdm1 step=2000
331
+ [eval-decode-acc] train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 step=2000 soft=none
332
+ [decode] max_len=1024 generated=64/64
333
+ {
334
+ "num_rows": 1,
335
+ "best_by_run": {
336
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
337
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
338
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0002000.pt",
339
+ "ckpt_step": 2000,
340
+ "endpoint_softening": "none",
341
+ "decode_rule": "flowmap",
342
+ "steps": 128,
343
+ "time_schedule": "logit_normal",
344
+ "model_t_mode": "post",
345
+ "final_from": "state",
346
+ "n_gen": 64,
347
+ "n_refs": 8,
348
+ "token_acc_mean": 0.87042236328125,
349
+ "token_acc_min": 0.12109375,
350
+ "token_acc_max": 0.96875,
351
+ "exact_acc": 0.0,
352
+ "exact_count": 0,
353
+ "exact_ref_coverage": 0.0,
354
+ "exact_ref_count": 0,
355
+ "exact_ref_hits": [],
356
+ "best_ref_idx": [
357
+ 3,
358
+ 3,
359
+ 2,
360
+ 2,
361
+ 2,
362
+ 3,
363
+ 4,
364
+ 2,
365
+ 7,
366
+ 2,
367
+ 2,
368
+ 3,
369
+ 2,
370
+ 3,
371
+ 4,
372
+ 3,
373
+ 4,
374
+ 3,
375
+ 3,
376
+ 5,
377
+ 2,
378
+ 2,
379
+ 3,
380
+ 2,
381
+ 0,
382
+ 4,
383
+ 0,
384
+ 2,
385
+ 3,
386
+ 3,
387
+ 4,
388
+ 2,
389
+ 2,
390
+ 2,
391
+ 3,
392
+ 7,
393
+ 3,
394
+ 0,
395
+ 3,
396
+ 3,
397
+ 2,
398
+ 3,
399
+ 3,
400
+ 3,
401
+ 3,
402
+ 7,
403
+ 2,
404
+ 3,
405
+ 2,
406
+ 2,
407
+ 3,
408
+ 3,
409
+ 5,
410
+ 3,
411
+ 0,
412
+ 0,
413
+ 7,
414
+ 3,
415
+ 3,
416
+ 3,
417
+ 3,
418
+ 2,
419
+ 3,
420
+ 2
421
+ ],
422
+ "best_token_acc": [
423
+ 0.9091796875,
424
+ 0.91015625,
425
+ 0.6552734375,
426
+ 0.96875,
427
+ 0.94921875,
428
+ 0.908203125,
429
+ 0.966796875,
430
+ 0.958984375,
431
+ 0.9306640625,
432
+ 0.560546875,
433
+ 0.9638671875,
434
+ 0.912109375,
435
+ 0.9599609375,
436
+ 0.9140625,
437
+ 0.21484375,
438
+ 0.912109375,
439
+ 0.966796875,
440
+ 0.9169921875,
441
+ 0.9052734375,
442
+ 0.927734375,
443
+ 0.9599609375,
444
+ 0.96484375,
445
+ 0.9140625,
446
+ 0.958984375,
447
+ 0.740234375,
448
+ 0.96484375,
449
+ 0.72265625,
450
+ 0.365234375,
451
+ 0.8994140625,
452
+ 0.9052734375,
453
+ 0.7998046875,
454
+ 0.94921875,
455
+ 0.958984375,
456
+ 0.9609375,
457
+ 0.9052734375,
458
+ 0.9052734375,
459
+ 0.912109375,
460
+ 0.72265625,
461
+ 0.916015625,
462
+ 0.912109375,
463
+ 0.958984375,
464
+ 0.9140625,
465
+ 0.9072265625,
466
+ 0.908203125,
467
+ 0.9052734375,
468
+ 0.94921875,
469
+ 0.96484375,
470
+ 0.90625,
471
+ 0.962890625,
472
+ 0.9677734375,
473
+ 0.9150390625,
474
+ 0.8974609375,
475
+ 0.12109375,
476
+ 0.904296875,
477
+ 0.724609375,
478
+ 0.7197265625,
479
+ 0.955078125,
480
+ 0.90625,
481
+ 0.9033203125,
482
+ 0.9140625,
483
+ 0.919921875,
484
+ 0.9599609375,
485
+ 0.9072265625,
486
+ 0.96484375
487
+ ]
488
+ }
489
+ },
490
+ "first_exact_by_run": {}
491
+ }
492
+ RESULT config=p50_unif0_0p25_outwdm1 decode=flowmap run=train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 ckpt_step=2000 views=1024000 token_acc=0.8704 exact=0/64 exact_refs=0 hits=[]
493
+ [eval-decode-acc] train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 step=2000 soft=none
494
+ [decode] max_len=1024 generated=64/64
495
+ {
496
+ "num_rows": 1,
497
+ "best_by_run": {
498
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
499
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
500
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0002000.pt",
501
+ "ckpt_step": 2000,
502
+ "endpoint_softening": "none",
503
+ "decode_rule": "dual_line_resample",
504
+ "steps": 128,
505
+ "time_schedule": "logit_normal",
506
+ "model_t_mode": "post",
507
+ "final_from": "state",
508
+ "n_gen": 64,
509
+ "n_refs": 8,
510
+ "token_acc_mean": 0.910552978515625,
511
+ "token_acc_min": 0.2138671875,
512
+ "token_acc_max": 0.96484375,
513
+ "exact_acc": 0.0,
514
+ "exact_count": 0,
515
+ "exact_ref_coverage": 0.0,
516
+ "exact_ref_count": 0,
517
+ "exact_ref_hits": [],
518
+ "best_ref_idx": [
519
+ 5,
520
+ 3,
521
+ 5,
522
+ 2,
523
+ 2,
524
+ 2,
525
+ 5,
526
+ 5,
527
+ 2,
528
+ 3,
529
+ 6,
530
+ 5,
531
+ 5,
532
+ 7,
533
+ 7,
534
+ 2,
535
+ 5,
536
+ 7,
537
+ 3,
538
+ 2,
539
+ 5,
540
+ 3,
541
+ 2,
542
+ 7,
543
+ 2,
544
+ 7,
545
+ 2,
546
+ 2,
547
+ 3,
548
+ 3,
549
+ 1,
550
+ 5,
551
+ 3,
552
+ 2,
553
+ 5,
554
+ 3,
555
+ 2,
556
+ 3,
557
+ 2,
558
+ 3,
559
+ 0,
560
+ 3,
561
+ 2,
562
+ 5,
563
+ 2,
564
+ 2,
565
+ 3,
566
+ 2,
567
+ 3,
568
+ 3,
569
+ 7,
570
+ 5,
571
+ 3,
572
+ 3,
573
+ 3,
574
+ 2,
575
+ 3,
576
+ 5,
577
+ 5,
578
+ 2,
579
+ 3,
580
+ 0,
581
+ 2,
582
+ 2
583
+ ],
584
+ "best_token_acc": [
585
+ 0.916015625,
586
+ 0.9052734375,
587
+ 0.9248046875,
588
+ 0.96484375,
589
+ 0.9599609375,
590
+ 0.958984375,
591
+ 0.91796875,
592
+ 0.921875,
593
+ 0.958984375,
594
+ 0.896484375,
595
+ 0.2138671875,
596
+ 0.921875,
597
+ 0.9189453125,
598
+ 0.9443359375,
599
+ 0.947265625,
600
+ 0.9599609375,
601
+ 0.9130859375,
602
+ 0.9443359375,
603
+ 0.900390625,
604
+ 0.9619140625,
605
+ 0.9189453125,
606
+ 0.9033203125,
607
+ 0.9609375,
608
+ 0.943359375,
609
+ 0.9609375,
610
+ 0.9423828125,
611
+ 0.9619140625,
612
+ 0.9609375,
613
+ 0.900390625,
614
+ 0.8935546875,
615
+ 0.888671875,
616
+ 0.916015625,
617
+ 0.9013671875,
618
+ 0.962890625,
619
+ 0.9287109375,
620
+ 0.896484375,
621
+ 0.9599609375,
622
+ 0.896484375,
623
+ 0.9580078125,
624
+ 0.90234375,
625
+ 0.6923828125,
626
+ 0.8994140625,
627
+ 0.962890625,
628
+ 0.919921875,
629
+ 0.9619140625,
630
+ 0.962890625,
631
+ 0.8955078125,
632
+ 0.958984375,
633
+ 0.8955078125,
634
+ 0.8994140625,
635
+ 0.947265625,
636
+ 0.919921875,
637
+ 0.892578125,
638
+ 0.8955078125,
639
+ 0.9013671875,
640
+ 0.9580078125,
641
+ 0.900390625,
642
+ 0.9189453125,
643
+ 0.91796875,
644
+ 0.9599609375,
645
+ 0.8974609375,
646
+ 0.6845703125,
647
+ 0.9638671875,
648
+ 0.9599609375
649
+ ]
650
+ }
651
+ },
652
+ "first_exact_by_run": {}
653
+ }
654
+ RESULT config=p50_unif0_0p25_outwdm1 decode=dual_line_resample run=train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 ckpt_step=2000 views=1024000 token_acc=0.9106 exact=0/64 exact_refs=0 hits=[]
655
+ [ctx1024-sampleds] train config=p50_unif0_0p25_outwdm1 from=2000 to=3000
656
+ [ctx1024-sampleds] eval config=p50_unif0_0p25_outwdm1 step=3000
657
+ [eval-decode-acc] train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 step=3000 soft=none
658
+ [decode] max_len=1024 generated=64/64
659
+ {
660
+ "num_rows": 1,
661
+ "best_by_run": {
662
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
663
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
664
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0003000.pt",
665
+ "ckpt_step": 3000,
666
+ "endpoint_softening": "none",
667
+ "decode_rule": "flowmap",
668
+ "steps": 128,
669
+ "time_schedule": "logit_normal",
670
+ "model_t_mode": "post",
671
+ "final_from": "state",
672
+ "n_gen": 64,
673
+ "n_refs": 8,
674
+ "token_acc_mean": 0.9010009765625,
675
+ "token_acc_min": 0.326171875,
676
+ "token_acc_max": 0.998046875,
677
+ "exact_acc": 0.0,
678
+ "exact_count": 0,
679
+ "exact_ref_coverage": 0.0,
680
+ "exact_ref_count": 0,
681
+ "exact_ref_hits": [],
682
+ "best_ref_idx": [
683
+ 7,
684
+ 3,
685
+ 7,
686
+ 3,
687
+ 1,
688
+ 1,
689
+ 3,
690
+ 1,
691
+ 7,
692
+ 0,
693
+ 5,
694
+ 3,
695
+ 3,
696
+ 3,
697
+ 3,
698
+ 3,
699
+ 1,
700
+ 7,
701
+ 3,
702
+ 3,
703
+ 3,
704
+ 3,
705
+ 1,
706
+ 1,
707
+ 7,
708
+ 3,
709
+ 5,
710
+ 0,
711
+ 5,
712
+ 7,
713
+ 2,
714
+ 3,
715
+ 7,
716
+ 7,
717
+ 7,
718
+ 3,
719
+ 3,
720
+ 1,
721
+ 3,
722
+ 2,
723
+ 7,
724
+ 3,
725
+ 3,
726
+ 4,
727
+ 7,
728
+ 6,
729
+ 5,
730
+ 1,
731
+ 4,
732
+ 7,
733
+ 4,
734
+ 3,
735
+ 7,
736
+ 6,
737
+ 3,
738
+ 3,
739
+ 4,
740
+ 3,
741
+ 3,
742
+ 3,
743
+ 7,
744
+ 1,
745
+ 3,
746
+ 7
747
+ ],
748
+ "best_token_acc": [
749
+ 0.8759765625,
750
+ 0.7099609375,
751
+ 0.978515625,
752
+ 0.86328125,
753
+ 0.9892578125,
754
+ 0.9453125,
755
+ 0.908203125,
756
+ 0.9814453125,
757
+ 0.9169921875,
758
+ 0.994140625,
759
+ 0.9716796875,
760
+ 0.3310546875,
761
+ 0.9951171875,
762
+ 0.9892578125,
763
+ 0.5888671875,
764
+ 0.9912109375,
765
+ 0.8974609375,
766
+ 0.9853515625,
767
+ 0.6357421875,
768
+ 0.98046875,
769
+ 0.986328125,
770
+ 0.9921875,
771
+ 0.9853515625,
772
+ 0.998046875,
773
+ 0.9951171875,
774
+ 0.6083984375,
775
+ 0.998046875,
776
+ 0.99609375,
777
+ 0.9921875,
778
+ 0.9677734375,
779
+ 0.99609375,
780
+ 0.9921875,
781
+ 0.9970703125,
782
+ 0.9970703125,
783
+ 0.9755859375,
784
+ 0.9951171875,
785
+ 0.7470703125,
786
+ 0.892578125,
787
+ 0.9951171875,
788
+ 0.5029296875,
789
+ 0.904296875,
790
+ 0.92578125,
791
+ 0.99609375,
792
+ 0.9814453125,
793
+ 0.99609375,
794
+ 0.8505859375,
795
+ 0.998046875,
796
+ 0.9912109375,
797
+ 0.9619140625,
798
+ 0.998046875,
799
+ 0.970703125,
800
+ 0.9931640625,
801
+ 0.9873046875,
802
+ 0.947265625,
803
+ 0.9921875,
804
+ 0.8095703125,
805
+ 0.8603515625,
806
+ 0.4853515625,
807
+ 0.326171875,
808
+ 0.99609375,
809
+ 0.998046875,
810
+ 0.9912109375,
811
+ 0.7861328125,
812
+ 0.77734375
813
+ ]
814
+ }
815
+ },
816
+ "first_exact_by_run": {}
817
+ }
818
+ RESULT config=p50_unif0_0p25_outwdm1 decode=flowmap run=train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 ckpt_step=3000 views=1536000 token_acc=0.9010 exact=0/64 exact_refs=0 hits=[]
819
+ [eval-decode-acc] train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 step=3000 soft=none
820
+ [decode] max_len=1024 generated=64/64
821
+ {
822
+ "num_rows": 1,
823
+ "best_by_run": {
824
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
825
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
826
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0003000.pt",
827
+ "ckpt_step": 3000,
828
+ "endpoint_softening": "none",
829
+ "decode_rule": "dual_line_resample",
830
+ "steps": 128,
831
+ "time_schedule": "logit_normal",
832
+ "model_t_mode": "post",
833
+ "final_from": "state",
834
+ "n_gen": 64,
835
+ "n_refs": 8,
836
+ "token_acc_mean": 0.9642333984375,
837
+ "token_acc_min": 0.4638671875,
838
+ "token_acc_max": 0.9892578125,
839
+ "exact_acc": 0.0,
840
+ "exact_count": 0,
841
+ "exact_ref_coverage": 0.0,
842
+ "exact_ref_count": 0,
843
+ "exact_ref_hits": [],
844
+ "best_ref_idx": [
845
+ 5,
846
+ 3,
847
+ 6,
848
+ 5,
849
+ 3,
850
+ 7,
851
+ 4,
852
+ 7,
853
+ 7,
854
+ 3,
855
+ 3,
856
+ 7,
857
+ 7,
858
+ 7,
859
+ 2,
860
+ 5,
861
+ 7,
862
+ 7,
863
+ 5,
864
+ 3,
865
+ 7,
866
+ 5,
867
+ 3,
868
+ 7,
869
+ 3,
870
+ 1,
871
+ 2,
872
+ 5,
873
+ 3,
874
+ 3,
875
+ 3,
876
+ 7,
877
+ 5,
878
+ 5,
879
+ 3,
880
+ 2,
881
+ 7,
882
+ 3,
883
+ 5,
884
+ 2,
885
+ 7,
886
+ 3,
887
+ 7,
888
+ 7,
889
+ 7,
890
+ 7,
891
+ 2,
892
+ 7,
893
+ 2,
894
+ 7,
895
+ 7,
896
+ 3,
897
+ 5,
898
+ 5,
899
+ 3,
900
+ 2,
901
+ 7,
902
+ 7,
903
+ 2,
904
+ 2,
905
+ 7,
906
+ 3,
907
+ 2,
908
+ 7
909
+ ],
910
+ "best_token_acc": [
911
+ 0.9619140625,
912
+ 0.97265625,
913
+ 0.4638671875,
914
+ 0.9677734375,
915
+ 0.98046875,
916
+ 0.9765625,
917
+ 0.900390625,
918
+ 0.966796875,
919
+ 0.9658203125,
920
+ 0.9814453125,
921
+ 0.9833984375,
922
+ 0.9765625,
923
+ 0.9697265625,
924
+ 0.9775390625,
925
+ 0.9892578125,
926
+ 0.9716796875,
927
+ 0.974609375,
928
+ 0.9658203125,
929
+ 0.974609375,
930
+ 0.98046875,
931
+ 0.96484375,
932
+ 0.9609375,
933
+ 0.9736328125,
934
+ 0.97265625,
935
+ 0.97265625,
936
+ 0.947265625,
937
+ 0.982421875,
938
+ 0.96875,
939
+ 0.9716796875,
940
+ 0.9755859375,
941
+ 0.9833984375,
942
+ 0.9677734375,
943
+ 0.9609375,
944
+ 0.9677734375,
945
+ 0.98046875,
946
+ 0.9775390625,
947
+ 0.9697265625,
948
+ 0.9814453125,
949
+ 0.951171875,
950
+ 0.9833984375,
951
+ 0.9716796875,
952
+ 0.9755859375,
953
+ 0.9736328125,
954
+ 0.97265625,
955
+ 0.9658203125,
956
+ 0.9638671875,
957
+ 0.982421875,
958
+ 0.97265625,
959
+ 0.9833984375,
960
+ 0.9736328125,
961
+ 0.97265625,
962
+ 0.9794921875,
963
+ 0.9638671875,
964
+ 0.9658203125,
965
+ 0.9755859375,
966
+ 0.9873046875,
967
+ 0.9716796875,
968
+ 0.9736328125,
969
+ 0.982421875,
970
+ 0.9775390625,
971
+ 0.97265625,
972
+ 0.978515625,
973
+ 0.9853515625,
974
+ 0.9736328125
975
+ ]
976
+ }
977
+ },
978
+ "first_exact_by_run": {}
979
+ }
980
+ RESULT config=p50_unif0_0p25_outwdm1 decode=dual_line_resample run=train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 ckpt_step=3000 views=1536000 token_acc=0.9642 exact=0/64 exact_refs=0 hits=[]
981
+ [ctx1024-sampleds] train config=p50_unif0_0p25_outwdm1 from=3000 to=4000
982
+ [ctx1024-sampleds] eval config=p50_unif0_0p25_outwdm1 step=4000
983
+ [eval-decode-acc] train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 step=4000 soft=none
984
+ [decode] max_len=1024 generated=64/64
985
+ {
986
+ "num_rows": 1,
987
+ "best_by_run": {
988
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
989
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
990
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0004000.pt",
991
+ "ckpt_step": 4000,
992
+ "endpoint_softening": "none",
993
+ "decode_rule": "flowmap",
994
+ "steps": 128,
995
+ "time_schedule": "logit_normal",
996
+ "model_t_mode": "post",
997
+ "final_from": "state",
998
+ "n_gen": 64,
999
+ "n_refs": 8,
1000
+ "token_acc_mean": 0.8270416259765625,
1001
+ "token_acc_min": 0.052734375,
1002
+ "token_acc_max": 1.0,
1003
+ "exact_acc": 0.03125,
1004
+ "exact_count": 2,
1005
+ "exact_ref_coverage": 0.125,
1006
+ "exact_ref_count": 1,
1007
+ "exact_ref_hits": [
1008
+ 7
1009
+ ],
1010
+ "best_ref_idx": [
1011
+ 7,
1012
+ 0,
1013
+ 0,
1014
+ 7,
1015
+ 7,
1016
+ 3,
1017
+ 7,
1018
+ 3,
1019
+ 3,
1020
+ 7,
1021
+ 3,
1022
+ 3,
1023
+ 3,
1024
+ 3,
1025
+ 3,
1026
+ 3,
1027
+ 3,
1028
+ 3,
1029
+ 7,
1030
+ 3,
1031
+ 3,
1032
+ 3,
1033
+ 3,
1034
+ 3,
1035
+ 3,
1036
+ 3,
1037
+ 2,
1038
+ 7,
1039
+ 3,
1040
+ 3,
1041
+ 3,
1042
+ 2,
1043
+ 7,
1044
+ 3,
1045
+ 7,
1046
+ 3,
1047
+ 3,
1048
+ 3,
1049
+ 3,
1050
+ 7,
1051
+ 7,
1052
+ 3,
1053
+ 3,
1054
+ 3,
1055
+ 3,
1056
+ 3,
1057
+ 3,
1058
+ 3,
1059
+ 3,
1060
+ 3,
1061
+ 3,
1062
+ 3,
1063
+ 3,
1064
+ 3,
1065
+ 3,
1066
+ 3,
1067
+ 7,
1068
+ 3,
1069
+ 3,
1070
+ 3,
1071
+ 6,
1072
+ 7,
1073
+ 7,
1074
+ 3
1075
+ ],
1076
+ "best_token_acc": [
1077
+ 0.9462890625,
1078
+ 0.052734375,
1079
+ 0.9970703125,
1080
+ 0.9736328125,
1081
+ 0.814453125,
1082
+ 0.716796875,
1083
+ 0.998046875,
1084
+ 0.962890625,
1085
+ 0.8505859375,
1086
+ 0.9296875,
1087
+ 0.5390625,
1088
+ 0.97265625,
1089
+ 0.890625,
1090
+ 0.677734375,
1091
+ 0.9365234375,
1092
+ 0.5703125,
1093
+ 0.5673828125,
1094
+ 0.939453125,
1095
+ 0.998046875,
1096
+ 0.890625,
1097
+ 0.4892578125,
1098
+ 0.966796875,
1099
+ 0.9521484375,
1100
+ 0.9169921875,
1101
+ 0.970703125,
1102
+ 0.921875,
1103
+ 0.646484375,
1104
+ 1.0,
1105
+ 0.7109375,
1106
+ 0.9697265625,
1107
+ 0.9658203125,
1108
+ 0.6962890625,
1109
+ 0.998046875,
1110
+ 0.556640625,
1111
+ 0.5048828125,
1112
+ 0.9599609375,
1113
+ 0.779296875,
1114
+ 0.7666015625,
1115
+ 0.7333984375,
1116
+ 0.771484375,
1117
+ 0.94921875,
1118
+ 0.90625,
1119
+ 0.939453125,
1120
+ 0.8203125,
1121
+ 0.974609375,
1122
+ 0.873046875,
1123
+ 0.599609375,
1124
+ 0.8740234375,
1125
+ 0.99609375,
1126
+ 0.9443359375,
1127
+ 0.87890625,
1128
+ 0.80859375,
1129
+ 0.69921875,
1130
+ 0.7021484375,
1131
+ 0.98828125,
1132
+ 0.896484375,
1133
+ 1.0,
1134
+ 0.9541015625,
1135
+ 0.953125,
1136
+ 0.5869140625,
1137
+ 0.9755859375,
1138
+ 0.9677734375,
1139
+ 0.5693359375,
1140
+ 0.5712890625
1141
+ ]
1142
+ }
1143
+ },
1144
+ "first_exact_by_run": {
1145
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
1146
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
1147
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0004000.pt",
1148
+ "ckpt_step": 4000,
1149
+ "endpoint_softening": "none",
1150
+ "decode_rule": "flowmap",
1151
+ "steps": 128,
1152
+ "time_schedule": "logit_normal",
1153
+ "model_t_mode": "post",
1154
+ "final_from": "state",
1155
+ "n_gen": 64,
1156
+ "n_refs": 8,
1157
+ "token_acc_mean": 0.8270416259765625,
1158
+ "token_acc_min": 0.052734375,
1159
+ "token_acc_max": 1.0,
1160
+ "exact_acc": 0.03125,
1161
+ "exact_count": 2,
1162
+ "exact_ref_coverage": 0.125,
1163
+ "exact_ref_count": 1,
1164
+ "exact_ref_hits": [
1165
+ 7
1166
+ ],
1167
+ "best_ref_idx": [
1168
+ 7,
1169
+ 0,
1170
+ 0,
1171
+ 7,
1172
+ 7,
1173
+ 3,
1174
+ 7,
1175
+ 3,
1176
+ 3,
1177
+ 7,
1178
+ 3,
1179
+ 3,
1180
+ 3,
1181
+ 3,
1182
+ 3,
1183
+ 3,
1184
+ 3,
1185
+ 3,
1186
+ 7,
1187
+ 3,
1188
+ 3,
1189
+ 3,
1190
+ 3,
1191
+ 3,
1192
+ 3,
1193
+ 3,
1194
+ 2,
1195
+ 7,
1196
+ 3,
1197
+ 3,
1198
+ 3,
1199
+ 2,
1200
+ 7,
1201
+ 3,
1202
+ 7,
1203
+ 3,
1204
+ 3,
1205
+ 3,
1206
+ 3,
1207
+ 7,
1208
+ 7,
1209
+ 3,
1210
+ 3,
1211
+ 3,
1212
+ 3,
1213
+ 3,
1214
+ 3,
1215
+ 3,
1216
+ 3,
1217
+ 3,
1218
+ 3,
1219
+ 3,
1220
+ 3,
1221
+ 3,
1222
+ 3,
1223
+ 3,
1224
+ 7,
1225
+ 3,
1226
+ 3,
1227
+ 3,
1228
+ 6,
1229
+ 7,
1230
+ 7,
1231
+ 3
1232
+ ],
1233
+ "best_token_acc": [
1234
+ 0.9462890625,
1235
+ 0.052734375,
1236
+ 0.9970703125,
1237
+ 0.9736328125,
1238
+ 0.814453125,
1239
+ 0.716796875,
1240
+ 0.998046875,
1241
+ 0.962890625,
1242
+ 0.8505859375,
1243
+ 0.9296875,
1244
+ 0.5390625,
1245
+ 0.97265625,
1246
+ 0.890625,
1247
+ 0.677734375,
1248
+ 0.9365234375,
1249
+ 0.5703125,
1250
+ 0.5673828125,
1251
+ 0.939453125,
1252
+ 0.998046875,
1253
+ 0.890625,
1254
+ 0.4892578125,
1255
+ 0.966796875,
1256
+ 0.9521484375,
1257
+ 0.9169921875,
1258
+ 0.970703125,
1259
+ 0.921875,
1260
+ 0.646484375,
1261
+ 1.0,
1262
+ 0.7109375,
1263
+ 0.9697265625,
1264
+ 0.9658203125,
1265
+ 0.6962890625,
1266
+ 0.998046875,
1267
+ 0.556640625,
1268
+ 0.5048828125,
1269
+ 0.9599609375,
1270
+ 0.779296875,
1271
+ 0.7666015625,
1272
+ 0.7333984375,
1273
+ 0.771484375,
1274
+ 0.94921875,
1275
+ 0.90625,
1276
+ 0.939453125,
1277
+ 0.8203125,
1278
+ 0.974609375,
1279
+ 0.873046875,
1280
+ 0.599609375,
1281
+ 0.8740234375,
1282
+ 0.99609375,
1283
+ 0.9443359375,
1284
+ 0.87890625,
1285
+ 0.80859375,
1286
+ 0.69921875,
1287
+ 0.7021484375,
1288
+ 0.98828125,
1289
+ 0.896484375,
1290
+ 1.0,
1291
+ 0.9541015625,
1292
+ 0.953125,
1293
+ 0.5869140625,
1294
+ 0.9755859375,
1295
+ 0.9677734375,
1296
+ 0.5693359375,
1297
+ 0.5712890625
1298
+ ]
1299
+ }
1300
+ }
1301
+ }
1302
+ RESULT config=p50_unif0_0p25_outwdm1 decode=flowmap run=train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 ckpt_step=4000 views=2048000 token_acc=0.8270 exact=2/64 exact_refs=1 hits=[7]
1303
+ [eval-decode-acc] train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 step=4000 soft=none
1304
+ [decode] max_len=1024 generated=64/64
1305
+ {
1306
+ "num_rows": 1,
1307
+ "best_by_run": {
1308
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
1309
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
1310
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0004000.pt",
1311
+ "ckpt_step": 4000,
1312
+ "endpoint_softening": "none",
1313
+ "decode_rule": "dual_line_resample",
1314
+ "steps": 128,
1315
+ "time_schedule": "logit_normal",
1316
+ "model_t_mode": "post",
1317
+ "final_from": "state",
1318
+ "n_gen": 64,
1319
+ "n_refs": 8,
1320
+ "token_acc_mean": 0.9935760498046875,
1321
+ "token_acc_min": 0.9326171875,
1322
+ "token_acc_max": 1.0,
1323
+ "exact_acc": 0.078125,
1324
+ "exact_count": 5,
1325
+ "exact_ref_coverage": 0.25,
1326
+ "exact_ref_count": 2,
1327
+ "exact_ref_hits": [
1328
+ 0,
1329
+ 7
1330
+ ],
1331
+ "best_ref_idx": [
1332
+ 0,
1333
+ 2,
1334
+ 0,
1335
+ 1,
1336
+ 0,
1337
+ 0,
1338
+ 2,
1339
+ 7,
1340
+ 3,
1341
+ 3,
1342
+ 2,
1343
+ 1,
1344
+ 3,
1345
+ 6,
1346
+ 3,
1347
+ 2,
1348
+ 3,
1349
+ 1,
1350
+ 6,
1351
+ 0,
1352
+ 2,
1353
+ 3,
1354
+ 3,
1355
+ 3,
1356
+ 2,
1357
+ 0,
1358
+ 0,
1359
+ 1,
1360
+ 0,
1361
+ 3,
1362
+ 3,
1363
+ 7,
1364
+ 3,
1365
+ 2,
1366
+ 2,
1367
+ 0,
1368
+ 1,
1369
+ 3,
1370
+ 2,
1371
+ 4,
1372
+ 3,
1373
+ 3,
1374
+ 3,
1375
+ 6,
1376
+ 0,
1377
+ 0,
1378
+ 6,
1379
+ 2,
1380
+ 3,
1381
+ 3,
1382
+ 3,
1383
+ 0,
1384
+ 0,
1385
+ 1,
1386
+ 2,
1387
+ 3,
1388
+ 5,
1389
+ 2,
1390
+ 3,
1391
+ 0,
1392
+ 0,
1393
+ 0,
1394
+ 3,
1395
+ 3
1396
+ ],
1397
+ "best_token_acc": [
1398
+ 0.9990234375,
1399
+ 0.9990234375,
1400
+ 0.9990234375,
1401
+ 0.9931640625,
1402
+ 0.998046875,
1403
+ 0.9990234375,
1404
+ 0.9990234375,
1405
+ 1.0,
1406
+ 0.99609375,
1407
+ 0.9970703125,
1408
+ 0.998046875,
1409
+ 0.994140625,
1410
+ 0.99609375,
1411
+ 0.9365234375,
1412
+ 0.9970703125,
1413
+ 0.9990234375,
1414
+ 0.99609375,
1415
+ 0.994140625,
1416
+ 0.94140625,
1417
+ 0.9990234375,
1418
+ 0.9970703125,
1419
+ 0.99609375,
1420
+ 0.99609375,
1421
+ 0.9970703125,
1422
+ 0.998046875,
1423
+ 1.0,
1424
+ 1.0,
1425
+ 0.994140625,
1426
+ 0.9990234375,
1427
+ 0.99609375,
1428
+ 0.99609375,
1429
+ 1.0,
1430
+ 0.9970703125,
1431
+ 0.9990234375,
1432
+ 0.9990234375,
1433
+ 0.9990234375,
1434
+ 0.994140625,
1435
+ 0.9970703125,
1436
+ 0.998046875,
1437
+ 0.9912109375,
1438
+ 0.99609375,
1439
+ 0.9970703125,
1440
+ 0.9970703125,
1441
+ 0.94140625,
1442
+ 0.9990234375,
1443
+ 0.9990234375,
1444
+ 0.9326171875,
1445
+ 0.998046875,
1446
+ 0.9970703125,
1447
+ 0.994140625,
1448
+ 0.99609375,
1449
+ 0.9990234375,
1450
+ 0.9990234375,
1451
+ 0.99609375,
1452
+ 0.9990234375,
1453
+ 0.9951171875,
1454
+ 0.994140625,
1455
+ 0.998046875,
1456
+ 0.998046875,
1457
+ 0.9990234375,
1458
+ 1.0,
1459
+ 0.998046875,
1460
+ 0.99609375,
1461
+ 0.994140625
1462
+ ]
1463
+ }
1464
+ },
1465
+ "first_exact_by_run": {
1466
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
1467
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
1468
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0004000.pt",
1469
+ "ckpt_step": 4000,
1470
+ "endpoint_softening": "none",
1471
+ "decode_rule": "dual_line_resample",
1472
+ "steps": 128,
1473
+ "time_schedule": "logit_normal",
1474
+ "model_t_mode": "post",
1475
+ "final_from": "state",
1476
+ "n_gen": 64,
1477
+ "n_refs": 8,
1478
+ "token_acc_mean": 0.9935760498046875,
1479
+ "token_acc_min": 0.9326171875,
1480
+ "token_acc_max": 1.0,
1481
+ "exact_acc": 0.078125,
1482
+ "exact_count": 5,
1483
+ "exact_ref_coverage": 0.25,
1484
+ "exact_ref_count": 2,
1485
+ "exact_ref_hits": [
1486
+ 0,
1487
+ 7
1488
+ ],
1489
+ "best_ref_idx": [
1490
+ 0,
1491
+ 2,
1492
+ 0,
1493
+ 1,
1494
+ 0,
1495
+ 0,
1496
+ 2,
1497
+ 7,
1498
+ 3,
1499
+ 3,
1500
+ 2,
1501
+ 1,
1502
+ 3,
1503
+ 6,
1504
+ 3,
1505
+ 2,
1506
+ 3,
1507
+ 1,
1508
+ 6,
1509
+ 0,
1510
+ 2,
1511
+ 3,
1512
+ 3,
1513
+ 3,
1514
+ 2,
1515
+ 0,
1516
+ 0,
1517
+ 1,
1518
+ 0,
1519
+ 3,
1520
+ 3,
1521
+ 7,
1522
+ 3,
1523
+ 2,
1524
+ 2,
1525
+ 0,
1526
+ 1,
1527
+ 3,
1528
+ 2,
1529
+ 4,
1530
+ 3,
1531
+ 3,
1532
+ 3,
1533
+ 6,
1534
+ 0,
1535
+ 0,
1536
+ 6,
1537
+ 2,
1538
+ 3,
1539
+ 3,
1540
+ 3,
1541
+ 0,
1542
+ 0,
1543
+ 1,
1544
+ 2,
1545
+ 3,
1546
+ 5,
1547
+ 2,
1548
+ 3,
1549
+ 0,
1550
+ 0,
1551
+ 0,
1552
+ 3,
1553
+ 3
1554
+ ],
1555
+ "best_token_acc": [
1556
+ 0.9990234375,
1557
+ 0.9990234375,
1558
+ 0.9990234375,
1559
+ 0.9931640625,
1560
+ 0.998046875,
1561
+ 0.9990234375,
1562
+ 0.9990234375,
1563
+ 1.0,
1564
+ 0.99609375,
1565
+ 0.9970703125,
1566
+ 0.998046875,
1567
+ 0.994140625,
1568
+ 0.99609375,
1569
+ 0.9365234375,
1570
+ 0.9970703125,
1571
+ 0.9990234375,
1572
+ 0.99609375,
1573
+ 0.994140625,
1574
+ 0.94140625,
1575
+ 0.9990234375,
1576
+ 0.9970703125,
1577
+ 0.99609375,
1578
+ 0.99609375,
1579
+ 0.9970703125,
1580
+ 0.998046875,
1581
+ 1.0,
1582
+ 1.0,
1583
+ 0.994140625,
1584
+ 0.9990234375,
1585
+ 0.99609375,
1586
+ 0.99609375,
1587
+ 1.0,
1588
+ 0.9970703125,
1589
+ 0.9990234375,
1590
+ 0.9990234375,
1591
+ 0.9990234375,
1592
+ 0.994140625,
1593
+ 0.9970703125,
1594
+ 0.998046875,
1595
+ 0.9912109375,
1596
+ 0.99609375,
1597
+ 0.9970703125,
1598
+ 0.9970703125,
1599
+ 0.94140625,
1600
+ 0.9990234375,
1601
+ 0.9990234375,
1602
+ 0.9326171875,
1603
+ 0.998046875,
1604
+ 0.9970703125,
1605
+ 0.994140625,
1606
+ 0.99609375,
1607
+ 0.9990234375,
1608
+ 0.9990234375,
1609
+ 0.99609375,
1610
+ 0.9990234375,
1611
+ 0.9951171875,
1612
+ 0.994140625,
1613
+ 0.998046875,
1614
+ 0.998046875,
1615
+ 0.9990234375,
1616
+ 1.0,
1617
+ 0.998046875,
1618
+ 0.99609375,
1619
+ 0.994140625
1620
+ ]
1621
+ }
1622
+ }
1623
+ }
1624
+ RESULT config=p50_unif0_0p25_outwdm1 decode=dual_line_resample run=train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 ckpt_step=4000 views=2048000 token_acc=0.9936 exact=5/64 exact_refs=2 hits=[0, 7]
1625
+ [ctx1024-sampleds] train config=p50_unif0_0p25_outwdm1 from=4000 to=5000
1626
+ [ctx1024-sampleds] eval config=p50_unif0_0p25_outwdm1 step=5000
1627
+ [eval-decode-acc] train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 step=5000 soft=none
1628
+ [decode] max_len=1024 generated=64/64
1629
+ {
1630
+ "num_rows": 1,
1631
+ "best_by_run": {
1632
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
1633
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
1634
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0005000.pt",
1635
+ "ckpt_step": 5000,
1636
+ "endpoint_softening": "none",
1637
+ "decode_rule": "flowmap",
1638
+ "steps": 128,
1639
+ "time_schedule": "logit_normal",
1640
+ "model_t_mode": "post",
1641
+ "final_from": "state",
1642
+ "n_gen": 64,
1643
+ "n_refs": 8,
1644
+ "token_acc_mean": 0.6998748779296875,
1645
+ "token_acc_min": 0.3828125,
1646
+ "token_acc_max": 0.9990234375,
1647
+ "exact_acc": 0.0,
1648
+ "exact_count": 0,
1649
+ "exact_ref_coverage": 0.0,
1650
+ "exact_ref_count": 0,
1651
+ "exact_ref_hits": [],
1652
+ "best_ref_idx": [
1653
+ 4,
1654
+ 3,
1655
+ 3,
1656
+ 3,
1657
+ 3,
1658
+ 3,
1659
+ 3,
1660
+ 3,
1661
+ 3,
1662
+ 4,
1663
+ 4,
1664
+ 4,
1665
+ 3,
1666
+ 3,
1667
+ 3,
1668
+ 4,
1669
+ 3,
1670
+ 3,
1671
+ 3,
1672
+ 3,
1673
+ 3,
1674
+ 4,
1675
+ 1,
1676
+ 4,
1677
+ 3,
1678
+ 3,
1679
+ 3,
1680
+ 3,
1681
+ 3,
1682
+ 1,
1683
+ 3,
1684
+ 3,
1685
+ 1,
1686
+ 4,
1687
+ 3,
1688
+ 3,
1689
+ 3,
1690
+ 4,
1691
+ 4,
1692
+ 1,
1693
+ 3,
1694
+ 4,
1695
+ 3,
1696
+ 3,
1697
+ 4,
1698
+ 3,
1699
+ 4,
1700
+ 4,
1701
+ 3,
1702
+ 3,
1703
+ 3,
1704
+ 1,
1705
+ 4,
1706
+ 3,
1707
+ 3,
1708
+ 4,
1709
+ 6,
1710
+ 3,
1711
+ 3,
1712
+ 6,
1713
+ 3,
1714
+ 3,
1715
+ 4,
1716
+ 3
1717
+ ],
1718
+ "best_token_acc": [
1719
+ 0.98046875,
1720
+ 0.6328125,
1721
+ 0.486328125,
1722
+ 0.3828125,
1723
+ 0.6083984375,
1724
+ 0.5205078125,
1725
+ 0.54296875,
1726
+ 0.798828125,
1727
+ 0.544921875,
1728
+ 0.9951171875,
1729
+ 0.9970703125,
1730
+ 0.896484375,
1731
+ 0.5927734375,
1732
+ 0.5908203125,
1733
+ 0.541015625,
1734
+ 0.9951171875,
1735
+ 0.6259765625,
1736
+ 0.642578125,
1737
+ 0.5029296875,
1738
+ 0.568359375,
1739
+ 0.5556640625,
1740
+ 0.8525390625,
1741
+ 0.97265625,
1742
+ 0.994140625,
1743
+ 0.4609375,
1744
+ 0.50390625,
1745
+ 0.822265625,
1746
+ 0.796875,
1747
+ 0.4970703125,
1748
+ 0.92578125,
1749
+ 0.51953125,
1750
+ 0.7138671875,
1751
+ 0.955078125,
1752
+ 0.759765625,
1753
+ 0.59765625,
1754
+ 0.7197265625,
1755
+ 0.865234375,
1756
+ 0.431640625,
1757
+ 0.9990234375,
1758
+ 0.4658203125,
1759
+ 0.552734375,
1760
+ 0.841796875,
1761
+ 0.6142578125,
1762
+ 0.603515625,
1763
+ 0.9892578125,
1764
+ 0.4833984375,
1765
+ 0.8916015625,
1766
+ 0.8662109375,
1767
+ 0.607421875,
1768
+ 0.5234375,
1769
+ 0.6083984375,
1770
+ 0.513671875,
1771
+ 0.9970703125,
1772
+ 0.5595703125,
1773
+ 0.654296875,
1774
+ 0.703125,
1775
+ 0.8779296875,
1776
+ 0.93359375,
1777
+ 0.6201171875,
1778
+ 0.8134765625,
1779
+ 0.46484375,
1780
+ 0.7587890625,
1781
+ 0.974609375,
1782
+ 0.4833984375
1783
+ ]
1784
+ }
1785
+ },
1786
+ "first_exact_by_run": {}
1787
+ }
1788
+ RESULT config=p50_unif0_0p25_outwdm1 decode=flowmap run=train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 ckpt_step=5000 views=2560000 token_acc=0.6999 exact=0/64 exact_refs=0 hits=[]
1789
+ [eval-decode-acc] train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 step=5000 soft=none
1790
+ [decode] max_len=1024 generated=64/64
1791
+ {
1792
+ "num_rows": 1,
1793
+ "best_by_run": {
1794
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
1795
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
1796
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0005000.pt",
1797
+ "ckpt_step": 5000,
1798
+ "endpoint_softening": "none",
1799
+ "decode_rule": "dual_line_resample",
1800
+ "steps": 128,
1801
+ "time_schedule": "logit_normal",
1802
+ "model_t_mode": "post",
1803
+ "final_from": "state",
1804
+ "n_gen": 64,
1805
+ "n_refs": 8,
1806
+ "token_acc_mean": 0.9088897705078125,
1807
+ "token_acc_min": 0.6416015625,
1808
+ "token_acc_max": 0.9892578125,
1809
+ "exact_acc": 0.0,
1810
+ "exact_count": 0,
1811
+ "exact_ref_coverage": 0.0,
1812
+ "exact_ref_count": 0,
1813
+ "exact_ref_hits": [],
1814
+ "best_ref_idx": [
1815
+ 3,
1816
+ 6,
1817
+ 6,
1818
+ 1,
1819
+ 7,
1820
+ 6,
1821
+ 6,
1822
+ 3,
1823
+ 6,
1824
+ 3,
1825
+ 3,
1826
+ 7,
1827
+ 6,
1828
+ 6,
1829
+ 6,
1830
+ 3,
1831
+ 3,
1832
+ 6,
1833
+ 6,
1834
+ 6,
1835
+ 3,
1836
+ 1,
1837
+ 1,
1838
+ 6,
1839
+ 3,
1840
+ 1,
1841
+ 1,
1842
+ 6,
1843
+ 7,
1844
+ 3,
1845
+ 6,
1846
+ 6,
1847
+ 6,
1848
+ 3,
1849
+ 1,
1850
+ 3,
1851
+ 3,
1852
+ 3,
1853
+ 6,
1854
+ 2,
1855
+ 6,
1856
+ 3,
1857
+ 3,
1858
+ 6,
1859
+ 1,
1860
+ 3,
1861
+ 1,
1862
+ 6,
1863
+ 6,
1864
+ 3,
1865
+ 6,
1866
+ 0,
1867
+ 3,
1868
+ 6,
1869
+ 6,
1870
+ 6,
1871
+ 3,
1872
+ 6,
1873
+ 6,
1874
+ 6,
1875
+ 1,
1876
+ 6,
1877
+ 1,
1878
+ 1
1879
+ ],
1880
+ "best_token_acc": [
1881
+ 0.984375,
1882
+ 0.8955078125,
1883
+ 0.9150390625,
1884
+ 0.7880859375,
1885
+ 0.9755859375,
1886
+ 0.9052734375,
1887
+ 0.8994140625,
1888
+ 0.9814453125,
1889
+ 0.908203125,
1890
+ 0.9765625,
1891
+ 0.9814453125,
1892
+ 0.966796875,
1893
+ 0.87890625,
1894
+ 0.9130859375,
1895
+ 0.923828125,
1896
+ 0.9853515625,
1897
+ 0.984375,
1898
+ 0.900390625,
1899
+ 0.9091796875,
1900
+ 0.9072265625,
1901
+ 0.98046875,
1902
+ 0.8125,
1903
+ 0.7685546875,
1904
+ 0.912109375,
1905
+ 0.9814453125,
1906
+ 0.771484375,
1907
+ 0.767578125,
1908
+ 0.892578125,
1909
+ 0.966796875,
1910
+ 0.9833984375,
1911
+ 0.9052734375,
1912
+ 0.8984375,
1913
+ 0.9072265625,
1914
+ 0.986328125,
1915
+ 0.8037109375,
1916
+ 0.9833984375,
1917
+ 0.9765625,
1918
+ 0.9892578125,
1919
+ 0.9033203125,
1920
+ 0.6416015625,
1921
+ 0.91796875,
1922
+ 0.9892578125,
1923
+ 0.9833984375,
1924
+ 0.9453125,
1925
+ 0.775390625,
1926
+ 0.986328125,
1927
+ 0.80078125,
1928
+ 0.9091796875,
1929
+ 0.9111328125,
1930
+ 0.984375,
1931
+ 0.884765625,
1932
+ 0.923828125,
1933
+ 0.9892578125,
1934
+ 0.9111328125,
1935
+ 0.9208984375,
1936
+ 0.931640625,
1937
+ 0.9892578125,
1938
+ 0.9091796875,
1939
+ 0.9228515625,
1940
+ 0.87890625,
1941
+ 0.80859375,
1942
+ 0.8984375,
1943
+ 0.802734375,
1944
+ 0.7822265625
1945
+ ]
1946
+ }
1947
+ },
1948
+ "first_exact_by_run": {}
1949
+ }
1950
+ RESULT config=p50_unif0_0p25_outwdm1 decode=dual_line_resample run=train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 ckpt_step=5000 views=2560000 token_acc=0.9089 exact=0/64 exact_refs=0 hits=[]
1951
+ [ctx1024-sampleds] train config=p50_unif0_0p25_outwdm1 from=5000 to=6000
1952
+ [ctx1024-sampleds] eval config=p50_unif0_0p25_outwdm1 step=6000
1953
+ [eval-decode-acc] train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 step=6000 soft=none
1954
+ [decode] max_len=1024 generated=64/64
1955
+ {
1956
+ "num_rows": 1,
1957
+ "best_by_run": {
1958
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
1959
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
1960
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0006000.pt",
1961
+ "ckpt_step": 6000,
1962
+ "endpoint_softening": "none",
1963
+ "decode_rule": "flowmap",
1964
+ "steps": 128,
1965
+ "time_schedule": "logit_normal",
1966
+ "model_t_mode": "post",
1967
+ "final_from": "state",
1968
+ "n_gen": 64,
1969
+ "n_refs": 8,
1970
+ "token_acc_mean": 0.3032989501953125,
1971
+ "token_acc_min": 0.001953125,
1972
+ "token_acc_max": 0.9462890625,
1973
+ "exact_acc": 0.0,
1974
+ "exact_count": 0,
1975
+ "exact_ref_coverage": 0.0,
1976
+ "exact_ref_count": 0,
1977
+ "exact_ref_hits": [],
1978
+ "best_ref_idx": [
1979
+ 6,
1980
+ 6,
1981
+ 4,
1982
+ 4,
1983
+ 4,
1984
+ 4,
1985
+ 4,
1986
+ 4,
1987
+ 4,
1988
+ 2,
1989
+ 6,
1990
+ 2,
1991
+ 2,
1992
+ 1,
1993
+ 4,
1994
+ 4,
1995
+ 4,
1996
+ 4,
1997
+ 4,
1998
+ 4,
1999
+ 4,
2000
+ 2,
2001
+ 4,
2002
+ 2,
2003
+ 6,
2004
+ 3,
2005
+ 4,
2006
+ 4,
2007
+ 4,
2008
+ 6,
2009
+ 2,
2010
+ 4,
2011
+ 3,
2012
+ 4,
2013
+ 4,
2014
+ 4,
2015
+ 4,
2016
+ 4,
2017
+ 4,
2018
+ 2,
2019
+ 2,
2020
+ 1,
2021
+ 6,
2022
+ 4,
2023
+ 4,
2024
+ 4,
2025
+ 6,
2026
+ 4,
2027
+ 4,
2028
+ 4,
2029
+ 3,
2030
+ 4,
2031
+ 4,
2032
+ 4,
2033
+ 2,
2034
+ 4,
2035
+ 4,
2036
+ 4,
2037
+ 6,
2038
+ 6,
2039
+ 4,
2040
+ 4,
2041
+ 4,
2042
+ 2
2043
+ ],
2044
+ "best_token_acc": [
2045
+ 0.517578125,
2046
+ 0.326171875,
2047
+ 0.001953125,
2048
+ 0.37109375,
2049
+ 0.373046875,
2050
+ 0.4052734375,
2051
+ 0.3037109375,
2052
+ 0.369140625,
2053
+ 0.40234375,
2054
+ 0.0458984375,
2055
+ 0.3310546875,
2056
+ 0.0302734375,
2057
+ 0.017578125,
2058
+ 0.91796875,
2059
+ 0.2734375,
2060
+ 0.41796875,
2061
+ 0.30859375,
2062
+ 0.388671875,
2063
+ 0.3037109375,
2064
+ 0.376953125,
2065
+ 0.375,
2066
+ 0.029296875,
2067
+ 0.298828125,
2068
+ 0.02734375,
2069
+ 0.3544921875,
2070
+ 0.8994140625,
2071
+ 0.1884765625,
2072
+ 0.4306640625,
2073
+ 0.3720703125,
2074
+ 0.28515625,
2075
+ 0.0478515625,
2076
+ 0.359375,
2077
+ 0.099609375,
2078
+ 0.3427734375,
2079
+ 0.3759765625,
2080
+ 0.330078125,
2081
+ 0.3583984375,
2082
+ 0.35546875,
2083
+ 0.3056640625,
2084
+ 0.04296875,
2085
+ 0.0537109375,
2086
+ 0.9462890625,
2087
+ 0.00390625,
2088
+ 0.0986328125,
2089
+ 0.359375,
2090
+ 0.3974609375,
2091
+ 0.30078125,
2092
+ 0.357421875,
2093
+ 0.326171875,
2094
+ 0.2978515625,
2095
+ 0.06640625,
2096
+ 0.37109375,
2097
+ 0.3583984375,
2098
+ 0.353515625,
2099
+ 0.0380859375,
2100
+ 0.3076171875,
2101
+ 0.3388671875,
2102
+ 0.35546875,
2103
+ 0.4736328125,
2104
+ 0.31640625,
2105
+ 0.33984375,
2106
+ 0.2080078125,
2107
+ 0.3388671875,
2108
+ 0.0419921875
2109
+ ]
2110
+ }
2111
+ },
2112
+ "first_exact_by_run": {}
2113
+ }
2114
+ RESULT config=p50_unif0_0p25_outwdm1 decode=flowmap run=train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 ckpt_step=6000 views=3072000 token_acc=0.3033 exact=0/64 exact_refs=0 hits=[]
2115
+ [eval-decode-acc] train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 step=6000 soft=none
2116
+ [decode] max_len=1024 generated=64/64
2117
+ {
2118
+ "num_rows": 1,
2119
+ "best_by_run": {
2120
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
2121
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
2122
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0006000.pt",
2123
+ "ckpt_step": 6000,
2124
+ "endpoint_softening": "none",
2125
+ "decode_rule": "dual_line_resample",
2126
+ "steps": 128,
2127
+ "time_schedule": "logit_normal",
2128
+ "model_t_mode": "post",
2129
+ "final_from": "state",
2130
+ "n_gen": 64,
2131
+ "n_refs": 8,
2132
+ "token_acc_mean": 0.922149658203125,
2133
+ "token_acc_min": 0.716796875,
2134
+ "token_acc_max": 1.0,
2135
+ "exact_acc": 0.015625,
2136
+ "exact_count": 1,
2137
+ "exact_ref_coverage": 0.125,
2138
+ "exact_ref_count": 1,
2139
+ "exact_ref_hits": [
2140
+ 6
2141
+ ],
2142
+ "best_ref_idx": [
2143
+ 7,
2144
+ 0,
2145
+ 7,
2146
+ 0,
2147
+ 0,
2148
+ 4,
2149
+ 4,
2150
+ 0,
2151
+ 2,
2152
+ 1,
2153
+ 2,
2154
+ 3,
2155
+ 1,
2156
+ 0,
2157
+ 6,
2158
+ 7,
2159
+ 4,
2160
+ 5,
2161
+ 6,
2162
+ 0,
2163
+ 6,
2164
+ 3,
2165
+ 5,
2166
+ 6,
2167
+ 1,
2168
+ 4,
2169
+ 7,
2170
+ 2,
2171
+ 3,
2172
+ 2,
2173
+ 7,
2174
+ 1,
2175
+ 0,
2176
+ 7,
2177
+ 0,
2178
+ 5,
2179
+ 0,
2180
+ 0,
2181
+ 0,
2182
+ 0,
2183
+ 0,
2184
+ 4,
2185
+ 1,
2186
+ 4,
2187
+ 0,
2188
+ 0,
2189
+ 0,
2190
+ 3,
2191
+ 0,
2192
+ 0,
2193
+ 7,
2194
+ 3,
2195
+ 0,
2196
+ 6,
2197
+ 6,
2198
+ 6,
2199
+ 0,
2200
+ 0,
2201
+ 7,
2202
+ 0,
2203
+ 1,
2204
+ 1,
2205
+ 0,
2206
+ 5
2207
+ ],
2208
+ "best_token_acc": [
2209
+ 0.84765625,
2210
+ 0.994140625,
2211
+ 0.796875,
2212
+ 0.99609375,
2213
+ 0.9921875,
2214
+ 0.970703125,
2215
+ 0.9443359375,
2216
+ 0.994140625,
2217
+ 0.78515625,
2218
+ 0.755859375,
2219
+ 0.751953125,
2220
+ 0.9677734375,
2221
+ 0.7392578125,
2222
+ 0.994140625,
2223
+ 0.9970703125,
2224
+ 0.8046875,
2225
+ 0.955078125,
2226
+ 0.9814453125,
2227
+ 0.9990234375,
2228
+ 0.9951171875,
2229
+ 1.0,
2230
+ 0.970703125,
2231
+ 0.982421875,
2232
+ 0.9990234375,
2233
+ 0.732421875,
2234
+ 0.958984375,
2235
+ 0.7578125,
2236
+ 0.794921875,
2237
+ 0.9697265625,
2238
+ 0.7646484375,
2239
+ 0.7294921875,
2240
+ 0.8017578125,
2241
+ 0.990234375,
2242
+ 0.759765625,
2243
+ 0.9951171875,
2244
+ 0.9794921875,
2245
+ 0.994140625,
2246
+ 0.99609375,
2247
+ 0.9921875,
2248
+ 0.990234375,
2249
+ 0.9912109375,
2250
+ 0.9580078125,
2251
+ 0.716796875,
2252
+ 0.94140625,
2253
+ 0.994140625,
2254
+ 0.9921875,
2255
+ 0.9931640625,
2256
+ 0.9755859375,
2257
+ 0.9970703125,
2258
+ 0.9970703125,
2259
+ 0.81640625,
2260
+ 0.9775390625,
2261
+ 0.998046875,
2262
+ 0.998046875,
2263
+ 0.998046875,
2264
+ 0.998046875,
2265
+ 0.9873046875,
2266
+ 0.994140625,
2267
+ 0.77734375,
2268
+ 0.9931640625,
2269
+ 0.779296875,
2270
+ 0.740234375,
2271
+ 0.9921875,
2272
+ 0.9892578125
2273
+ ]
2274
+ }
2275
+ },
2276
+ "first_exact_by_run": {
2277
+ "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929::none": {
2278
+ "run": "train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929",
2279
+ "checkpoint": "runs/train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929/step_0006000.pt",
2280
+ "ckpt_step": 6000,
2281
+ "endpoint_softening": "none",
2282
+ "decode_rule": "dual_line_resample",
2283
+ "steps": 128,
2284
+ "time_schedule": "logit_normal",
2285
+ "model_t_mode": "post",
2286
+ "final_from": "state",
2287
+ "n_gen": 64,
2288
+ "n_refs": 8,
2289
+ "token_acc_mean": 0.922149658203125,
2290
+ "token_acc_min": 0.716796875,
2291
+ "token_acc_max": 1.0,
2292
+ "exact_acc": 0.015625,
2293
+ "exact_count": 1,
2294
+ "exact_ref_coverage": 0.125,
2295
+ "exact_ref_count": 1,
2296
+ "exact_ref_hits": [
2297
+ 6
2298
+ ],
2299
+ "best_ref_idx": [
2300
+ 7,
2301
+ 0,
2302
+ 7,
2303
+ 0,
2304
+ 0,
2305
+ 4,
2306
+ 4,
2307
+ 0,
2308
+ 2,
2309
+ 1,
2310
+ 2,
2311
+ 3,
2312
+ 1,
2313
+ 0,
2314
+ 6,
2315
+ 7,
2316
+ 4,
2317
+ 5,
2318
+ 6,
2319
+ 0,
2320
+ 6,
2321
+ 3,
2322
+ 5,
2323
+ 6,
2324
+ 1,
2325
+ 4,
2326
+ 7,
2327
+ 2,
2328
+ 3,
2329
+ 2,
2330
+ 7,
2331
+ 1,
2332
+ 0,
2333
+ 7,
2334
+ 0,
2335
+ 5,
2336
+ 0,
2337
+ 0,
2338
+ 0,
2339
+ 0,
2340
+ 0,
2341
+ 4,
2342
+ 1,
2343
+ 4,
2344
+ 0,
2345
+ 0,
2346
+ 0,
2347
+ 3,
2348
+ 0,
2349
+ 0,
2350
+ 7,
2351
+ 3,
2352
+ 0,
2353
+ 6,
2354
+ 6,
2355
+ 6,
2356
+ 0,
2357
+ 0,
2358
+ 7,
2359
+ 0,
2360
+ 1,
2361
+ 1,
2362
+ 0,
2363
+ 5
2364
+ ],
2365
+ "best_token_acc": [
2366
+ 0.84765625,
2367
+ 0.994140625,
2368
+ 0.796875,
2369
+ 0.99609375,
2370
+ 0.9921875,
2371
+ 0.970703125,
2372
+ 0.9443359375,
2373
+ 0.994140625,
2374
+ 0.78515625,
2375
+ 0.755859375,
2376
+ 0.751953125,
2377
+ 0.9677734375,
2378
+ 0.7392578125,
2379
+ 0.994140625,
2380
+ 0.9970703125,
2381
+ 0.8046875,
2382
+ 0.955078125,
2383
+ 0.9814453125,
2384
+ 0.9990234375,
2385
+ 0.9951171875,
2386
+ 1.0,
2387
+ 0.970703125,
2388
+ 0.982421875,
2389
+ 0.9990234375,
2390
+ 0.732421875,
2391
+ 0.958984375,
2392
+ 0.7578125,
2393
+ 0.794921875,
2394
+ 0.9697265625,
2395
+ 0.7646484375,
2396
+ 0.7294921875,
2397
+ 0.8017578125,
2398
+ 0.990234375,
2399
+ 0.759765625,
2400
+ 0.9951171875,
2401
+ 0.9794921875,
2402
+ 0.994140625,
2403
+ 0.99609375,
2404
+ 0.9921875,
2405
+ 0.990234375,
2406
+ 0.9912109375,
2407
+ 0.9580078125,
2408
+ 0.716796875,
2409
+ 0.94140625,
2410
+ 0.994140625,
2411
+ 0.9921875,
2412
+ 0.9931640625,
2413
+ 0.9755859375,
2414
+ 0.9970703125,
2415
+ 0.9970703125,
2416
+ 0.81640625,
2417
+ 0.9775390625,
2418
+ 0.998046875,
2419
+ 0.998046875,
2420
+ 0.998046875,
2421
+ 0.998046875,
2422
+ 0.9873046875,
2423
+ 0.994140625,
2424
+ 0.77734375,
2425
+ 0.9931640625,
2426
+ 0.779296875,
2427
+ 0.740234375,
2428
+ 0.9921875,
2429
+ 0.9892578125
2430
+ ]
2431
+ }
2432
+ }
2433
+ }
2434
+ RESULT config=p50_unif0_0p25_outwdm1 decode=dual_line_resample run=train8_ctx1024_core_p50_unif0_0p25_outwdm1_ctx1024_core_tradeoff_dual_20260517_230929 ckpt_step=6000 views=3072000 token_acc=0.9221 exact=1/64 exact_refs=1 hits=[6]
2435
+ [ctx1024-sampleds] train config=p50_unif0_0p25_outwdm1 from=6000 to=7000
LTA_openwebtext_dualt/logs/ctx1024_sampleds_sweep_4gpu/t5tok_ctx1024_k03_20260518_022728.log ADDED
@@ -0,0 +1,1808 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [ctx1024-sampleds] start stamp=t5tok_ctx1024_k03_20260518_022728 len=1024 vocab=2423 out=docs/lta_samples/metrics_20260518/t5tok_ctx1024_k03_t5tok_ctx1024_k03_20260518_022728
2
+ [ctx1024-sampleds] config=p50_rand0_3_unif0_0p25_outwdm1 run=train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 p=0.50 mode=sampled_path steps=3 steps_min=0 s_dist=uniform s_frac=0.0->0.25 beta=2.0,6.0 outwd=-1 sync_t=1
3
+ [ctx1024-sampleds] train config=p50_rand0_3_unif0_0p25_outwdm1 from=0 to=1000
4
+ [ctx1024-sampleds] eval config=p50_rand0_3_unif0_0p25_outwdm1 step=1000
5
+ [eval-decode-acc] train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 step=1000 soft=none
6
+ [decode] max_len=1024 generated=64/64
7
+ {
8
+ "num_rows": 1,
9
+ "best_by_run": {
10
+ "train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728::none": {
11
+ "run": "train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728",
12
+ "checkpoint": "runs/train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728/step_0001000.pt",
13
+ "ckpt_step": 1000,
14
+ "endpoint_softening": "none",
15
+ "decode_rule": "dirichlet_resample",
16
+ "steps": 128,
17
+ "time_schedule": "logit_normal",
18
+ "model_t_mode": "post",
19
+ "final_from": "state",
20
+ "n_gen": 64,
21
+ "n_refs": 8,
22
+ "token_acc_mean": 0.064483642578125,
23
+ "token_acc_min": 0.013671875,
24
+ "token_acc_max": 0.7587890625,
25
+ "exact_acc": 0.0,
26
+ "exact_count": 0,
27
+ "exact_ref_coverage": 0.0,
28
+ "exact_ref_count": 0,
29
+ "exact_ref_hits": [],
30
+ "best_ref_idx": [
31
+ 0,
32
+ 5,
33
+ 5,
34
+ 5,
35
+ 5,
36
+ 5,
37
+ 3,
38
+ 0,
39
+ 5,
40
+ 5,
41
+ 5,
42
+ 5,
43
+ 0,
44
+ 5,
45
+ 5,
46
+ 5,
47
+ 5,
48
+ 5,
49
+ 5,
50
+ 0,
51
+ 5,
52
+ 5,
53
+ 5,
54
+ 5,
55
+ 5,
56
+ 5,
57
+ 5,
58
+ 5,
59
+ 5,
60
+ 5,
61
+ 5,
62
+ 7,
63
+ 5,
64
+ 5,
65
+ 5,
66
+ 5,
67
+ 5,
68
+ 5,
69
+ 5,
70
+ 5,
71
+ 7,
72
+ 5,
73
+ 5,
74
+ 3,
75
+ 5,
76
+ 5,
77
+ 3,
78
+ 5,
79
+ 0,
80
+ 5,
81
+ 5,
82
+ 5,
83
+ 1,
84
+ 5,
85
+ 5,
86
+ 5,
87
+ 5,
88
+ 5,
89
+ 5,
90
+ 4,
91
+ 5,
92
+ 5,
93
+ 5,
94
+ 5
95
+ ],
96
+ "best_token_acc": [
97
+ 0.0166015625,
98
+ 0.015625,
99
+ 0.046875,
100
+ 0.021484375,
101
+ 0.0576171875,
102
+ 0.115234375,
103
+ 0.0185546875,
104
+ 0.013671875,
105
+ 0.046875,
106
+ 0.0400390625,
107
+ 0.041015625,
108
+ 0.0419921875,
109
+ 0.015625,
110
+ 0.029296875,
111
+ 0.0576171875,
112
+ 0.0224609375,
113
+ 0.0390625,
114
+ 0.478515625,
115
+ 0.7587890625,
116
+ 0.0166015625,
117
+ 0.0185546875,
118
+ 0.0234375,
119
+ 0.03125,
120
+ 0.64453125,
121
+ 0.03515625,
122
+ 0.0205078125,
123
+ 0.03125,
124
+ 0.0283203125,
125
+ 0.0361328125,
126
+ 0.0244140625,
127
+ 0.0283203125,
128
+ 0.02734375,
129
+ 0.02734375,
130
+ 0.02734375,
131
+ 0.0361328125,
132
+ 0.2294921875,
133
+ 0.0380859375,
134
+ 0.0302734375,
135
+ 0.03515625,
136
+ 0.0302734375,
137
+ 0.0205078125,
138
+ 0.021484375,
139
+ 0.0302734375,
140
+ 0.0224609375,
141
+ 0.013671875,
142
+ 0.041015625,
143
+ 0.0234375,
144
+ 0.025390625,
145
+ 0.0185546875,
146
+ 0.0244140625,
147
+ 0.0361328125,
148
+ 0.0205078125,
149
+ 0.099609375,
150
+ 0.060546875,
151
+ 0.0517578125,
152
+ 0.0234375,
153
+ 0.037109375,
154
+ 0.029296875,
155
+ 0.052734375,
156
+ 0.0185546875,
157
+ 0.056640625,
158
+ 0.0302734375,
159
+ 0.03515625,
160
+ 0.037109375
161
+ ]
162
+ }
163
+ },
164
+ "first_exact_by_run": {}
165
+ }
166
+ RESULT config=p50_rand0_3_unif0_0p25_outwdm1 decode=dirichlet_resample run=train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 ckpt_step=1000 views=512000 token_acc=0.0645 exact=0/64 exact_refs=0 hits=[]
167
+ [ctx1024-sampleds] train config=p50_rand0_3_unif0_0p25_outwdm1 from=1000 to=2000
168
+ [ctx1024-sampleds] eval config=p50_rand0_3_unif0_0p25_outwdm1 step=2000
169
+ [eval-decode-acc] train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 step=2000 soft=none
170
+ [decode] max_len=1024 generated=64/64
171
+ {
172
+ "num_rows": 1,
173
+ "best_by_run": {
174
+ "train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728::none": {
175
+ "run": "train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728",
176
+ "checkpoint": "runs/train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728/step_0002000.pt",
177
+ "ckpt_step": 2000,
178
+ "endpoint_softening": "none",
179
+ "decode_rule": "dirichlet_resample",
180
+ "steps": 128,
181
+ "time_schedule": "logit_normal",
182
+ "model_t_mode": "post",
183
+ "final_from": "state",
184
+ "n_gen": 64,
185
+ "n_refs": 8,
186
+ "token_acc_mean": 0.922027587890625,
187
+ "token_acc_min": 0.0126953125,
188
+ "token_acc_max": 0.9990234375,
189
+ "exact_acc": 0.0,
190
+ "exact_count": 0,
191
+ "exact_ref_coverage": 0.0,
192
+ "exact_ref_count": 0,
193
+ "exact_ref_hits": [],
194
+ "best_ref_idx": [
195
+ 5,
196
+ 5,
197
+ 1,
198
+ 5,
199
+ 5,
200
+ 5,
201
+ 5,
202
+ 7,
203
+ 5,
204
+ 5,
205
+ 5,
206
+ 5,
207
+ 5,
208
+ 5,
209
+ 5,
210
+ 5,
211
+ 3,
212
+ 5,
213
+ 5,
214
+ 5,
215
+ 5,
216
+ 5,
217
+ 3,
218
+ 5,
219
+ 5,
220
+ 5,
221
+ 5,
222
+ 5,
223
+ 5,
224
+ 5,
225
+ 2,
226
+ 5,
227
+ 5,
228
+ 5,
229
+ 5,
230
+ 5,
231
+ 2,
232
+ 7,
233
+ 2,
234
+ 5,
235
+ 5,
236
+ 5,
237
+ 2,
238
+ 5,
239
+ 5,
240
+ 5,
241
+ 5,
242
+ 7,
243
+ 5,
244
+ 5,
245
+ 7,
246
+ 5,
247
+ 5,
248
+ 5,
249
+ 5,
250
+ 2,
251
+ 2,
252
+ 5,
253
+ 5,
254
+ 2,
255
+ 5,
256
+ 5,
257
+ 5,
258
+ 5
259
+ ],
260
+ "best_token_acc": [
261
+ 0.9990234375,
262
+ 0.9970703125,
263
+ 0.998046875,
264
+ 0.9970703125,
265
+ 0.9970703125,
266
+ 0.998046875,
267
+ 0.9970703125,
268
+ 0.998046875,
269
+ 0.998046875,
270
+ 0.9970703125,
271
+ 0.9990234375,
272
+ 0.998046875,
273
+ 0.998046875,
274
+ 0.998046875,
275
+ 0.998046875,
276
+ 0.998046875,
277
+ 0.9990234375,
278
+ 0.998046875,
279
+ 0.9990234375,
280
+ 0.998046875,
281
+ 0.998046875,
282
+ 0.9970703125,
283
+ 0.9990234375,
284
+ 0.998046875,
285
+ 0.9970703125,
286
+ 0.998046875,
287
+ 0.998046875,
288
+ 0.029296875,
289
+ 0.9970703125,
290
+ 0.029296875,
291
+ 0.9990234375,
292
+ 0.998046875,
293
+ 0.9970703125,
294
+ 0.9970703125,
295
+ 0.9970703125,
296
+ 0.9970703125,
297
+ 0.9990234375,
298
+ 0.998046875,
299
+ 0.9990234375,
300
+ 0.0322265625,
301
+ 0.998046875,
302
+ 0.998046875,
303
+ 0.998046875,
304
+ 0.9970703125,
305
+ 0.998046875,
306
+ 0.9970703125,
307
+ 0.029296875,
308
+ 0.998046875,
309
+ 0.998046875,
310
+ 0.998046875,
311
+ 0.998046875,
312
+ 0.0126953125,
313
+ 0.998046875,
314
+ 0.9970703125,
315
+ 0.9970703125,
316
+ 0.9990234375,
317
+ 0.9990234375,
318
+ 0.9970703125,
319
+ 0.998046875,
320
+ 0.9990234375,
321
+ 0.9970703125,
322
+ 0.998046875,
323
+ 0.9970703125,
324
+ 0.998046875
325
+ ]
326
+ }
327
+ },
328
+ "first_exact_by_run": {}
329
+ }
330
+ RESULT config=p50_rand0_3_unif0_0p25_outwdm1 decode=dirichlet_resample run=train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 ckpt_step=2000 views=1024000 token_acc=0.9220 exact=0/64 exact_refs=0 hits=[]
331
+ [ctx1024-sampleds] train config=p50_rand0_3_unif0_0p25_outwdm1 from=2000 to=3000
332
+ [ctx1024-sampleds] eval config=p50_rand0_3_unif0_0p25_outwdm1 step=3000
333
+ [eval-decode-acc] train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 step=3000 soft=none
334
+ [decode] max_len=1024 generated=64/64
335
+ {
336
+ "num_rows": 1,
337
+ "best_by_run": {
338
+ "train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728::none": {
339
+ "run": "train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728",
340
+ "checkpoint": "runs/train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728/step_0003000.pt",
341
+ "ckpt_step": 3000,
342
+ "endpoint_softening": "none",
343
+ "decode_rule": "dirichlet_resample",
344
+ "steps": 128,
345
+ "time_schedule": "logit_normal",
346
+ "model_t_mode": "post",
347
+ "final_from": "state",
348
+ "n_gen": 64,
349
+ "n_refs": 8,
350
+ "token_acc_mean": 0.9999847412109375,
351
+ "token_acc_min": 0.9990234375,
352
+ "token_acc_max": 1.0,
353
+ "exact_acc": 0.984375,
354
+ "exact_count": 63,
355
+ "exact_ref_coverage": 0.375,
356
+ "exact_ref_count": 3,
357
+ "exact_ref_hits": [
358
+ 1,
359
+ 3,
360
+ 5
361
+ ],
362
+ "best_ref_idx": [
363
+ 5,
364
+ 5,
365
+ 5,
366
+ 1,
367
+ 5,
368
+ 5,
369
+ 5,
370
+ 5,
371
+ 5,
372
+ 5,
373
+ 5,
374
+ 5,
375
+ 3,
376
+ 5,
377
+ 5,
378
+ 5,
379
+ 5,
380
+ 5,
381
+ 5,
382
+ 5,
383
+ 5,
384
+ 5,
385
+ 5,
386
+ 5,
387
+ 5,
388
+ 5,
389
+ 5,
390
+ 5,
391
+ 5,
392
+ 5,
393
+ 5,
394
+ 5,
395
+ 5,
396
+ 5,
397
+ 5,
398
+ 5,
399
+ 5,
400
+ 5,
401
+ 3,
402
+ 5,
403
+ 5,
404
+ 5,
405
+ 5,
406
+ 5,
407
+ 5,
408
+ 5,
409
+ 5,
410
+ 5,
411
+ 1,
412
+ 5,
413
+ 5,
414
+ 5,
415
+ 1,
416
+ 5,
417
+ 5,
418
+ 5,
419
+ 5,
420
+ 5,
421
+ 5,
422
+ 5,
423
+ 5,
424
+ 5,
425
+ 5,
426
+ 5
427
+ ],
428
+ "best_token_acc": [
429
+ 1.0,
430
+ 1.0,
431
+ 1.0,
432
+ 1.0,
433
+ 1.0,
434
+ 1.0,
435
+ 1.0,
436
+ 1.0,
437
+ 1.0,
438
+ 1.0,
439
+ 1.0,
440
+ 1.0,
441
+ 1.0,
442
+ 1.0,
443
+ 1.0,
444
+ 1.0,
445
+ 1.0,
446
+ 1.0,
447
+ 1.0,
448
+ 1.0,
449
+ 1.0,
450
+ 1.0,
451
+ 1.0,
452
+ 1.0,
453
+ 1.0,
454
+ 1.0,
455
+ 1.0,
456
+ 1.0,
457
+ 1.0,
458
+ 1.0,
459
+ 1.0,
460
+ 1.0,
461
+ 1.0,
462
+ 1.0,
463
+ 1.0,
464
+ 1.0,
465
+ 0.9990234375,
466
+ 1.0,
467
+ 1.0,
468
+ 1.0,
469
+ 1.0,
470
+ 1.0,
471
+ 1.0,
472
+ 1.0,
473
+ 1.0,
474
+ 1.0,
475
+ 1.0,
476
+ 1.0,
477
+ 1.0,
478
+ 1.0,
479
+ 1.0,
480
+ 1.0,
481
+ 1.0,
482
+ 1.0,
483
+ 1.0,
484
+ 1.0,
485
+ 1.0,
486
+ 1.0,
487
+ 1.0,
488
+ 1.0,
489
+ 1.0,
490
+ 1.0,
491
+ 1.0,
492
+ 1.0
493
+ ]
494
+ }
495
+ },
496
+ "first_exact_by_run": {
497
+ "train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728::none": {
498
+ "run": "train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728",
499
+ "checkpoint": "runs/train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728/step_0003000.pt",
500
+ "ckpt_step": 3000,
501
+ "endpoint_softening": "none",
502
+ "decode_rule": "dirichlet_resample",
503
+ "steps": 128,
504
+ "time_schedule": "logit_normal",
505
+ "model_t_mode": "post",
506
+ "final_from": "state",
507
+ "n_gen": 64,
508
+ "n_refs": 8,
509
+ "token_acc_mean": 0.9999847412109375,
510
+ "token_acc_min": 0.9990234375,
511
+ "token_acc_max": 1.0,
512
+ "exact_acc": 0.984375,
513
+ "exact_count": 63,
514
+ "exact_ref_coverage": 0.375,
515
+ "exact_ref_count": 3,
516
+ "exact_ref_hits": [
517
+ 1,
518
+ 3,
519
+ 5
520
+ ],
521
+ "best_ref_idx": [
522
+ 5,
523
+ 5,
524
+ 5,
525
+ 1,
526
+ 5,
527
+ 5,
528
+ 5,
529
+ 5,
530
+ 5,
531
+ 5,
532
+ 5,
533
+ 5,
534
+ 3,
535
+ 5,
536
+ 5,
537
+ 5,
538
+ 5,
539
+ 5,
540
+ 5,
541
+ 5,
542
+ 5,
543
+ 5,
544
+ 5,
545
+ 5,
546
+ 5,
547
+ 5,
548
+ 5,
549
+ 5,
550
+ 5,
551
+ 5,
552
+ 5,
553
+ 5,
554
+ 5,
555
+ 5,
556
+ 5,
557
+ 5,
558
+ 5,
559
+ 5,
560
+ 3,
561
+ 5,
562
+ 5,
563
+ 5,
564
+ 5,
565
+ 5,
566
+ 5,
567
+ 5,
568
+ 5,
569
+ 5,
570
+ 1,
571
+ 5,
572
+ 5,
573
+ 5,
574
+ 1,
575
+ 5,
576
+ 5,
577
+ 5,
578
+ 5,
579
+ 5,
580
+ 5,
581
+ 5,
582
+ 5,
583
+ 5,
584
+ 5,
585
+ 5
586
+ ],
587
+ "best_token_acc": [
588
+ 1.0,
589
+ 1.0,
590
+ 1.0,
591
+ 1.0,
592
+ 1.0,
593
+ 1.0,
594
+ 1.0,
595
+ 1.0,
596
+ 1.0,
597
+ 1.0,
598
+ 1.0,
599
+ 1.0,
600
+ 1.0,
601
+ 1.0,
602
+ 1.0,
603
+ 1.0,
604
+ 1.0,
605
+ 1.0,
606
+ 1.0,
607
+ 1.0,
608
+ 1.0,
609
+ 1.0,
610
+ 1.0,
611
+ 1.0,
612
+ 1.0,
613
+ 1.0,
614
+ 1.0,
615
+ 1.0,
616
+ 1.0,
617
+ 1.0,
618
+ 1.0,
619
+ 1.0,
620
+ 1.0,
621
+ 1.0,
622
+ 1.0,
623
+ 1.0,
624
+ 0.9990234375,
625
+ 1.0,
626
+ 1.0,
627
+ 1.0,
628
+ 1.0,
629
+ 1.0,
630
+ 1.0,
631
+ 1.0,
632
+ 1.0,
633
+ 1.0,
634
+ 1.0,
635
+ 1.0,
636
+ 1.0,
637
+ 1.0,
638
+ 1.0,
639
+ 1.0,
640
+ 1.0,
641
+ 1.0,
642
+ 1.0,
643
+ 1.0,
644
+ 1.0,
645
+ 1.0,
646
+ 1.0,
647
+ 1.0,
648
+ 1.0,
649
+ 1.0,
650
+ 1.0,
651
+ 1.0
652
+ ]
653
+ }
654
+ }
655
+ }
656
+ RESULT config=p50_rand0_3_unif0_0p25_outwdm1 decode=dirichlet_resample run=train8_ctx1024_t5tok_p50_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 ckpt_step=3000 views=1536000 token_acc=1.0000 exact=63/64 exact_refs=3 hits=[1, 3, 5]
657
+ [ctx1024-sampleds] early-hit config=p50_rand0_3_unif0_0p25_outwdm1
658
+ [ctx1024-sampleds] config=p35_rand0_3_unif0_0p25_outwdm1 run=train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 p=0.35 mode=sampled_path steps=3 steps_min=0 s_dist=uniform s_frac=0.0->0.25 beta=2.0,6.0 outwd=-1 sync_t=1
659
+ [ctx1024-sampleds] train config=p35_rand0_3_unif0_0p25_outwdm1 from=0 to=1000
660
+ [ctx1024-sampleds] eval config=p35_rand0_3_unif0_0p25_outwdm1 step=1000
661
+ [eval-decode-acc] train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 step=1000 soft=none
662
+ [decode] max_len=1024 generated=64/64
663
+ {
664
+ "num_rows": 1,
665
+ "best_by_run": {
666
+ "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728::none": {
667
+ "run": "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728",
668
+ "checkpoint": "runs/train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728/step_0001000.pt",
669
+ "ckpt_step": 1000,
670
+ "endpoint_softening": "none",
671
+ "decode_rule": "dirichlet_resample",
672
+ "steps": 128,
673
+ "time_schedule": "logit_normal",
674
+ "model_t_mode": "post",
675
+ "final_from": "state",
676
+ "n_gen": 64,
677
+ "n_refs": 8,
678
+ "token_acc_mean": 0.0539703369140625,
679
+ "token_acc_min": 0.0205078125,
680
+ "token_acc_max": 0.6650390625,
681
+ "exact_acc": 0.0,
682
+ "exact_count": 0,
683
+ "exact_ref_coverage": 0.0,
684
+ "exact_ref_count": 0,
685
+ "exact_ref_hits": [],
686
+ "best_ref_idx": [
687
+ 5,
688
+ 5,
689
+ 5,
690
+ 5,
691
+ 1,
692
+ 5,
693
+ 5,
694
+ 5,
695
+ 1,
696
+ 5,
697
+ 1,
698
+ 5,
699
+ 5,
700
+ 5,
701
+ 5,
702
+ 3,
703
+ 0,
704
+ 5,
705
+ 5,
706
+ 5,
707
+ 5,
708
+ 5,
709
+ 5,
710
+ 5,
711
+ 1,
712
+ 5,
713
+ 5,
714
+ 1,
715
+ 5,
716
+ 5,
717
+ 5,
718
+ 5,
719
+ 5,
720
+ 5,
721
+ 5,
722
+ 5,
723
+ 5,
724
+ 5,
725
+ 5,
726
+ 5,
727
+ 5,
728
+ 5,
729
+ 1,
730
+ 5,
731
+ 5,
732
+ 5,
733
+ 5,
734
+ 5,
735
+ 5,
736
+ 5,
737
+ 1,
738
+ 5,
739
+ 5,
740
+ 5,
741
+ 5,
742
+ 5,
743
+ 5,
744
+ 5,
745
+ 5,
746
+ 5,
747
+ 5,
748
+ 4,
749
+ 5,
750
+ 5
751
+ ],
752
+ "best_token_acc": [
753
+ 0.0322265625,
754
+ 0.0439453125,
755
+ 0.033203125,
756
+ 0.029296875,
757
+ 0.0234375,
758
+ 0.03515625,
759
+ 0.033203125,
760
+ 0.029296875,
761
+ 0.0205078125,
762
+ 0.0244140625,
763
+ 0.029296875,
764
+ 0.0400390625,
765
+ 0.037109375,
766
+ 0.044921875,
767
+ 0.0361328125,
768
+ 0.0224609375,
769
+ 0.0224609375,
770
+ 0.0205078125,
771
+ 0.462890625,
772
+ 0.0244140625,
773
+ 0.0751953125,
774
+ 0.05078125,
775
+ 0.03125,
776
+ 0.0654296875,
777
+ 0.0732421875,
778
+ 0.0302734375,
779
+ 0.033203125,
780
+ 0.0205078125,
781
+ 0.02734375,
782
+ 0.02734375,
783
+ 0.0234375,
784
+ 0.029296875,
785
+ 0.6650390625,
786
+ 0.03515625,
787
+ 0.0400390625,
788
+ 0.0234375,
789
+ 0.056640625,
790
+ 0.0380859375,
791
+ 0.107421875,
792
+ 0.0400390625,
793
+ 0.029296875,
794
+ 0.0380859375,
795
+ 0.0263671875,
796
+ 0.0439453125,
797
+ 0.033203125,
798
+ 0.0400390625,
799
+ 0.0400390625,
800
+ 0.044921875,
801
+ 0.0302734375,
802
+ 0.0390625,
803
+ 0.0244140625,
804
+ 0.025390625,
805
+ 0.0244140625,
806
+ 0.07421875,
807
+ 0.0263671875,
808
+ 0.029296875,
809
+ 0.025390625,
810
+ 0.044921875,
811
+ 0.1220703125,
812
+ 0.025390625,
813
+ 0.044921875,
814
+ 0.021484375,
815
+ 0.0361328125,
816
+ 0.0263671875
817
+ ]
818
+ }
819
+ },
820
+ "first_exact_by_run": {}
821
+ }
822
+ RESULT config=p35_rand0_3_unif0_0p25_outwdm1 decode=dirichlet_resample run=train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 ckpt_step=1000 views=512000 token_acc=0.0540 exact=0/64 exact_refs=0 hits=[]
823
+ [ctx1024-sampleds] train config=p35_rand0_3_unif0_0p25_outwdm1 from=1000 to=2000
824
+ [ctx1024-sampleds] eval config=p35_rand0_3_unif0_0p25_outwdm1 step=2000
825
+ [eval-decode-acc] train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 step=2000 soft=none
826
+ [decode] max_len=1024 generated=64/64
827
+ {
828
+ "num_rows": 1,
829
+ "best_by_run": {
830
+ "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728::none": {
831
+ "run": "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728",
832
+ "checkpoint": "runs/train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728/step_0002000.pt",
833
+ "ckpt_step": 2000,
834
+ "endpoint_softening": "none",
835
+ "decode_rule": "dirichlet_resample",
836
+ "steps": 128,
837
+ "time_schedule": "logit_normal",
838
+ "model_t_mode": "post",
839
+ "final_from": "state",
840
+ "n_gen": 64,
841
+ "n_refs": 8,
842
+ "token_acc_mean": 0.8461456298828125,
843
+ "token_acc_min": 0.0302734375,
844
+ "token_acc_max": 0.998046875,
845
+ "exact_acc": 0.0,
846
+ "exact_count": 0,
847
+ "exact_ref_coverage": 0.0,
848
+ "exact_ref_count": 0,
849
+ "exact_ref_hits": [],
850
+ "best_ref_idx": [
851
+ 5,
852
+ 5,
853
+ 5,
854
+ 5,
855
+ 5,
856
+ 5,
857
+ 5,
858
+ 5,
859
+ 5,
860
+ 5,
861
+ 5,
862
+ 5,
863
+ 5,
864
+ 5,
865
+ 5,
866
+ 5,
867
+ 5,
868
+ 5,
869
+ 5,
870
+ 5,
871
+ 5,
872
+ 5,
873
+ 5,
874
+ 5,
875
+ 5,
876
+ 5,
877
+ 5,
878
+ 5,
879
+ 5,
880
+ 5,
881
+ 5,
882
+ 5,
883
+ 5,
884
+ 5,
885
+ 5,
886
+ 5,
887
+ 5,
888
+ 5,
889
+ 5,
890
+ 5,
891
+ 5,
892
+ 5,
893
+ 5,
894
+ 5,
895
+ 5,
896
+ 5,
897
+ 5,
898
+ 5,
899
+ 5,
900
+ 5,
901
+ 5,
902
+ 5,
903
+ 5,
904
+ 5,
905
+ 5,
906
+ 5,
907
+ 5,
908
+ 5,
909
+ 5,
910
+ 5,
911
+ 5,
912
+ 5,
913
+ 5,
914
+ 5
915
+ ],
916
+ "best_token_acc": [
917
+ 0.99609375,
918
+ 0.9970703125,
919
+ 0.9970703125,
920
+ 0.9970703125,
921
+ 0.9970703125,
922
+ 0.9970703125,
923
+ 0.9970703125,
924
+ 0.9970703125,
925
+ 0.9951171875,
926
+ 0.998046875,
927
+ 0.99609375,
928
+ 0.998046875,
929
+ 0.0302734375,
930
+ 0.9970703125,
931
+ 0.99609375,
932
+ 0.9970703125,
933
+ 0.998046875,
934
+ 0.9970703125,
935
+ 0.0302734375,
936
+ 0.998046875,
937
+ 0.03125,
938
+ 0.998046875,
939
+ 0.0302734375,
940
+ 0.998046875,
941
+ 0.0302734375,
942
+ 0.9970703125,
943
+ 0.998046875,
944
+ 0.0302734375,
945
+ 0.0302734375,
946
+ 0.998046875,
947
+ 0.9970703125,
948
+ 0.99609375,
949
+ 0.9970703125,
950
+ 0.9970703125,
951
+ 0.998046875,
952
+ 0.9970703125,
953
+ 0.998046875,
954
+ 0.99609375,
955
+ 0.9970703125,
956
+ 0.0302734375,
957
+ 0.9970703125,
958
+ 0.998046875,
959
+ 0.9970703125,
960
+ 0.998046875,
961
+ 0.9970703125,
962
+ 0.9970703125,
963
+ 0.9970703125,
964
+ 0.9970703125,
965
+ 0.9951171875,
966
+ 0.998046875,
967
+ 0.9970703125,
968
+ 0.99609375,
969
+ 0.998046875,
970
+ 0.033203125,
971
+ 0.998046875,
972
+ 0.99609375,
973
+ 0.9970703125,
974
+ 0.99609375,
975
+ 0.9970703125,
976
+ 0.03125,
977
+ 0.99609375,
978
+ 0.998046875,
979
+ 0.9970703125,
980
+ 0.998046875
981
+ ]
982
+ }
983
+ },
984
+ "first_exact_by_run": {}
985
+ }
986
+ RESULT config=p35_rand0_3_unif0_0p25_outwdm1 decode=dirichlet_resample run=train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 ckpt_step=2000 views=1024000 token_acc=0.8461 exact=0/64 exact_refs=0 hits=[]
987
+ [ctx1024-sampleds] train config=p35_rand0_3_unif0_0p25_outwdm1 from=2000 to=3000
988
+ [ctx1024-sampleds] eval config=p35_rand0_3_unif0_0p25_outwdm1 step=3000
989
+ [eval-decode-acc] train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 step=3000 soft=none
990
+ [decode] max_len=1024 generated=64/64
991
+ {
992
+ "num_rows": 1,
993
+ "best_by_run": {
994
+ "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728::none": {
995
+ "run": "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728",
996
+ "checkpoint": "runs/train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728/step_0003000.pt",
997
+ "ckpt_step": 3000,
998
+ "endpoint_softening": "none",
999
+ "decode_rule": "dirichlet_resample",
1000
+ "steps": 128,
1001
+ "time_schedule": "logit_normal",
1002
+ "model_t_mode": "post",
1003
+ "final_from": "state",
1004
+ "n_gen": 64,
1005
+ "n_refs": 8,
1006
+ "token_acc_mean": 0.99884033203125,
1007
+ "token_acc_min": 0.998046875,
1008
+ "token_acc_max": 0.9990234375,
1009
+ "exact_acc": 0.0,
1010
+ "exact_count": 0,
1011
+ "exact_ref_coverage": 0.0,
1012
+ "exact_ref_count": 0,
1013
+ "exact_ref_hits": [],
1014
+ "best_ref_idx": [
1015
+ 5,
1016
+ 5,
1017
+ 5,
1018
+ 5,
1019
+ 5,
1020
+ 5,
1021
+ 5,
1022
+ 5,
1023
+ 5,
1024
+ 5,
1025
+ 5,
1026
+ 5,
1027
+ 5,
1028
+ 5,
1029
+ 5,
1030
+ 5,
1031
+ 5,
1032
+ 5,
1033
+ 5,
1034
+ 5,
1035
+ 5,
1036
+ 5,
1037
+ 5,
1038
+ 5,
1039
+ 5,
1040
+ 5,
1041
+ 5,
1042
+ 5,
1043
+ 5,
1044
+ 5,
1045
+ 5,
1046
+ 5,
1047
+ 5,
1048
+ 5,
1049
+ 5,
1050
+ 5,
1051
+ 5,
1052
+ 5,
1053
+ 5,
1054
+ 5,
1055
+ 5,
1056
+ 5,
1057
+ 5,
1058
+ 5,
1059
+ 5,
1060
+ 5,
1061
+ 5,
1062
+ 5,
1063
+ 5,
1064
+ 5,
1065
+ 5,
1066
+ 5,
1067
+ 5,
1068
+ 5,
1069
+ 5,
1070
+ 5,
1071
+ 5,
1072
+ 5,
1073
+ 5,
1074
+ 5,
1075
+ 5,
1076
+ 5,
1077
+ 5,
1078
+ 5
1079
+ ],
1080
+ "best_token_acc": [
1081
+ 0.9990234375,
1082
+ 0.9990234375,
1083
+ 0.9990234375,
1084
+ 0.998046875,
1085
+ 0.9990234375,
1086
+ 0.9990234375,
1087
+ 0.9990234375,
1088
+ 0.9990234375,
1089
+ 0.998046875,
1090
+ 0.9990234375,
1091
+ 0.9990234375,
1092
+ 0.9990234375,
1093
+ 0.9990234375,
1094
+ 0.998046875,
1095
+ 0.998046875,
1096
+ 0.9990234375,
1097
+ 0.998046875,
1098
+ 0.998046875,
1099
+ 0.9990234375,
1100
+ 0.9990234375,
1101
+ 0.9990234375,
1102
+ 0.9990234375,
1103
+ 0.9990234375,
1104
+ 0.9990234375,
1105
+ 0.9990234375,
1106
+ 0.9990234375,
1107
+ 0.9990234375,
1108
+ 0.9990234375,
1109
+ 0.9990234375,
1110
+ 0.9990234375,
1111
+ 0.9990234375,
1112
+ 0.998046875,
1113
+ 0.9990234375,
1114
+ 0.9990234375,
1115
+ 0.9990234375,
1116
+ 0.9990234375,
1117
+ 0.9990234375,
1118
+ 0.998046875,
1119
+ 0.9990234375,
1120
+ 0.9990234375,
1121
+ 0.9990234375,
1122
+ 0.9990234375,
1123
+ 0.9990234375,
1124
+ 0.9990234375,
1125
+ 0.9990234375,
1126
+ 0.9990234375,
1127
+ 0.998046875,
1128
+ 0.9990234375,
1129
+ 0.9990234375,
1130
+ 0.9990234375,
1131
+ 0.9990234375,
1132
+ 0.9990234375,
1133
+ 0.998046875,
1134
+ 0.9990234375,
1135
+ 0.9990234375,
1136
+ 0.9990234375,
1137
+ 0.998046875,
1138
+ 0.9990234375,
1139
+ 0.9990234375,
1140
+ 0.9990234375,
1141
+ 0.9990234375,
1142
+ 0.998046875,
1143
+ 0.9990234375,
1144
+ 0.9990234375
1145
+ ]
1146
+ }
1147
+ },
1148
+ "first_exact_by_run": {}
1149
+ }
1150
+ RESULT config=p35_rand0_3_unif0_0p25_outwdm1 decode=dirichlet_resample run=train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 ckpt_step=3000 views=1536000 token_acc=0.9988 exact=0/64 exact_refs=0 hits=[]
1151
+ [ctx1024-sampleds] train config=p35_rand0_3_unif0_0p25_outwdm1 from=3000 to=4000
1152
+ [ctx1024-sampleds] eval config=p35_rand0_3_unif0_0p25_outwdm1 step=4000
1153
+ [eval-decode-acc] train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 step=4000 soft=none
1154
+ [decode] max_len=1024 generated=64/64
1155
+ {
1156
+ "num_rows": 1,
1157
+ "best_by_run": {
1158
+ "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728::none": {
1159
+ "run": "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728",
1160
+ "checkpoint": "runs/train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728/step_0004000.pt",
1161
+ "ckpt_step": 4000,
1162
+ "endpoint_softening": "none",
1163
+ "decode_rule": "dirichlet_resample",
1164
+ "steps": 128,
1165
+ "time_schedule": "logit_normal",
1166
+ "model_t_mode": "post",
1167
+ "final_from": "state",
1168
+ "n_gen": 64,
1169
+ "n_refs": 8,
1170
+ "token_acc_mean": 0.999755859375,
1171
+ "token_acc_min": 0.9990234375,
1172
+ "token_acc_max": 1.0,
1173
+ "exact_acc": 0.75,
1174
+ "exact_count": 48,
1175
+ "exact_ref_coverage": 0.375,
1176
+ "exact_ref_count": 3,
1177
+ "exact_ref_hits": [
1178
+ 2,
1179
+ 4,
1180
+ 5
1181
+ ],
1182
+ "best_ref_idx": [
1183
+ 5,
1184
+ 5,
1185
+ 5,
1186
+ 4,
1187
+ 5,
1188
+ 4,
1189
+ 4,
1190
+ 4,
1191
+ 5,
1192
+ 4,
1193
+ 5,
1194
+ 2,
1195
+ 5,
1196
+ 5,
1197
+ 5,
1198
+ 5,
1199
+ 4,
1200
+ 5,
1201
+ 5,
1202
+ 4,
1203
+ 5,
1204
+ 5,
1205
+ 5,
1206
+ 5,
1207
+ 4,
1208
+ 5,
1209
+ 5,
1210
+ 5,
1211
+ 5,
1212
+ 4,
1213
+ 5,
1214
+ 4,
1215
+ 4,
1216
+ 4,
1217
+ 5,
1218
+ 4,
1219
+ 4,
1220
+ 4,
1221
+ 4,
1222
+ 5,
1223
+ 5,
1224
+ 4,
1225
+ 4,
1226
+ 4,
1227
+ 5,
1228
+ 5,
1229
+ 4,
1230
+ 5,
1231
+ 5,
1232
+ 4,
1233
+ 5,
1234
+ 5,
1235
+ 4,
1236
+ 5,
1237
+ 4,
1238
+ 5,
1239
+ 5,
1240
+ 5,
1241
+ 4,
1242
+ 4,
1243
+ 5,
1244
+ 5,
1245
+ 5,
1246
+ 5
1247
+ ],
1248
+ "best_token_acc": [
1249
+ 1.0,
1250
+ 1.0,
1251
+ 1.0,
1252
+ 1.0,
1253
+ 0.9990234375,
1254
+ 1.0,
1255
+ 1.0,
1256
+ 1.0,
1257
+ 1.0,
1258
+ 1.0,
1259
+ 1.0,
1260
+ 1.0,
1261
+ 1.0,
1262
+ 0.9990234375,
1263
+ 0.9990234375,
1264
+ 1.0,
1265
+ 1.0,
1266
+ 1.0,
1267
+ 0.9990234375,
1268
+ 0.9990234375,
1269
+ 1.0,
1270
+ 1.0,
1271
+ 1.0,
1272
+ 1.0,
1273
+ 1.0,
1274
+ 1.0,
1275
+ 1.0,
1276
+ 0.9990234375,
1277
+ 1.0,
1278
+ 1.0,
1279
+ 1.0,
1280
+ 1.0,
1281
+ 1.0,
1282
+ 1.0,
1283
+ 0.9990234375,
1284
+ 1.0,
1285
+ 1.0,
1286
+ 1.0,
1287
+ 1.0,
1288
+ 1.0,
1289
+ 0.9990234375,
1290
+ 1.0,
1291
+ 0.9990234375,
1292
+ 1.0,
1293
+ 1.0,
1294
+ 0.9990234375,
1295
+ 1.0,
1296
+ 1.0,
1297
+ 1.0,
1298
+ 1.0,
1299
+ 0.9990234375,
1300
+ 0.9990234375,
1301
+ 1.0,
1302
+ 1.0,
1303
+ 0.9990234375,
1304
+ 0.9990234375,
1305
+ 1.0,
1306
+ 1.0,
1307
+ 1.0,
1308
+ 1.0,
1309
+ 1.0,
1310
+ 1.0,
1311
+ 0.9990234375,
1312
+ 0.9990234375
1313
+ ]
1314
+ }
1315
+ },
1316
+ "first_exact_by_run": {
1317
+ "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728::none": {
1318
+ "run": "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728",
1319
+ "checkpoint": "runs/train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728/step_0004000.pt",
1320
+ "ckpt_step": 4000,
1321
+ "endpoint_softening": "none",
1322
+ "decode_rule": "dirichlet_resample",
1323
+ "steps": 128,
1324
+ "time_schedule": "logit_normal",
1325
+ "model_t_mode": "post",
1326
+ "final_from": "state",
1327
+ "n_gen": 64,
1328
+ "n_refs": 8,
1329
+ "token_acc_mean": 0.999755859375,
1330
+ "token_acc_min": 0.9990234375,
1331
+ "token_acc_max": 1.0,
1332
+ "exact_acc": 0.75,
1333
+ "exact_count": 48,
1334
+ "exact_ref_coverage": 0.375,
1335
+ "exact_ref_count": 3,
1336
+ "exact_ref_hits": [
1337
+ 2,
1338
+ 4,
1339
+ 5
1340
+ ],
1341
+ "best_ref_idx": [
1342
+ 5,
1343
+ 5,
1344
+ 5,
1345
+ 4,
1346
+ 5,
1347
+ 4,
1348
+ 4,
1349
+ 4,
1350
+ 5,
1351
+ 4,
1352
+ 5,
1353
+ 2,
1354
+ 5,
1355
+ 5,
1356
+ 5,
1357
+ 5,
1358
+ 4,
1359
+ 5,
1360
+ 5,
1361
+ 4,
1362
+ 5,
1363
+ 5,
1364
+ 5,
1365
+ 5,
1366
+ 4,
1367
+ 5,
1368
+ 5,
1369
+ 5,
1370
+ 5,
1371
+ 4,
1372
+ 5,
1373
+ 4,
1374
+ 4,
1375
+ 4,
1376
+ 5,
1377
+ 4,
1378
+ 4,
1379
+ 4,
1380
+ 4,
1381
+ 5,
1382
+ 5,
1383
+ 4,
1384
+ 4,
1385
+ 4,
1386
+ 5,
1387
+ 5,
1388
+ 4,
1389
+ 5,
1390
+ 5,
1391
+ 4,
1392
+ 5,
1393
+ 5,
1394
+ 4,
1395
+ 5,
1396
+ 4,
1397
+ 5,
1398
+ 5,
1399
+ 5,
1400
+ 4,
1401
+ 4,
1402
+ 5,
1403
+ 5,
1404
+ 5,
1405
+ 5
1406
+ ],
1407
+ "best_token_acc": [
1408
+ 1.0,
1409
+ 1.0,
1410
+ 1.0,
1411
+ 1.0,
1412
+ 0.9990234375,
1413
+ 1.0,
1414
+ 1.0,
1415
+ 1.0,
1416
+ 1.0,
1417
+ 1.0,
1418
+ 1.0,
1419
+ 1.0,
1420
+ 1.0,
1421
+ 0.9990234375,
1422
+ 0.9990234375,
1423
+ 1.0,
1424
+ 1.0,
1425
+ 1.0,
1426
+ 0.9990234375,
1427
+ 0.9990234375,
1428
+ 1.0,
1429
+ 1.0,
1430
+ 1.0,
1431
+ 1.0,
1432
+ 1.0,
1433
+ 1.0,
1434
+ 1.0,
1435
+ 0.9990234375,
1436
+ 1.0,
1437
+ 1.0,
1438
+ 1.0,
1439
+ 1.0,
1440
+ 1.0,
1441
+ 1.0,
1442
+ 0.9990234375,
1443
+ 1.0,
1444
+ 1.0,
1445
+ 1.0,
1446
+ 1.0,
1447
+ 1.0,
1448
+ 0.9990234375,
1449
+ 1.0,
1450
+ 0.9990234375,
1451
+ 1.0,
1452
+ 1.0,
1453
+ 0.9990234375,
1454
+ 1.0,
1455
+ 1.0,
1456
+ 1.0,
1457
+ 1.0,
1458
+ 0.9990234375,
1459
+ 0.9990234375,
1460
+ 1.0,
1461
+ 1.0,
1462
+ 0.9990234375,
1463
+ 0.9990234375,
1464
+ 1.0,
1465
+ 1.0,
1466
+ 1.0,
1467
+ 1.0,
1468
+ 1.0,
1469
+ 1.0,
1470
+ 0.9990234375,
1471
+ 0.9990234375
1472
+ ]
1473
+ }
1474
+ }
1475
+ }
1476
+ RESULT config=p35_rand0_3_unif0_0p25_outwdm1 decode=dirichlet_resample run=train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 ckpt_step=4000 views=2048000 token_acc=0.9998 exact=48/64 exact_refs=3 hits=[2, 4, 5]
1477
+ [ctx1024-sampleds] train config=p35_rand0_3_unif0_0p25_outwdm1 from=4000 to=5000
1478
+ [ctx1024-sampleds] eval config=p35_rand0_3_unif0_0p25_outwdm1 step=5000
1479
+ [eval-decode-acc] train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 step=5000 soft=none
1480
+ [decode] max_len=1024 generated=64/64
1481
+ {
1482
+ "num_rows": 1,
1483
+ "best_by_run": {
1484
+ "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728::none": {
1485
+ "run": "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728",
1486
+ "checkpoint": "runs/train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728/step_0005000.pt",
1487
+ "ckpt_step": 5000,
1488
+ "endpoint_softening": "none",
1489
+ "decode_rule": "dirichlet_resample",
1490
+ "steps": 128,
1491
+ "time_schedule": "logit_normal",
1492
+ "model_t_mode": "post",
1493
+ "final_from": "state",
1494
+ "n_gen": 64,
1495
+ "n_refs": 8,
1496
+ "token_acc_mean": 0.9998321533203125,
1497
+ "token_acc_min": 0.998046875,
1498
+ "token_acc_max": 1.0,
1499
+ "exact_acc": 0.84375,
1500
+ "exact_count": 54,
1501
+ "exact_ref_coverage": 0.625,
1502
+ "exact_ref_count": 5,
1503
+ "exact_ref_hits": [
1504
+ 1,
1505
+ 2,
1506
+ 3,
1507
+ 5,
1508
+ 7
1509
+ ],
1510
+ "best_ref_idx": [
1511
+ 5,
1512
+ 5,
1513
+ 5,
1514
+ 5,
1515
+ 5,
1516
+ 3,
1517
+ 2,
1518
+ 5,
1519
+ 5,
1520
+ 5,
1521
+ 3,
1522
+ 2,
1523
+ 3,
1524
+ 5,
1525
+ 5,
1526
+ 3,
1527
+ 5,
1528
+ 5,
1529
+ 1,
1530
+ 5,
1531
+ 5,
1532
+ 5,
1533
+ 3,
1534
+ 3,
1535
+ 3,
1536
+ 3,
1537
+ 5,
1538
+ 2,
1539
+ 5,
1540
+ 5,
1541
+ 5,
1542
+ 1,
1543
+ 5,
1544
+ 3,
1545
+ 1,
1546
+ 5,
1547
+ 5,
1548
+ 5,
1549
+ 5,
1550
+ 5,
1551
+ 7,
1552
+ 3,
1553
+ 5,
1554
+ 5,
1555
+ 5,
1556
+ 3,
1557
+ 5,
1558
+ 5,
1559
+ 3,
1560
+ 7,
1561
+ 1,
1562
+ 5,
1563
+ 7,
1564
+ 5,
1565
+ 5,
1566
+ 3,
1567
+ 5,
1568
+ 5,
1569
+ 3,
1570
+ 5,
1571
+ 5,
1572
+ 3,
1573
+ 5,
1574
+ 5
1575
+ ],
1576
+ "best_token_acc": [
1577
+ 1.0,
1578
+ 1.0,
1579
+ 1.0,
1580
+ 1.0,
1581
+ 1.0,
1582
+ 1.0,
1583
+ 1.0,
1584
+ 1.0,
1585
+ 0.9990234375,
1586
+ 0.998046875,
1587
+ 1.0,
1588
+ 1.0,
1589
+ 1.0,
1590
+ 1.0,
1591
+ 1.0,
1592
+ 1.0,
1593
+ 1.0,
1594
+ 1.0,
1595
+ 1.0,
1596
+ 0.9990234375,
1597
+ 1.0,
1598
+ 1.0,
1599
+ 1.0,
1600
+ 1.0,
1601
+ 1.0,
1602
+ 1.0,
1603
+ 1.0,
1604
+ 1.0,
1605
+ 1.0,
1606
+ 1.0,
1607
+ 1.0,
1608
+ 1.0,
1609
+ 1.0,
1610
+ 0.9990234375,
1611
+ 1.0,
1612
+ 1.0,
1613
+ 1.0,
1614
+ 1.0,
1615
+ 1.0,
1616
+ 1.0,
1617
+ 1.0,
1618
+ 1.0,
1619
+ 1.0,
1620
+ 1.0,
1621
+ 1.0,
1622
+ 0.9990234375,
1623
+ 0.9990234375,
1624
+ 0.9990234375,
1625
+ 0.9990234375,
1626
+ 0.9990234375,
1627
+ 1.0,
1628
+ 1.0,
1629
+ 1.0,
1630
+ 0.9990234375,
1631
+ 1.0,
1632
+ 1.0,
1633
+ 1.0,
1634
+ 1.0,
1635
+ 1.0,
1636
+ 1.0,
1637
+ 1.0,
1638
+ 1.0,
1639
+ 1.0,
1640
+ 1.0
1641
+ ]
1642
+ }
1643
+ },
1644
+ "first_exact_by_run": {
1645
+ "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728::none": {
1646
+ "run": "train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728",
1647
+ "checkpoint": "runs/train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728/step_0005000.pt",
1648
+ "ckpt_step": 5000,
1649
+ "endpoint_softening": "none",
1650
+ "decode_rule": "dirichlet_resample",
1651
+ "steps": 128,
1652
+ "time_schedule": "logit_normal",
1653
+ "model_t_mode": "post",
1654
+ "final_from": "state",
1655
+ "n_gen": 64,
1656
+ "n_refs": 8,
1657
+ "token_acc_mean": 0.9998321533203125,
1658
+ "token_acc_min": 0.998046875,
1659
+ "token_acc_max": 1.0,
1660
+ "exact_acc": 0.84375,
1661
+ "exact_count": 54,
1662
+ "exact_ref_coverage": 0.625,
1663
+ "exact_ref_count": 5,
1664
+ "exact_ref_hits": [
1665
+ 1,
1666
+ 2,
1667
+ 3,
1668
+ 5,
1669
+ 7
1670
+ ],
1671
+ "best_ref_idx": [
1672
+ 5,
1673
+ 5,
1674
+ 5,
1675
+ 5,
1676
+ 5,
1677
+ 3,
1678
+ 2,
1679
+ 5,
1680
+ 5,
1681
+ 5,
1682
+ 3,
1683
+ 2,
1684
+ 3,
1685
+ 5,
1686
+ 5,
1687
+ 3,
1688
+ 5,
1689
+ 5,
1690
+ 1,
1691
+ 5,
1692
+ 5,
1693
+ 5,
1694
+ 3,
1695
+ 3,
1696
+ 3,
1697
+ 3,
1698
+ 5,
1699
+ 2,
1700
+ 5,
1701
+ 5,
1702
+ 5,
1703
+ 1,
1704
+ 5,
1705
+ 3,
1706
+ 1,
1707
+ 5,
1708
+ 5,
1709
+ 5,
1710
+ 5,
1711
+ 5,
1712
+ 7,
1713
+ 3,
1714
+ 5,
1715
+ 5,
1716
+ 5,
1717
+ 3,
1718
+ 5,
1719
+ 5,
1720
+ 3,
1721
+ 7,
1722
+ 1,
1723
+ 5,
1724
+ 7,
1725
+ 5,
1726
+ 5,
1727
+ 3,
1728
+ 5,
1729
+ 5,
1730
+ 3,
1731
+ 5,
1732
+ 5,
1733
+ 3,
1734
+ 5,
1735
+ 5
1736
+ ],
1737
+ "best_token_acc": [
1738
+ 1.0,
1739
+ 1.0,
1740
+ 1.0,
1741
+ 1.0,
1742
+ 1.0,
1743
+ 1.0,
1744
+ 1.0,
1745
+ 1.0,
1746
+ 0.9990234375,
1747
+ 0.998046875,
1748
+ 1.0,
1749
+ 1.0,
1750
+ 1.0,
1751
+ 1.0,
1752
+ 1.0,
1753
+ 1.0,
1754
+ 1.0,
1755
+ 1.0,
1756
+ 1.0,
1757
+ 0.9990234375,
1758
+ 1.0,
1759
+ 1.0,
1760
+ 1.0,
1761
+ 1.0,
1762
+ 1.0,
1763
+ 1.0,
1764
+ 1.0,
1765
+ 1.0,
1766
+ 1.0,
1767
+ 1.0,
1768
+ 1.0,
1769
+ 1.0,
1770
+ 1.0,
1771
+ 0.9990234375,
1772
+ 1.0,
1773
+ 1.0,
1774
+ 1.0,
1775
+ 1.0,
1776
+ 1.0,
1777
+ 1.0,
1778
+ 1.0,
1779
+ 1.0,
1780
+ 1.0,
1781
+ 1.0,
1782
+ 1.0,
1783
+ 0.9990234375,
1784
+ 0.9990234375,
1785
+ 0.9990234375,
1786
+ 0.9990234375,
1787
+ 0.9990234375,
1788
+ 1.0,
1789
+ 1.0,
1790
+ 1.0,
1791
+ 0.9990234375,
1792
+ 1.0,
1793
+ 1.0,
1794
+ 1.0,
1795
+ 1.0,
1796
+ 1.0,
1797
+ 1.0,
1798
+ 1.0,
1799
+ 1.0,
1800
+ 1.0,
1801
+ 1.0
1802
+ ]
1803
+ }
1804
+ }
1805
+ }
1806
+ RESULT config=p35_rand0_3_unif0_0p25_outwdm1 decode=dirichlet_resample run=train8_ctx1024_t5tok_p35_rand0_3_unif0_0p25_outwdm1_t5tok_ctx1024_k03_20260518_022728 ckpt_step=5000 views=2560000 token_acc=0.9998 exact=54/64 exact_refs=5 hits=[1, 2, 3, 5, 7]
1807
+ [ctx1024-sampleds] capped config=p35_rand0_3_unif0_0p25_outwdm1 step=5000
1808
+ [ctx1024-sampleds] done
LTA_openwebtext_dualt/logs/ctx1024_sampleds_sweep_4gpu/t5tok_ctx1024_randk_20260518_014800.nohup ADDED
The diff for this file is too large to render. See raw diff
 
LTA_openwebtext_dualt/logs/ctx1024_sampleds_sweep_4gpu/t5tok_ctx1024_randk_20260518_014800.pid ADDED
@@ -0,0 +1 @@
 
 
1
+ 481284
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/__init__.py ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ from ._core._contextmanagers import AsyncContextManagerMixin as AsyncContextManagerMixin
4
+ from ._core._contextmanagers import ContextManagerMixin as ContextManagerMixin
5
+ from ._core._eventloop import current_time as current_time
6
+ from ._core._eventloop import get_all_backends as get_all_backends
7
+ from ._core._eventloop import get_available_backends as get_available_backends
8
+ from ._core._eventloop import get_cancelled_exc_class as get_cancelled_exc_class
9
+ from ._core._eventloop import run as run
10
+ from ._core._eventloop import sleep as sleep
11
+ from ._core._eventloop import sleep_forever as sleep_forever
12
+ from ._core._eventloop import sleep_until as sleep_until
13
+ from ._core._exceptions import BrokenResourceError as BrokenResourceError
14
+ from ._core._exceptions import BrokenWorkerInterpreter as BrokenWorkerInterpreter
15
+ from ._core._exceptions import BrokenWorkerProcess as BrokenWorkerProcess
16
+ from ._core._exceptions import BusyResourceError as BusyResourceError
17
+ from ._core._exceptions import ClosedResourceError as ClosedResourceError
18
+ from ._core._exceptions import ConnectionFailed as ConnectionFailed
19
+ from ._core._exceptions import DelimiterNotFound as DelimiterNotFound
20
+ from ._core._exceptions import EndOfStream as EndOfStream
21
+ from ._core._exceptions import IncompleteRead as IncompleteRead
22
+ from ._core._exceptions import NoEventLoopError as NoEventLoopError
23
+ from ._core._exceptions import RunFinishedError as RunFinishedError
24
+ from ._core._exceptions import TypedAttributeLookupError as TypedAttributeLookupError
25
+ from ._core._exceptions import WouldBlock as WouldBlock
26
+ from ._core._fileio import AsyncFile as AsyncFile
27
+ from ._core._fileio import Path as Path
28
+ from ._core._fileio import open_file as open_file
29
+ from ._core._fileio import wrap_file as wrap_file
30
+ from ._core._resources import aclose_forcefully as aclose_forcefully
31
+ from ._core._signals import open_signal_receiver as open_signal_receiver
32
+ from ._core._sockets import TCPConnectable as TCPConnectable
33
+ from ._core._sockets import UNIXConnectable as UNIXConnectable
34
+ from ._core._sockets import as_connectable as as_connectable
35
+ from ._core._sockets import connect_tcp as connect_tcp
36
+ from ._core._sockets import connect_unix as connect_unix
37
+ from ._core._sockets import create_connected_udp_socket as create_connected_udp_socket
38
+ from ._core._sockets import (
39
+ create_connected_unix_datagram_socket as create_connected_unix_datagram_socket,
40
+ )
41
+ from ._core._sockets import create_tcp_listener as create_tcp_listener
42
+ from ._core._sockets import create_udp_socket as create_udp_socket
43
+ from ._core._sockets import create_unix_datagram_socket as create_unix_datagram_socket
44
+ from ._core._sockets import create_unix_listener as create_unix_listener
45
+ from ._core._sockets import getaddrinfo as getaddrinfo
46
+ from ._core._sockets import getnameinfo as getnameinfo
47
+ from ._core._sockets import notify_closing as notify_closing
48
+ from ._core._sockets import wait_readable as wait_readable
49
+ from ._core._sockets import wait_socket_readable as wait_socket_readable
50
+ from ._core._sockets import wait_socket_writable as wait_socket_writable
51
+ from ._core._sockets import wait_writable as wait_writable
52
+ from ._core._streams import create_memory_object_stream as create_memory_object_stream
53
+ from ._core._subprocesses import open_process as open_process
54
+ from ._core._subprocesses import run_process as run_process
55
+ from ._core._synchronization import CapacityLimiter as CapacityLimiter
56
+ from ._core._synchronization import (
57
+ CapacityLimiterStatistics as CapacityLimiterStatistics,
58
+ )
59
+ from ._core._synchronization import Condition as Condition
60
+ from ._core._synchronization import ConditionStatistics as ConditionStatistics
61
+ from ._core._synchronization import Event as Event
62
+ from ._core._synchronization import EventStatistics as EventStatistics
63
+ from ._core._synchronization import Lock as Lock
64
+ from ._core._synchronization import LockStatistics as LockStatistics
65
+ from ._core._synchronization import ResourceGuard as ResourceGuard
66
+ from ._core._synchronization import Semaphore as Semaphore
67
+ from ._core._synchronization import SemaphoreStatistics as SemaphoreStatistics
68
+ from ._core._tasks import TASK_STATUS_IGNORED as TASK_STATUS_IGNORED
69
+ from ._core._tasks import CancelScope as CancelScope
70
+ from ._core._tasks import create_task_group as create_task_group
71
+ from ._core._tasks import current_effective_deadline as current_effective_deadline
72
+ from ._core._tasks import fail_after as fail_after
73
+ from ._core._tasks import move_on_after as move_on_after
74
+ from ._core._tempfile import NamedTemporaryFile as NamedTemporaryFile
75
+ from ._core._tempfile import SpooledTemporaryFile as SpooledTemporaryFile
76
+ from ._core._tempfile import TemporaryDirectory as TemporaryDirectory
77
+ from ._core._tempfile import TemporaryFile as TemporaryFile
78
+ from ._core._tempfile import gettempdir as gettempdir
79
+ from ._core._tempfile import gettempdirb as gettempdirb
80
+ from ._core._tempfile import mkdtemp as mkdtemp
81
+ from ._core._tempfile import mkstemp as mkstemp
82
+ from ._core._testing import TaskInfo as TaskInfo
83
+ from ._core._testing import get_current_task as get_current_task
84
+ from ._core._testing import get_running_tasks as get_running_tasks
85
+ from ._core._testing import wait_all_tasks_blocked as wait_all_tasks_blocked
86
+ from ._core._typedattr import TypedAttributeProvider as TypedAttributeProvider
87
+ from ._core._typedattr import TypedAttributeSet as TypedAttributeSet
88
+ from ._core._typedattr import typed_attribute as typed_attribute
89
+
90
+ # Re-export imports so they look like they live directly in this package
91
+ for __value in list(locals().values()):
92
+ if getattr(__value, "__module__", "").startswith("anyio."):
93
+ __value.__module__ = __name__
94
+
95
+
96
+ del __value
97
+
98
+
99
+ def __getattr__(attr: str) -> type[BrokenWorkerInterpreter]:
100
+ """Support deprecated aliases."""
101
+ if attr == "BrokenWorkerIntepreter":
102
+ import warnings
103
+
104
+ warnings.warn(
105
+ "The 'BrokenWorkerIntepreter' alias is deprecated, use 'BrokenWorkerInterpreter' instead.",
106
+ DeprecationWarning,
107
+ stacklevel=2,
108
+ )
109
+ return BrokenWorkerInterpreter
110
+
111
+ raise AttributeError(f"module {__name__!r} has no attribute {attr!r}")
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/functools.py ADDED
@@ -0,0 +1,409 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ __all__ = (
4
+ "AsyncCacheInfo",
5
+ "AsyncCacheParameters",
6
+ "AsyncLRUCacheWrapper",
7
+ "cache",
8
+ "lru_cache",
9
+ "reduce",
10
+ )
11
+
12
+ import functools
13
+ import sys
14
+ from collections import OrderedDict
15
+ from collections.abc import (
16
+ AsyncIterable,
17
+ Awaitable,
18
+ Callable,
19
+ Coroutine,
20
+ Hashable,
21
+ Iterable,
22
+ )
23
+ from functools import update_wrapper
24
+ from inspect import iscoroutinefunction
25
+ from typing import (
26
+ Any,
27
+ Generic,
28
+ NamedTuple,
29
+ TypedDict,
30
+ TypeVar,
31
+ cast,
32
+ final,
33
+ overload,
34
+ )
35
+ from weakref import WeakKeyDictionary
36
+
37
+ from ._core._eventloop import current_time
38
+ from ._core._synchronization import Lock
39
+ from .lowlevel import RunVar, checkpoint
40
+
41
+ if sys.version_info >= (3, 11):
42
+ from typing import ParamSpec
43
+ else:
44
+ from typing_extensions import ParamSpec
45
+
46
+ T = TypeVar("T")
47
+ S = TypeVar("S")
48
+ P = ParamSpec("P")
49
+ lru_cache_items: RunVar[
50
+ WeakKeyDictionary[
51
+ AsyncLRUCacheWrapper[Any, Any],
52
+ OrderedDict[
53
+ Hashable,
54
+ tuple[_InitialMissingType, Lock, float | None]
55
+ | tuple[Any, None, float | None],
56
+ ],
57
+ ]
58
+ ] = RunVar("lru_cache_items")
59
+
60
+
61
+ class _InitialMissingType:
62
+ pass
63
+
64
+
65
+ initial_missing: _InitialMissingType = _InitialMissingType()
66
+
67
+
68
+ class AsyncCacheInfo(NamedTuple):
69
+ hits: int
70
+ misses: int
71
+ maxsize: int | None
72
+ currsize: int
73
+ ttl: int | None
74
+
75
+
76
+ class AsyncCacheParameters(TypedDict):
77
+ maxsize: int | None
78
+ typed: bool
79
+ always_checkpoint: bool
80
+ ttl: int | None
81
+
82
+
83
+ class _LRUMethodWrapper(Generic[T]):
84
+ def __init__(self, wrapper: AsyncLRUCacheWrapper[..., T], instance: object):
85
+ self.__wrapper = wrapper
86
+ self.__instance = instance
87
+
88
+ def cache_info(self) -> AsyncCacheInfo:
89
+ return self.__wrapper.cache_info()
90
+
91
+ def cache_parameters(self) -> AsyncCacheParameters:
92
+ return self.__wrapper.cache_parameters()
93
+
94
+ def cache_clear(self) -> None:
95
+ self.__wrapper.cache_clear()
96
+
97
+ async def __call__(self, *args: Any, **kwargs: Any) -> T:
98
+ if self.__instance is None:
99
+ return await self.__wrapper(*args, **kwargs)
100
+
101
+ return await self.__wrapper(self.__instance, *args, **kwargs)
102
+
103
+
104
+ @final
105
+ class AsyncLRUCacheWrapper(Generic[P, T]):
106
+ def __init__(
107
+ self,
108
+ func: Callable[P, Awaitable[T]],
109
+ maxsize: int | None,
110
+ typed: bool,
111
+ always_checkpoint: bool,
112
+ ttl: int | None,
113
+ ):
114
+ self.__wrapped__ = func
115
+ self._hits: int = 0
116
+ self._misses: int = 0
117
+ self._maxsize = max(maxsize, 0) if maxsize is not None else None
118
+ self._currsize: int = 0
119
+ self._typed = typed
120
+ self._always_checkpoint = always_checkpoint
121
+ self._ttl = ttl
122
+ update_wrapper(self, func)
123
+
124
+ def cache_info(self) -> AsyncCacheInfo:
125
+ return AsyncCacheInfo(
126
+ self._hits, self._misses, self._maxsize, self._currsize, self._ttl
127
+ )
128
+
129
+ def cache_parameters(self) -> AsyncCacheParameters:
130
+ return {
131
+ "maxsize": self._maxsize,
132
+ "typed": self._typed,
133
+ "always_checkpoint": self._always_checkpoint,
134
+ "ttl": self._ttl,
135
+ }
136
+
137
+ def cache_clear(self) -> None:
138
+ if cache := lru_cache_items.get(None):
139
+ cache.pop(self, None)
140
+ self._hits = self._misses = self._currsize = 0
141
+
142
+ async def __call__(self, *args: P.args, **kwargs: P.kwargs) -> T:
143
+ # Easy case first: if maxsize == 0, no caching is done
144
+ if self._maxsize == 0:
145
+ value = await self.__wrapped__(*args, **kwargs)
146
+ self._misses += 1
147
+ return value
148
+
149
+ # The key is constructed as a flat tuple to avoid memory overhead
150
+ key: tuple[Any, ...] = args
151
+ if kwargs:
152
+ # initial_missing is used as a separator
153
+ key += (initial_missing,) + sum(kwargs.items(), ())
154
+
155
+ if self._typed:
156
+ key += tuple(type(arg) for arg in args)
157
+ if kwargs:
158
+ key += (initial_missing,) + tuple(type(val) for val in kwargs.values())
159
+
160
+ try:
161
+ cache = lru_cache_items.get()
162
+ except LookupError:
163
+ cache = WeakKeyDictionary()
164
+ lru_cache_items.set(cache)
165
+
166
+ try:
167
+ cache_entry = cache[self]
168
+ except KeyError:
169
+ cache_entry = cache[self] = OrderedDict()
170
+
171
+ cached_value: T | _InitialMissingType
172
+ try:
173
+ cached_value, lock, expires_at = cache_entry[key]
174
+ except KeyError:
175
+ # We're the first task to call this function
176
+ cached_value, lock, expires_at = (
177
+ initial_missing,
178
+ Lock(fast_acquire=not self._always_checkpoint),
179
+ None,
180
+ )
181
+ cache_entry[key] = cached_value, lock, expires_at
182
+
183
+ if lock is None:
184
+ if expires_at is not None and current_time() >= expires_at:
185
+ self._currsize -= 1
186
+ cached_value, lock, expires_at = (
187
+ initial_missing,
188
+ Lock(fast_acquire=not self._always_checkpoint),
189
+ None,
190
+ )
191
+ cache_entry[key] = cached_value, lock, expires_at
192
+ else:
193
+ # The value was already cached
194
+ self._hits += 1
195
+ cache_entry.move_to_end(key)
196
+ if self._always_checkpoint:
197
+ await checkpoint()
198
+
199
+ return cast(T, cached_value)
200
+
201
+ async with lock:
202
+ # Check if another task filled the cache while we acquired the lock
203
+ if (cached_value := cache_entry[key][0]) is initial_missing:
204
+ self._misses += 1
205
+ if self._maxsize is not None and self._currsize >= self._maxsize:
206
+ cache_entry.popitem(last=False)
207
+ else:
208
+ self._currsize += 1
209
+
210
+ value = await self.__wrapped__(*args, **kwargs)
211
+ expires_at = (
212
+ current_time() + self._ttl if self._ttl is not None else None
213
+ )
214
+ cache_entry[key] = value, None, expires_at
215
+ else:
216
+ # Another task filled the cache while we were waiting for the lock
217
+ self._hits += 1
218
+ cache_entry.move_to_end(key)
219
+ value = cast(T, cached_value)
220
+
221
+ return value
222
+
223
+ def __get__(
224
+ self, instance: object, owner: type | None = None
225
+ ) -> _LRUMethodWrapper[T]:
226
+ wrapper = _LRUMethodWrapper(self, instance)
227
+ update_wrapper(wrapper, self.__wrapped__)
228
+ return wrapper
229
+
230
+
231
+ class _LRUCacheWrapper(Generic[T]):
232
+ def __init__(
233
+ self, maxsize: int | None, typed: bool, always_checkpoint: bool, ttl: int | None
234
+ ):
235
+ self._maxsize = maxsize
236
+ self._typed = typed
237
+ self._always_checkpoint = always_checkpoint
238
+ self._ttl = ttl
239
+
240
+ @overload
241
+ def __call__( # type: ignore[overload-overlap]
242
+ self, func: Callable[P, Coroutine[Any, Any, T]], /
243
+ ) -> AsyncLRUCacheWrapper[P, T]: ...
244
+
245
+ @overload
246
+ def __call__(
247
+ self, func: Callable[..., T], /
248
+ ) -> functools._lru_cache_wrapper[T]: ...
249
+
250
+ def __call__(
251
+ self, f: Callable[P, Coroutine[Any, Any, T]] | Callable[..., T], /
252
+ ) -> AsyncLRUCacheWrapper[P, T] | functools._lru_cache_wrapper[T]:
253
+ if iscoroutinefunction(f):
254
+ return AsyncLRUCacheWrapper(
255
+ f, self._maxsize, self._typed, self._always_checkpoint, self._ttl
256
+ )
257
+
258
+ return functools.lru_cache(maxsize=self._maxsize, typed=self._typed)(f) # type: ignore[arg-type]
259
+
260
+
261
+ @overload
262
+ def cache( # type: ignore[overload-overlap]
263
+ func: Callable[P, Coroutine[Any, Any, T]], /
264
+ ) -> AsyncLRUCacheWrapper[P, T]: ...
265
+
266
+
267
+ @overload
268
+ def cache(func: Callable[..., T], /) -> functools._lru_cache_wrapper[T]: ...
269
+
270
+
271
+ def cache(
272
+ func: Callable[..., T] | Callable[P, Coroutine[Any, Any, T]], /
273
+ ) -> AsyncLRUCacheWrapper[P, T] | functools._lru_cache_wrapper[T]:
274
+ """
275
+ A convenient shortcut for :func:`lru_cache` with ``maxsize=None``.
276
+
277
+ This is the asynchronous equivalent to :func:`functools.cache`.
278
+
279
+ """
280
+ return lru_cache(maxsize=None)(func)
281
+
282
+
283
+ @overload
284
+ def lru_cache(
285
+ *,
286
+ maxsize: int | None = ...,
287
+ typed: bool = ...,
288
+ always_checkpoint: bool = ...,
289
+ ttl: int | None = ...,
290
+ ) -> _LRUCacheWrapper[Any]: ...
291
+
292
+
293
+ @overload
294
+ def lru_cache( # type: ignore[overload-overlap]
295
+ func: Callable[P, Coroutine[Any, Any, T]], /
296
+ ) -> AsyncLRUCacheWrapper[P, T]: ...
297
+
298
+
299
+ @overload
300
+ def lru_cache(func: Callable[..., T], /) -> functools._lru_cache_wrapper[T]: ...
301
+
302
+
303
+ def lru_cache(
304
+ func: Callable[P, Coroutine[Any, Any, T]] | Callable[..., T] | None = None,
305
+ /,
306
+ *,
307
+ maxsize: int | None = 128,
308
+ typed: bool = False,
309
+ always_checkpoint: bool = False,
310
+ ttl: int | None = None,
311
+ ) -> (
312
+ AsyncLRUCacheWrapper[P, T] | functools._lru_cache_wrapper[T] | _LRUCacheWrapper[Any]
313
+ ):
314
+ """
315
+ An asynchronous version of :func:`functools.lru_cache`.
316
+
317
+ If a synchronous function is passed, the standard library
318
+ :func:`functools.lru_cache` is applied instead.
319
+
320
+ :param always_checkpoint: if ``True``, every call to the cached function will be
321
+ guaranteed to yield control to the event loop at least once
322
+ :param ttl: time in seconds after which to invalidate cache entries
323
+
324
+ .. note:: Caches and locks are managed on a per-event loop basis.
325
+
326
+ """
327
+ if func is None:
328
+ return _LRUCacheWrapper[Any](maxsize, typed, always_checkpoint, ttl)
329
+
330
+ if not callable(func):
331
+ raise TypeError("the first argument must be callable")
332
+
333
+ return _LRUCacheWrapper[T](maxsize, typed, always_checkpoint, ttl)(func)
334
+
335
+
336
+ @overload
337
+ async def reduce(
338
+ function: Callable[[T, S], Awaitable[T]],
339
+ iterable: Iterable[S] | AsyncIterable[S],
340
+ /,
341
+ initial: T,
342
+ ) -> T: ...
343
+
344
+
345
+ @overload
346
+ async def reduce(
347
+ function: Callable[[T, T], Awaitable[T]],
348
+ iterable: Iterable[T] | AsyncIterable[T],
349
+ /,
350
+ ) -> T: ...
351
+
352
+
353
+ async def reduce( # type: ignore[misc]
354
+ function: Callable[[T, T], Awaitable[T]] | Callable[[T, S], Awaitable[T]],
355
+ iterable: Iterable[T] | Iterable[S] | AsyncIterable[T] | AsyncIterable[S],
356
+ /,
357
+ initial: T | _InitialMissingType = initial_missing,
358
+ ) -> T:
359
+ """
360
+ Asynchronous version of :func:`functools.reduce`.
361
+
362
+ :param function: a coroutine function that takes two arguments: the accumulated
363
+ value and the next element from the iterable
364
+ :param iterable: an iterable or async iterable
365
+ :param initial: the initial value (if missing, the first element of the iterable is
366
+ used as the initial value)
367
+
368
+ """
369
+ element: Any
370
+ function_called = False
371
+ if isinstance(iterable, AsyncIterable):
372
+ async_it = iterable.__aiter__()
373
+ if initial is initial_missing:
374
+ try:
375
+ value = cast(T, await async_it.__anext__())
376
+ except StopAsyncIteration:
377
+ raise TypeError(
378
+ "reduce() of empty sequence with no initial value"
379
+ ) from None
380
+ else:
381
+ value = cast(T, initial)
382
+
383
+ async for element in async_it:
384
+ value = await function(value, element)
385
+ function_called = True
386
+ elif isinstance(iterable, Iterable):
387
+ it = iter(iterable)
388
+ if initial is initial_missing:
389
+ try:
390
+ value = cast(T, next(it))
391
+ except StopIteration:
392
+ raise TypeError(
393
+ "reduce() of empty sequence with no initial value"
394
+ ) from None
395
+ else:
396
+ value = cast(T, initial)
397
+
398
+ for element in it:
399
+ value = await function(value, element)
400
+ function_called = True
401
+ else:
402
+ raise TypeError("reduce() argument 2 must be an iterable or async iterable")
403
+
404
+ # Make sure there is at least one checkpoint, even if an empty iterable and an
405
+ # initial value were given
406
+ if not function_called:
407
+ await checkpoint()
408
+
409
+ return value
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/lowlevel.py ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ __all__ = (
4
+ "EventLoopToken",
5
+ "RunvarToken",
6
+ "RunVar",
7
+ "checkpoint",
8
+ "checkpoint_if_cancelled",
9
+ "cancel_shielded_checkpoint",
10
+ "current_token",
11
+ )
12
+
13
+ import enum
14
+ from dataclasses import dataclass
15
+ from types import TracebackType
16
+ from typing import Any, Generic, Literal, TypeVar, final, overload
17
+ from weakref import WeakKeyDictionary
18
+
19
+ from ._core._eventloop import get_async_backend
20
+ from .abc import AsyncBackend
21
+
22
+ T = TypeVar("T")
23
+ D = TypeVar("D")
24
+
25
+
26
+ async def checkpoint() -> None:
27
+ """
28
+ Check for cancellation and allow the scheduler to switch to another task.
29
+
30
+ Equivalent to (but more efficient than)::
31
+
32
+ await checkpoint_if_cancelled()
33
+ await cancel_shielded_checkpoint()
34
+
35
+ .. versionadded:: 3.0
36
+
37
+ """
38
+ await get_async_backend().checkpoint()
39
+
40
+
41
+ async def checkpoint_if_cancelled() -> None:
42
+ """
43
+ Enter a checkpoint if the enclosing cancel scope has been cancelled.
44
+
45
+ This does not allow the scheduler to switch to a different task.
46
+
47
+ .. versionadded:: 3.0
48
+
49
+ """
50
+ await get_async_backend().checkpoint_if_cancelled()
51
+
52
+
53
+ async def cancel_shielded_checkpoint() -> None:
54
+ """
55
+ Allow the scheduler to switch to another task but without checking for cancellation.
56
+
57
+ Equivalent to (but potentially more efficient than)::
58
+
59
+ with CancelScope(shield=True):
60
+ await checkpoint()
61
+
62
+ .. versionadded:: 3.0
63
+
64
+ """
65
+ await get_async_backend().cancel_shielded_checkpoint()
66
+
67
+
68
+ @final
69
+ @dataclass(frozen=True, repr=False)
70
+ class EventLoopToken:
71
+ """
72
+ An opaque object that holds a reference to an event loop.
73
+
74
+ .. versionadded:: 4.11.0
75
+ """
76
+
77
+ backend_class: type[AsyncBackend]
78
+ native_token: object
79
+
80
+
81
+ def current_token() -> EventLoopToken:
82
+ """
83
+ Return a token object that can be used to call code in the current event loop from
84
+ another thread.
85
+
86
+ :raises NoEventLoopError: if no supported asynchronous event loop is running in the
87
+ current thread
88
+
89
+ .. versionadded:: 4.11.0
90
+
91
+ """
92
+ backend_class = get_async_backend()
93
+ raw_token = backend_class.current_token()
94
+ return EventLoopToken(backend_class, raw_token)
95
+
96
+
97
+ _run_vars: WeakKeyDictionary[object, dict[RunVar[Any], Any]] = WeakKeyDictionary()
98
+
99
+
100
+ class _NoValueSet(enum.Enum):
101
+ NO_VALUE_SET = enum.auto()
102
+
103
+
104
+ class RunvarToken(Generic[T]):
105
+ __slots__ = "_var", "_value", "_redeemed"
106
+
107
+ def __init__(self, var: RunVar[T], value: T | Literal[_NoValueSet.NO_VALUE_SET]):
108
+ self._var = var
109
+ self._value: T | Literal[_NoValueSet.NO_VALUE_SET] = value
110
+ self._redeemed = False
111
+
112
+ def __enter__(self) -> RunvarToken[T]:
113
+ return self
114
+
115
+ def __exit__(
116
+ self,
117
+ exc_type: type[BaseException] | None,
118
+ exc_val: BaseException | None,
119
+ exc_tb: TracebackType | None,
120
+ ) -> None:
121
+ self._var.reset(self)
122
+
123
+
124
+ class RunVar(Generic[T]):
125
+ """
126
+ Like a :class:`~contextvars.ContextVar`, except scoped to the running event loop.
127
+
128
+ Can be used as a context manager, Just like :class:`~contextvars.ContextVar`, that
129
+ will reset the variable to its previous value when the context block is exited.
130
+ """
131
+
132
+ __slots__ = "_name", "_default"
133
+
134
+ NO_VALUE_SET: Literal[_NoValueSet.NO_VALUE_SET] = _NoValueSet.NO_VALUE_SET
135
+
136
+ def __init__(
137
+ self, name: str, default: T | Literal[_NoValueSet.NO_VALUE_SET] = NO_VALUE_SET
138
+ ):
139
+ self._name = name
140
+ self._default = default
141
+
142
+ @property
143
+ def _current_vars(self) -> dict[RunVar[T], T]:
144
+ native_token = current_token().native_token
145
+ try:
146
+ return _run_vars[native_token]
147
+ except KeyError:
148
+ run_vars = _run_vars[native_token] = {}
149
+ return run_vars
150
+
151
+ @overload
152
+ def get(self, default: D) -> T | D: ...
153
+
154
+ @overload
155
+ def get(self) -> T: ...
156
+
157
+ def get(
158
+ self, default: D | Literal[_NoValueSet.NO_VALUE_SET] = NO_VALUE_SET
159
+ ) -> T | D:
160
+ try:
161
+ return self._current_vars[self]
162
+ except KeyError:
163
+ if default is not RunVar.NO_VALUE_SET:
164
+ return default
165
+ elif self._default is not RunVar.NO_VALUE_SET:
166
+ return self._default
167
+
168
+ raise LookupError(
169
+ f'Run variable "{self._name}" has no value and no default set'
170
+ )
171
+
172
+ def set(self, value: T) -> RunvarToken[T]:
173
+ current_vars = self._current_vars
174
+ token = RunvarToken(self, current_vars.get(self, RunVar.NO_VALUE_SET))
175
+ current_vars[self] = value
176
+ return token
177
+
178
+ def reset(self, token: RunvarToken[T]) -> None:
179
+ if token._var is not self:
180
+ raise ValueError("This token does not belong to this RunVar")
181
+
182
+ if token._redeemed:
183
+ raise ValueError("This token has already been used")
184
+
185
+ if token._value is _NoValueSet.NO_VALUE_SET:
186
+ try:
187
+ del self._current_vars[self]
188
+ except KeyError:
189
+ pass
190
+ else:
191
+ self._current_vars[self] = token._value
192
+
193
+ token._redeemed = True
194
+
195
+ def __repr__(self) -> str:
196
+ return f"<RunVar name={self._name!r}>"
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/pytest_plugin.py ADDED
@@ -0,0 +1,363 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ import dataclasses
4
+ import socket
5
+ import sys
6
+ from collections.abc import Callable, Generator, Iterator
7
+ from contextlib import ExitStack, contextmanager
8
+ from inspect import isasyncgenfunction, iscoroutinefunction, ismethod
9
+ from typing import Any, cast
10
+
11
+ import pytest
12
+ from _pytest.fixtures import FuncFixtureInfo, SubRequest
13
+ from _pytest.outcomes import Exit
14
+ from _pytest.python import CallSpec2
15
+ from _pytest.scope import Scope
16
+
17
+ from . import get_available_backends
18
+ from ._core._eventloop import (
19
+ current_async_library,
20
+ get_async_backend,
21
+ reset_current_async_library,
22
+ set_current_async_library,
23
+ )
24
+ from ._core._exceptions import iterate_exceptions
25
+ from .abc import TestRunner
26
+
27
+ if sys.version_info < (3, 11):
28
+ from exceptiongroup import ExceptionGroup
29
+
30
+ _current_runner: TestRunner | None = None
31
+ _runner_stack: ExitStack | None = None
32
+ _runner_leases = 0
33
+
34
+
35
+ def extract_backend_and_options(backend: object) -> tuple[str, dict[str, Any]]:
36
+ if isinstance(backend, str):
37
+ return backend, {}
38
+ elif isinstance(backend, tuple) and len(backend) == 2:
39
+ if isinstance(backend[0], str) and isinstance(backend[1], dict):
40
+ return cast(tuple[str, dict[str, Any]], backend)
41
+
42
+ raise TypeError("anyio_backend must be either a string or tuple of (string, dict)")
43
+
44
+
45
+ @contextmanager
46
+ def get_runner(
47
+ backend_name: str, backend_options: dict[str, Any]
48
+ ) -> Iterator[TestRunner]:
49
+ global _current_runner, _runner_leases, _runner_stack
50
+ if _current_runner is None:
51
+ asynclib = get_async_backend(backend_name)
52
+ _runner_stack = ExitStack()
53
+ if current_async_library() is None:
54
+ # Since we're in control of the event loop, we can cache the name of the
55
+ # async library
56
+ token = set_current_async_library(backend_name)
57
+ _runner_stack.callback(reset_current_async_library, token)
58
+
59
+ backend_options = backend_options or {}
60
+ _current_runner = _runner_stack.enter_context(
61
+ asynclib.create_test_runner(backend_options)
62
+ )
63
+
64
+ _runner_leases += 1
65
+ try:
66
+ yield _current_runner
67
+ finally:
68
+ _runner_leases -= 1
69
+ if not _runner_leases:
70
+ assert _runner_stack is not None
71
+ _runner_stack.close()
72
+ _runner_stack = _current_runner = None
73
+
74
+
75
+ def pytest_addoption(parser: pytest.Parser) -> None:
76
+ parser.addini(
77
+ "anyio_mode",
78
+ default="strict",
79
+ help='AnyIO plugin mode (either "strict" or "auto")',
80
+ )
81
+
82
+
83
+ def pytest_configure(config: pytest.Config) -> None:
84
+ config.addinivalue_line(
85
+ "markers",
86
+ "anyio: mark the (coroutine function) test to be run asynchronously via anyio.",
87
+ )
88
+ if (
89
+ config.getini("anyio_mode") == "auto"
90
+ and config.pluginmanager.has_plugin("asyncio")
91
+ and config.getini("asyncio_mode") == "auto"
92
+ ):
93
+ config.issue_config_time_warning(
94
+ pytest.PytestConfigWarning(
95
+ "AnyIO auto mode has been enabled together with pytest-asyncio auto "
96
+ "mode. This may cause unexpected behavior."
97
+ ),
98
+ 1,
99
+ )
100
+
101
+
102
+ @pytest.hookimpl(hookwrapper=True)
103
+ def pytest_fixture_setup(fixturedef: Any, request: Any) -> Generator[Any]:
104
+ def wrapper(anyio_backend: Any, request: SubRequest, **kwargs: Any) -> Any:
105
+ # Rebind any fixture methods to the request instance
106
+ if (
107
+ request.instance
108
+ and ismethod(func)
109
+ and type(func.__self__) is type(request.instance)
110
+ ):
111
+ local_func = func.__func__.__get__(request.instance)
112
+ else:
113
+ local_func = func
114
+
115
+ backend_name, backend_options = extract_backend_and_options(anyio_backend)
116
+ if has_backend_arg:
117
+ kwargs["anyio_backend"] = anyio_backend
118
+
119
+ if has_request_arg:
120
+ kwargs["request"] = request
121
+
122
+ with get_runner(backend_name, backend_options) as runner:
123
+ if isasyncgenfunction(local_func):
124
+ yield from runner.run_asyncgen_fixture(local_func, kwargs)
125
+ else:
126
+ yield runner.run_fixture(local_func, kwargs)
127
+
128
+ # Only apply this to coroutine functions and async generator functions in requests
129
+ # that involve the anyio_backend fixture
130
+ func = fixturedef.func
131
+ if isasyncgenfunction(func) or iscoroutinefunction(func):
132
+ if "anyio_backend" in request.fixturenames:
133
+ fixturedef.func = wrapper
134
+ original_argname = fixturedef.argnames
135
+
136
+ if not (has_backend_arg := "anyio_backend" in fixturedef.argnames):
137
+ fixturedef.argnames += ("anyio_backend",)
138
+
139
+ if not (has_request_arg := "request" in fixturedef.argnames):
140
+ fixturedef.argnames += ("request",)
141
+
142
+ try:
143
+ return (yield)
144
+ finally:
145
+ fixturedef.func = func
146
+ fixturedef.argnames = original_argname
147
+
148
+ return (yield)
149
+
150
+
151
+ @pytest.hookimpl(tryfirst=True)
152
+ def pytest_pycollect_makeitem(
153
+ collector: pytest.Module | pytest.Class, name: str, obj: object
154
+ ) -> None:
155
+ if collector.istestfunction(obj, name):
156
+ inner_func = obj.hypothesis.inner_test if hasattr(obj, "hypothesis") else obj
157
+ if iscoroutinefunction(inner_func):
158
+ anyio_auto_mode = collector.config.getini("anyio_mode") == "auto"
159
+ marker = collector.get_closest_marker("anyio")
160
+ own_markers = getattr(obj, "pytestmark", ())
161
+ if (
162
+ anyio_auto_mode
163
+ or marker
164
+ or any(marker.name == "anyio" for marker in own_markers)
165
+ ):
166
+ pytest.mark.usefixtures("anyio_backend")(obj)
167
+
168
+
169
+ def pytest_collection_finish(session: pytest.Session) -> None:
170
+ for i, item in reversed(list(enumerate(session.items))):
171
+ if (
172
+ isinstance(item, pytest.Function)
173
+ and iscoroutinefunction(item.function)
174
+ and item.get_closest_marker("anyio") is not None
175
+ and "anyio_backend" not in item.fixturenames
176
+ ):
177
+ new_items = []
178
+ try:
179
+ cs_fields = {f.name for f in dataclasses.fields(CallSpec2)}
180
+ except TypeError:
181
+ cs_fields = set()
182
+
183
+ for param_index, backend in enumerate(get_available_backends()):
184
+ if "_arg2scope" in cs_fields: # pytest >= 8
185
+ callspec = CallSpec2(
186
+ params={"anyio_backend": backend},
187
+ indices={"anyio_backend": param_index},
188
+ _arg2scope={"anyio_backend": Scope.Module},
189
+ _idlist=[backend],
190
+ marks=[],
191
+ )
192
+ else: # pytest 7.x
193
+ callspec = CallSpec2( # type: ignore[call-arg]
194
+ funcargs={},
195
+ params={"anyio_backend": backend},
196
+ indices={"anyio_backend": param_index},
197
+ arg2scope={"anyio_backend": Scope.Module},
198
+ idlist=[backend],
199
+ marks=[],
200
+ )
201
+
202
+ fi = item._fixtureinfo
203
+ new_names_closure = list(fi.names_closure)
204
+ if "anyio_backend" not in new_names_closure:
205
+ new_names_closure.append("anyio_backend")
206
+
207
+ new_fixtureinfo = FuncFixtureInfo(
208
+ argnames=fi.argnames,
209
+ initialnames=fi.initialnames,
210
+ names_closure=new_names_closure,
211
+ name2fixturedefs=fi.name2fixturedefs,
212
+ )
213
+ new_item = pytest.Function.from_parent(
214
+ item.parent,
215
+ name=f"{item.originalname}[{backend}]",
216
+ callspec=callspec,
217
+ callobj=item.obj,
218
+ fixtureinfo=new_fixtureinfo,
219
+ keywords=item.keywords,
220
+ originalname=item.originalname,
221
+ )
222
+ new_items.append(new_item)
223
+
224
+ session.items[i : i + 1] = new_items
225
+
226
+
227
+ @pytest.hookimpl(tryfirst=True)
228
+ def pytest_pyfunc_call(pyfuncitem: Any) -> bool | None:
229
+ def run_with_hypothesis(**kwargs: Any) -> None:
230
+ with get_runner(backend_name, backend_options) as runner:
231
+ runner.run_test(original_func, kwargs)
232
+
233
+ backend = pyfuncitem.funcargs.get("anyio_backend")
234
+ if backend:
235
+ backend_name, backend_options = extract_backend_and_options(backend)
236
+
237
+ if hasattr(pyfuncitem.obj, "hypothesis"):
238
+ # Wrap the inner test function unless it's already wrapped
239
+ original_func = pyfuncitem.obj.hypothesis.inner_test
240
+ if original_func.__qualname__ != run_with_hypothesis.__qualname__:
241
+ if iscoroutinefunction(original_func):
242
+ pyfuncitem.obj.hypothesis.inner_test = run_with_hypothesis
243
+
244
+ return None
245
+
246
+ if iscoroutinefunction(pyfuncitem.obj):
247
+ funcargs = pyfuncitem.funcargs
248
+ testargs = {arg: funcargs[arg] for arg in pyfuncitem._fixtureinfo.argnames}
249
+ with get_runner(backend_name, backend_options) as runner:
250
+ try:
251
+ runner.run_test(pyfuncitem.obj, testargs)
252
+ except ExceptionGroup as excgrp:
253
+ for exc in iterate_exceptions(excgrp):
254
+ if isinstance(exc, (Exit, KeyboardInterrupt, SystemExit)):
255
+ raise exc from excgrp
256
+
257
+ raise
258
+
259
+ return True
260
+
261
+ return None
262
+
263
+
264
+ @pytest.fixture(scope="module", params=get_available_backends())
265
+ def anyio_backend(request: Any) -> Any:
266
+ return request.param
267
+
268
+
269
+ @pytest.fixture
270
+ def anyio_backend_name(anyio_backend: Any) -> str:
271
+ if isinstance(anyio_backend, str):
272
+ return anyio_backend
273
+ else:
274
+ return anyio_backend[0]
275
+
276
+
277
+ @pytest.fixture
278
+ def anyio_backend_options(anyio_backend: Any) -> dict[str, Any]:
279
+ if isinstance(anyio_backend, str):
280
+ return {}
281
+ else:
282
+ return anyio_backend[1]
283
+
284
+
285
+ class FreePortFactory:
286
+ """
287
+ Manages port generation based on specified socket kind, ensuring no duplicate
288
+ ports are generated.
289
+
290
+ This class provides functionality for generating available free ports on the
291
+ system. It is initialized with a specific socket kind and can generate ports
292
+ for given address families while avoiding reuse of previously generated ports.
293
+
294
+ Users should not instantiate this class directly, but use the
295
+ ``free_tcp_port_factory`` and ``free_udp_port_factory`` fixtures instead. For simple
296
+ uses cases, ``free_tcp_port`` and ``free_udp_port`` can be used instead.
297
+ """
298
+
299
+ def __init__(self, kind: socket.SocketKind) -> None:
300
+ self._kind = kind
301
+ self._generated = set[int]()
302
+
303
+ @property
304
+ def kind(self) -> socket.SocketKind:
305
+ """
306
+ The type of socket connection (e.g., :data:`~socket.SOCK_STREAM` or
307
+ :data:`~socket.SOCK_DGRAM`) used to bind for checking port availability
308
+
309
+ """
310
+ return self._kind
311
+
312
+ def __call__(self, family: socket.AddressFamily | None = None) -> int:
313
+ """
314
+ Return an unbound port for the given address family.
315
+
316
+ :param family: if omitted, both IPv4 and IPv6 addresses will be tried
317
+ :return: a port number
318
+
319
+ """
320
+ if family is not None:
321
+ families = [family]
322
+ else:
323
+ families = [socket.AF_INET]
324
+ if socket.has_ipv6:
325
+ families.append(socket.AF_INET6)
326
+
327
+ while True:
328
+ port = 0
329
+ with ExitStack() as stack:
330
+ for family in families:
331
+ sock = stack.enter_context(socket.socket(family, self._kind))
332
+ addr = "::1" if family == socket.AF_INET6 else "127.0.0.1"
333
+ try:
334
+ sock.bind((addr, port))
335
+ except OSError:
336
+ break
337
+
338
+ if not port:
339
+ port = sock.getsockname()[1]
340
+ else:
341
+ if port not in self._generated:
342
+ self._generated.add(port)
343
+ return port
344
+
345
+
346
+ @pytest.fixture(scope="session")
347
+ def free_tcp_port_factory() -> FreePortFactory:
348
+ return FreePortFactory(socket.SOCK_STREAM)
349
+
350
+
351
+ @pytest.fixture(scope="session")
352
+ def free_udp_port_factory() -> FreePortFactory:
353
+ return FreePortFactory(socket.SOCK_DGRAM)
354
+
355
+
356
+ @pytest.fixture
357
+ def free_tcp_port(free_tcp_port_factory: Callable[[], int]) -> int:
358
+ return free_tcp_port_factory()
359
+
360
+
361
+ @pytest.fixture
362
+ def free_udp_port(free_udp_port_factory: Callable[[], int]) -> int:
363
+ return free_udp_port_factory()
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/to_interpreter.py ADDED
@@ -0,0 +1,246 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ __all__ = (
4
+ "run_sync",
5
+ "current_default_interpreter_limiter",
6
+ )
7
+
8
+ import atexit
9
+ import os
10
+ import sys
11
+ from collections import deque
12
+ from collections.abc import Callable
13
+ from typing import Any, Final, TypeVar
14
+
15
+ from . import current_time, to_thread
16
+ from ._core._exceptions import BrokenWorkerInterpreter
17
+ from ._core._synchronization import CapacityLimiter
18
+ from .lowlevel import RunVar
19
+
20
+ if sys.version_info >= (3, 11):
21
+ from typing import TypeVarTuple, Unpack
22
+ else:
23
+ from typing_extensions import TypeVarTuple, Unpack
24
+
25
+ if sys.version_info >= (3, 14):
26
+ from concurrent.interpreters import ExecutionFailed, create
27
+
28
+ def _interp_call(
29
+ func: Callable[..., Any], args: tuple[Any, ...]
30
+ ) -> tuple[Any, bool]:
31
+ try:
32
+ retval = func(*args)
33
+ except BaseException as exc:
34
+ return exc, True
35
+ else:
36
+ return retval, False
37
+
38
+ class _Worker:
39
+ last_used: float = 0
40
+
41
+ def __init__(self) -> None:
42
+ self._interpreter = create()
43
+
44
+ def destroy(self) -> None:
45
+ self._interpreter.close()
46
+
47
+ def call(
48
+ self,
49
+ func: Callable[..., T_Retval],
50
+ args: tuple[Any, ...],
51
+ ) -> T_Retval:
52
+ try:
53
+ res, is_exception = self._interpreter.call(_interp_call, func, args)
54
+ except ExecutionFailed as exc:
55
+ raise BrokenWorkerInterpreter(exc.excinfo) from exc
56
+
57
+ if is_exception:
58
+ raise res
59
+
60
+ return res
61
+ elif sys.version_info >= (3, 13):
62
+ import _interpqueues
63
+ import _interpreters
64
+
65
+ UNBOUND: Final = 2 # I have no clue how this works, but it was used in the stdlib
66
+ FMT_UNPICKLED: Final = 0
67
+ FMT_PICKLED: Final = 1
68
+ QUEUE_PICKLE_ARGS: Final = (FMT_PICKLED, UNBOUND)
69
+ QUEUE_UNPICKLE_ARGS: Final = (FMT_UNPICKLED, UNBOUND)
70
+
71
+ _run_func = compile(
72
+ """
73
+ import _interpqueues
74
+ from _interpreters import NotShareableError
75
+ from pickle import loads, dumps, HIGHEST_PROTOCOL
76
+
77
+ QUEUE_PICKLE_ARGS = (1, 2)
78
+ QUEUE_UNPICKLE_ARGS = (0, 2)
79
+
80
+ item = _interpqueues.get(queue_id)[0]
81
+ try:
82
+ func, args = loads(item)
83
+ retval = func(*args)
84
+ except BaseException as exc:
85
+ is_exception = True
86
+ retval = exc
87
+ else:
88
+ is_exception = False
89
+
90
+ try:
91
+ _interpqueues.put(queue_id, (retval, is_exception), *QUEUE_UNPICKLE_ARGS)
92
+ except NotShareableError:
93
+ retval = dumps(retval, HIGHEST_PROTOCOL)
94
+ _interpqueues.put(queue_id, (retval, is_exception), *QUEUE_PICKLE_ARGS)
95
+ """,
96
+ "<string>",
97
+ "exec",
98
+ )
99
+
100
+ class _Worker:
101
+ last_used: float = 0
102
+
103
+ def __init__(self) -> None:
104
+ self._interpreter_id = _interpreters.create()
105
+ self._queue_id = _interpqueues.create(1, *QUEUE_UNPICKLE_ARGS)
106
+ _interpreters.set___main___attrs(
107
+ self._interpreter_id, {"queue_id": self._queue_id}
108
+ )
109
+
110
+ def destroy(self) -> None:
111
+ _interpqueues.destroy(self._queue_id)
112
+ _interpreters.destroy(self._interpreter_id)
113
+
114
+ def call(
115
+ self,
116
+ func: Callable[..., T_Retval],
117
+ args: tuple[Any, ...],
118
+ ) -> T_Retval:
119
+ import pickle
120
+
121
+ item = pickle.dumps((func, args), pickle.HIGHEST_PROTOCOL)
122
+ _interpqueues.put(self._queue_id, item, *QUEUE_PICKLE_ARGS)
123
+ exc_info = _interpreters.exec(self._interpreter_id, _run_func)
124
+ if exc_info:
125
+ raise BrokenWorkerInterpreter(exc_info)
126
+
127
+ res = _interpqueues.get(self._queue_id)
128
+ (res, is_exception), fmt = res[:2]
129
+ if fmt == FMT_PICKLED:
130
+ res = pickle.loads(res)
131
+
132
+ if is_exception:
133
+ raise res
134
+
135
+ return res
136
+ else:
137
+
138
+ class _Worker:
139
+ last_used: float = 0
140
+
141
+ def __init__(self) -> None:
142
+ raise RuntimeError("subinterpreters require at least Python 3.13")
143
+
144
+ def call(
145
+ self,
146
+ func: Callable[..., T_Retval],
147
+ args: tuple[Any, ...],
148
+ ) -> T_Retval:
149
+ raise NotImplementedError
150
+
151
+ def destroy(self) -> None:
152
+ pass
153
+
154
+
155
+ DEFAULT_CPU_COUNT: Final = 8 # this is just an arbitrarily selected value
156
+ MAX_WORKER_IDLE_TIME = (
157
+ 30 # seconds a subinterpreter can be idle before becoming eligible for pruning
158
+ )
159
+
160
+ T_Retval = TypeVar("T_Retval")
161
+ PosArgsT = TypeVarTuple("PosArgsT")
162
+
163
+ _idle_workers = RunVar[deque[_Worker]]("_available_workers")
164
+ _default_interpreter_limiter = RunVar[CapacityLimiter]("_default_interpreter_limiter")
165
+
166
+
167
+ def _stop_workers(workers: deque[_Worker]) -> None:
168
+ for worker in workers:
169
+ worker.destroy()
170
+
171
+ workers.clear()
172
+
173
+
174
+ async def run_sync(
175
+ func: Callable[[Unpack[PosArgsT]], T_Retval],
176
+ *args: Unpack[PosArgsT],
177
+ limiter: CapacityLimiter | None = None,
178
+ ) -> T_Retval:
179
+ """
180
+ Call the given function with the given arguments in a subinterpreter.
181
+
182
+ .. warning:: On Python 3.13, the :mod:`concurrent.interpreters` module was not yet
183
+ available, so the code path for that Python version relies on an undocumented,
184
+ private API. As such, it is recommended to not rely on this function for anything
185
+ mission-critical on Python 3.13.
186
+
187
+ :param func: a callable
188
+ :param args: the positional arguments for the callable
189
+ :param limiter: capacity limiter to use to limit the total number of subinterpreters
190
+ running (if omitted, the default limiter is used)
191
+ :return: the result of the call
192
+ :raises BrokenWorkerInterpreter: if there's an internal error in a subinterpreter
193
+
194
+ """
195
+ if limiter is None:
196
+ limiter = current_default_interpreter_limiter()
197
+
198
+ try:
199
+ idle_workers = _idle_workers.get()
200
+ except LookupError:
201
+ idle_workers = deque()
202
+ _idle_workers.set(idle_workers)
203
+ atexit.register(_stop_workers, idle_workers)
204
+
205
+ async with limiter:
206
+ try:
207
+ worker = idle_workers.pop()
208
+ except IndexError:
209
+ worker = _Worker()
210
+
211
+ try:
212
+ return await to_thread.run_sync(
213
+ worker.call,
214
+ func,
215
+ args,
216
+ limiter=limiter,
217
+ )
218
+ finally:
219
+ # Prune workers that have been idle for too long
220
+ now = current_time()
221
+ while idle_workers:
222
+ if now - idle_workers[0].last_used <= MAX_WORKER_IDLE_TIME:
223
+ break
224
+
225
+ await to_thread.run_sync(idle_workers.popleft().destroy, limiter=limiter)
226
+
227
+ worker.last_used = current_time()
228
+ idle_workers.append(worker)
229
+
230
+
231
+ def current_default_interpreter_limiter() -> CapacityLimiter:
232
+ """
233
+ Return the capacity limiter used by default to limit the number of concurrently
234
+ running subinterpreters.
235
+
236
+ Defaults to the number of CPU cores.
237
+
238
+ :return: a capacity limiter object
239
+
240
+ """
241
+ try:
242
+ return _default_interpreter_limiter.get()
243
+ except LookupError:
244
+ limiter = CapacityLimiter(os.cpu_count() or DEFAULT_CPU_COUNT)
245
+ _default_interpreter_limiter.set(limiter)
246
+ return limiter
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/to_process.py ADDED
@@ -0,0 +1,266 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ __all__ = (
4
+ "current_default_process_limiter",
5
+ "process_worker",
6
+ "run_sync",
7
+ )
8
+
9
+ import os
10
+ import pickle
11
+ import subprocess
12
+ import sys
13
+ from collections import deque
14
+ from collections.abc import Callable
15
+ from importlib.util import module_from_spec, spec_from_file_location
16
+ from typing import TypeVar, cast
17
+
18
+ from ._core._eventloop import current_time, get_async_backend, get_cancelled_exc_class
19
+ from ._core._exceptions import BrokenWorkerProcess
20
+ from ._core._subprocesses import open_process
21
+ from ._core._synchronization import CapacityLimiter
22
+ from ._core._tasks import CancelScope, fail_after
23
+ from .abc import ByteReceiveStream, ByteSendStream, Process
24
+ from .lowlevel import RunVar, checkpoint_if_cancelled
25
+ from .streams.buffered import BufferedByteReceiveStream
26
+
27
+ if sys.version_info >= (3, 11):
28
+ from typing import TypeVarTuple, Unpack
29
+ else:
30
+ from typing_extensions import TypeVarTuple, Unpack
31
+
32
+ WORKER_MAX_IDLE_TIME = 300 # 5 minutes
33
+
34
+ T_Retval = TypeVar("T_Retval")
35
+ PosArgsT = TypeVarTuple("PosArgsT")
36
+
37
+ _process_pool_workers: RunVar[set[Process]] = RunVar("_process_pool_workers")
38
+ _process_pool_idle_workers: RunVar[deque[tuple[Process, float]]] = RunVar(
39
+ "_process_pool_idle_workers"
40
+ )
41
+ _default_process_limiter: RunVar[CapacityLimiter] = RunVar("_default_process_limiter")
42
+
43
+
44
+ async def run_sync( # type: ignore[return]
45
+ func: Callable[[Unpack[PosArgsT]], T_Retval],
46
+ *args: Unpack[PosArgsT],
47
+ cancellable: bool = False,
48
+ limiter: CapacityLimiter | None = None,
49
+ ) -> T_Retval:
50
+ """
51
+ Call the given function with the given arguments in a worker process.
52
+
53
+ If the ``cancellable`` option is enabled and the task waiting for its completion is
54
+ cancelled, the worker process running it will be abruptly terminated using SIGKILL
55
+ (or ``terminateProcess()`` on Windows).
56
+
57
+ :param func: a callable
58
+ :param args: positional arguments for the callable
59
+ :param cancellable: ``True`` to allow cancellation of the operation while it's
60
+ running
61
+ :param limiter: capacity limiter to use to limit the total amount of processes
62
+ running (if omitted, the default limiter is used)
63
+ :raises NoEventLoopError: if no supported asynchronous event loop is running in the
64
+ current thread
65
+ :return: an awaitable that yields the return value of the function.
66
+
67
+ """
68
+
69
+ async def send_raw_command(pickled_cmd: bytes) -> object:
70
+ try:
71
+ await stdin.send(pickled_cmd)
72
+ response = await buffered.receive_until(b"\n", 50)
73
+ status, length = response.split(b" ")
74
+ if status not in (b"RETURN", b"EXCEPTION"):
75
+ raise RuntimeError(
76
+ f"Worker process returned unexpected response: {response!r}"
77
+ )
78
+
79
+ pickled_response = await buffered.receive_exactly(int(length))
80
+ except BaseException as exc:
81
+ workers.discard(process)
82
+ try:
83
+ process.kill()
84
+ with CancelScope(shield=True):
85
+ await process.aclose()
86
+ except ProcessLookupError:
87
+ pass
88
+
89
+ if isinstance(exc, get_cancelled_exc_class()):
90
+ raise
91
+ else:
92
+ raise BrokenWorkerProcess from exc
93
+
94
+ retval = pickle.loads(pickled_response)
95
+ if status == b"EXCEPTION":
96
+ assert isinstance(retval, BaseException)
97
+ raise retval
98
+ else:
99
+ return retval
100
+
101
+ # First pickle the request before trying to reserve a worker process
102
+ await checkpoint_if_cancelled()
103
+ request = pickle.dumps(("run", func, args), protocol=pickle.HIGHEST_PROTOCOL)
104
+
105
+ # If this is the first run in this event loop thread, set up the necessary variables
106
+ try:
107
+ workers = _process_pool_workers.get()
108
+ idle_workers = _process_pool_idle_workers.get()
109
+ except LookupError:
110
+ workers = set()
111
+ idle_workers = deque()
112
+ _process_pool_workers.set(workers)
113
+ _process_pool_idle_workers.set(idle_workers)
114
+ get_async_backend().setup_process_pool_exit_at_shutdown(workers)
115
+
116
+ async with limiter or current_default_process_limiter():
117
+ # Pop processes from the pool (starting from the most recently used) until we
118
+ # find one that hasn't exited yet
119
+ process: Process
120
+ while idle_workers:
121
+ process, idle_since = idle_workers.pop()
122
+ if process.returncode is None:
123
+ stdin = cast(ByteSendStream, process.stdin)
124
+ buffered = BufferedByteReceiveStream(
125
+ cast(ByteReceiveStream, process.stdout)
126
+ )
127
+
128
+ # Prune any other workers that have been idle for WORKER_MAX_IDLE_TIME
129
+ # seconds or longer
130
+ now = current_time()
131
+ killed_processes: list[Process] = []
132
+ while idle_workers:
133
+ if now - idle_workers[0][1] < WORKER_MAX_IDLE_TIME:
134
+ break
135
+
136
+ process_to_kill, idle_since = idle_workers.popleft()
137
+ process_to_kill.kill()
138
+ workers.remove(process_to_kill)
139
+ killed_processes.append(process_to_kill)
140
+
141
+ with CancelScope(shield=True):
142
+ for killed_process in killed_processes:
143
+ await killed_process.aclose()
144
+
145
+ break
146
+
147
+ workers.remove(process)
148
+ else:
149
+ command = [sys.executable, "-u", "-m", __name__]
150
+ process = await open_process(
151
+ command, stdin=subprocess.PIPE, stdout=subprocess.PIPE
152
+ )
153
+ try:
154
+ stdin = cast(ByteSendStream, process.stdin)
155
+ buffered = BufferedByteReceiveStream(
156
+ cast(ByteReceiveStream, process.stdout)
157
+ )
158
+ with fail_after(20):
159
+ message = await buffered.receive(6)
160
+
161
+ if message != b"READY\n":
162
+ raise BrokenWorkerProcess(
163
+ f"Worker process returned unexpected response: {message!r}"
164
+ )
165
+
166
+ main_module_path = getattr(sys.modules["__main__"], "__file__", None)
167
+ pickled = pickle.dumps(
168
+ ("init", sys.path, main_module_path),
169
+ protocol=pickle.HIGHEST_PROTOCOL,
170
+ )
171
+ await send_raw_command(pickled)
172
+ except (BrokenWorkerProcess, get_cancelled_exc_class()):
173
+ raise
174
+ except BaseException as exc:
175
+ process.kill()
176
+ raise BrokenWorkerProcess(
177
+ "Error during worker process initialization"
178
+ ) from exc
179
+
180
+ workers.add(process)
181
+
182
+ with CancelScope(shield=not cancellable):
183
+ try:
184
+ return cast(T_Retval, await send_raw_command(request))
185
+ finally:
186
+ if process in workers:
187
+ idle_workers.append((process, current_time()))
188
+
189
+
190
+ def current_default_process_limiter() -> CapacityLimiter:
191
+ """
192
+ Return the capacity limiter that is used by default to limit the number of worker
193
+ processes.
194
+
195
+ :return: a capacity limiter object
196
+
197
+ """
198
+ try:
199
+ return _default_process_limiter.get()
200
+ except LookupError:
201
+ limiter = CapacityLimiter(os.cpu_count() or 2)
202
+ _default_process_limiter.set(limiter)
203
+ return limiter
204
+
205
+
206
+ def process_worker() -> None:
207
+ # Redirect standard streams to os.devnull so that user code won't interfere with the
208
+ # parent-worker communication
209
+ stdin = sys.stdin
210
+ stdout = sys.stdout
211
+ sys.stdin = open(os.devnull)
212
+ sys.stdout = open(os.devnull, "w")
213
+
214
+ stdout.buffer.write(b"READY\n")
215
+ while True:
216
+ retval = exception = None
217
+ try:
218
+ command, *args = pickle.load(stdin.buffer)
219
+ except EOFError:
220
+ return
221
+ except BaseException as exc:
222
+ exception = exc
223
+ else:
224
+ if command == "run":
225
+ func, args = args
226
+ try:
227
+ retval = func(*args)
228
+ except BaseException as exc:
229
+ exception = exc
230
+ elif command == "init":
231
+ main_module_path: str | None
232
+ sys.path, main_module_path = args
233
+ del sys.modules["__main__"]
234
+ if main_module_path and os.path.isfile(main_module_path):
235
+ # Load the parent's main module but as __mp_main__ instead of
236
+ # __main__ (like multiprocessing does) to avoid infinite recursion
237
+ try:
238
+ spec = spec_from_file_location("__mp_main__", main_module_path)
239
+ if spec and spec.loader:
240
+ main = module_from_spec(spec)
241
+ spec.loader.exec_module(main)
242
+ sys.modules["__main__"] = main
243
+ except BaseException as exc:
244
+ exception = exc
245
+ try:
246
+ if exception is not None:
247
+ status = b"EXCEPTION"
248
+ pickled = pickle.dumps(exception, pickle.HIGHEST_PROTOCOL)
249
+ else:
250
+ status = b"RETURN"
251
+ pickled = pickle.dumps(retval, pickle.HIGHEST_PROTOCOL)
252
+ except BaseException as exc:
253
+ exception = exc
254
+ status = b"EXCEPTION"
255
+ pickled = pickle.dumps(exc, pickle.HIGHEST_PROTOCOL)
256
+
257
+ stdout.buffer.write(b"%s %d\n" % (status, len(pickled)))
258
+ stdout.buffer.write(pickled)
259
+
260
+ # Respect SIGTERM
261
+ if isinstance(exception, SystemExit):
262
+ raise exception
263
+
264
+
265
+ if __name__ == "__main__":
266
+ process_worker()
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/anyio/to_thread.py ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ __all__ = (
4
+ "run_sync",
5
+ "current_default_thread_limiter",
6
+ )
7
+
8
+ import sys
9
+ from collections.abc import Callable
10
+ from typing import TypeVar
11
+ from warnings import warn
12
+
13
+ from ._core._eventloop import get_async_backend
14
+ from .abc import CapacityLimiter
15
+
16
+ if sys.version_info >= (3, 11):
17
+ from typing import TypeVarTuple, Unpack
18
+ else:
19
+ from typing_extensions import TypeVarTuple, Unpack
20
+
21
+ T_Retval = TypeVar("T_Retval")
22
+ PosArgsT = TypeVarTuple("PosArgsT")
23
+
24
+
25
+ async def run_sync(
26
+ func: Callable[[Unpack[PosArgsT]], T_Retval],
27
+ *args: Unpack[PosArgsT],
28
+ abandon_on_cancel: bool = False,
29
+ cancellable: bool | None = None,
30
+ limiter: CapacityLimiter | None = None,
31
+ ) -> T_Retval:
32
+ """
33
+ Call the given function with the given arguments in a worker thread.
34
+
35
+ If the ``abandon_on_cancel`` option is enabled and the task waiting for its
36
+ completion is cancelled, the thread will still run its course but its
37
+ return value (or any raised exception) will be ignored.
38
+
39
+ :param func: a callable
40
+ :param args: positional arguments for the callable
41
+ :param abandon_on_cancel: ``True`` to abandon the thread (leaving it to run
42
+ unchecked on own) if the host task is cancelled, ``False`` to ignore
43
+ cancellations in the host task until the operation has completed in the worker
44
+ thread
45
+ :param cancellable: deprecated alias of ``abandon_on_cancel``; will override
46
+ ``abandon_on_cancel`` if both parameters are passed
47
+ :param limiter: capacity limiter to use to limit the total amount of threads running
48
+ (if omitted, the default limiter is used)
49
+ :raises NoEventLoopError: if no supported asynchronous event loop is running in the
50
+ current thread
51
+ :return: an awaitable that yields the return value of the function.
52
+
53
+ """
54
+ if cancellable is not None:
55
+ abandon_on_cancel = cancellable
56
+ warn(
57
+ "The `cancellable=` keyword argument to `anyio.to_thread.run_sync` is "
58
+ "deprecated since AnyIO 4.1.0; use `abandon_on_cancel=` instead",
59
+ DeprecationWarning,
60
+ stacklevel=2,
61
+ )
62
+
63
+ return await get_async_backend().run_sync_in_worker_thread(
64
+ func, args, abandon_on_cancel=abandon_on_cancel, limiter=limiter
65
+ )
66
+
67
+
68
+ def current_default_thread_limiter() -> CapacityLimiter:
69
+ """
70
+ Return the capacity limiter that is used by default to limit the number of
71
+ concurrent threads.
72
+
73
+ :return: a capacity limiter object
74
+ :raises NoEventLoopError: if no supported asynchronous event loop is running in the
75
+ current thread
76
+
77
+ """
78
+ return get_async_backend().current_default_thread_limiter()
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/whisper/configuration_whisper.py ADDED
@@ -0,0 +1,167 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2022 The HuggingFace Inc. team. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ """Whisper model configuration"""
15
+
16
+ from huggingface_hub.dataclasses import strict
17
+
18
+ from ...configuration_utils import PreTrainedConfig
19
+ from ...utils import auto_docstring
20
+
21
+
22
+ # fmt: off
23
+ NON_SPEECH_TOKENS = [
24
+ 1, 2, 7, 8, 9, 10, 14, 25,
25
+ 26, 27, 28, 29, 31, 58, 59, 60, 61, 62,
26
+ 63, 90, 91, 92, 93, 357, 366, 438, 532, 685,
27
+ 705, 796, 930, 1058, 1220, 1267, 1279, 1303, 1343, 1377,
28
+ 1391, 1635, 1782, 1875, 2162, 2361, 2488, 3467, 4008, 4211,
29
+ 4600, 4808, 5299, 5855, 6329, 7203, 9609, 9959, 10563, 10786,
30
+ 11420, 11709, 11907, 13163, 13697, 13700, 14808, 15306, 16410, 16791,
31
+ 17992, 19203, 19510, 20724, 22305, 22935, 27007, 30109, 30420, 33409,
32
+ 34949, 40283, 40493, 40549, 47282, 49146, 50257, 50359, 50360, 50361
33
+ ]
34
+ NON_SPEECH_TOKENS_MULTI = [
35
+ 1, 2, 7, 8, 9, 10, 14, 25,
36
+ 26, 27, 28, 29, 31, 58, 59, 60, 61, 62,
37
+ 63, 90, 91, 92, 93, 359, 503, 522, 542, 873,
38
+ 893, 902, 918, 922, 931, 1350, 1853, 1982, 2460, 2627,
39
+ 3246, 3253, 3268, 3536, 3846, 3961, 4183, 4667, 6585, 6647,
40
+ 7273, 9061, 9383, 10428, 10929, 11938, 12033, 12331, 12562, 13793,
41
+ 14157, 14635, 15265, 15618, 16553, 16604, 18362, 18956, 20075, 21675,
42
+ 22520, 26130, 26161, 26435, 28279, 29464, 31650, 32302, 32470, 36865,
43
+ 42863, 47425, 49870, 50254, 50258, 50360, 50361, 50362
44
+ ]
45
+ # fmt: on
46
+
47
+
48
+ @auto_docstring(checkpoint="openai/whisper-tiny")
49
+ @strict
50
+ class WhisperConfig(PreTrainedConfig):
51
+ r"""
52
+ max_source_positions (`int`, *optional*, defaults to 1500):
53
+ The maximum sequence length of log-mel filter-bank features that this model might ever be used with.
54
+ max_target_positions (`int`, *optional*, defaults to 448):
55
+ The maximum sequence length that this model might ever be used with. Typically set this to something large
56
+ just in case (e.g., 512 or 1024 or 2048).
57
+ suppress_tokens (`list[int]`, *optional*):
58
+ A list containing the non-speech tokens that will be used by the logit processor in the `generate`
59
+ function. NON_SPEECH_TOKENS and NON_SPEECH_TOKENS_MULTI each correspond to the `english-only` and the
60
+ `multilingual` model.
61
+ begin_suppress_tokens (`list[int]`, *optional*, defaults to `[220,50256]`):
62
+ A list containing tokens that will be suppressed at the beginning of the sampling process. Initialized as
63
+ the token for `" "` (`blank_token_id`) and the `eos_token_id`
64
+ use_weighted_layer_sum (`bool`, *optional*, defaults to `False`):
65
+ Whether to use a weighted average of layer outputs with learned weights. Only relevant when using an
66
+ instance of [`WhisperForAudioClassification`].
67
+ classifier_proj_size (`int`, *optional*, defaults to 256):
68
+ Dimensionality of the projection before token mean-pooling for classification. Only relevant when using an
69
+ instance of [`WhisperForAudioClassification`].
70
+ apply_spec_augment (`bool`, *optional*, defaults to `False`):
71
+ Whether to apply *SpecAugment* data augmentation to the outputs of the feature encoder. For reference see
72
+ [SpecAugment: A Simple Data Augmentation Method for Automatic Speech
73
+ Recognition](https://huggingface.co/papers/1904.08779).
74
+ mask_time_prob (`float`, *optional*, defaults to 0.05):
75
+ Percentage (between 0 and 1) of all feature vectors along the time axis which will be masked. The masking
76
+ procedure generates `mask_time_prob*len(time_axis)/mask_time_length` independent masks over the axis. If
77
+ reasoning from the probability of each feature vector to be chosen as the start of the vector span to be
78
+ masked, *mask_time_prob* should be `prob_vector_start*mask_time_length`. Note that overlap may decrease the
79
+ actual percentage of masked vectors. This is only relevant if `apply_spec_augment == True`.
80
+ mask_time_length (`int`, *optional*, defaults to 10):
81
+ Length of vector span along the time axis.
82
+ mask_time_min_masks (`int`, *optional*, defaults to 2),:
83
+ The minimum number of masks of length `mask_feature_length` generated along the time axis, each time step,
84
+ irrespectively of `mask_feature_prob`. Only relevant if ''mask_time_prob*len(time_axis)/mask_time_length <
85
+ mask_time_min_masks''
86
+ mask_feature_prob (`float`, *optional*, defaults to 0.0):
87
+ Percentage (between 0 and 1) of all feature vectors along the feature axis which will be masked. The
88
+ masking procedure generates `mask_feature_prob*len(feature_axis)/mask_time_length` independent masks over
89
+ the axis. If reasoning from the probability of each feature vector to be chosen as the start of the vector
90
+ span to be masked, *mask_feature_prob* should be `prob_vector_start*mask_feature_length`. Note that overlap
91
+ may decrease the actual percentage of masked vectors. This is only relevant if `apply_spec_augment is
92
+ True`.
93
+ mask_feature_length (`int`, *optional*, defaults to 10):
94
+ Length of vector span along the feature axis.
95
+ mask_feature_min_masks (`int`, *optional*, defaults to 0):
96
+ The minimum number of masks of length `mask_feature_length` generated along the feature axis, each time
97
+ step, irrespectively of `mask_feature_prob`. Only relevant if
98
+ `mask_feature_prob*len(feature_axis)/mask_feature_length < mask_feature_min_masks`.
99
+ median_filter_width (`int`, *optional*, defaults to 7):
100
+ Width of the median filter used to smoothen to cross-attention outputs when computing token timestamps.
101
+ Should be an odd number.
102
+
103
+ Example:
104
+
105
+ ```python
106
+ >>> from transformers import WhisperConfig, WhisperModel
107
+
108
+ >>> # Initializing a Whisper tiny style configuration
109
+ >>> configuration = WhisperConfig()
110
+
111
+ >>> # Initializing a model (with random weights) from the tiny style configuration
112
+ >>> model = WhisperModel(configuration)
113
+
114
+ >>> # Accessing the model configuration
115
+ >>> configuration = model.config
116
+ ```"""
117
+
118
+ model_type = "whisper"
119
+ keys_to_ignore_at_inference = ["past_key_values"]
120
+ attribute_map = {
121
+ "num_key_value_heads": "encoder_attention_heads",
122
+ "num_attention_heads": "encoder_attention_heads",
123
+ "hidden_size": "d_model",
124
+ "num_hidden_layers": "encoder_layers",
125
+ }
126
+
127
+ vocab_size: int = 51865
128
+ num_mel_bins: int = 80
129
+ encoder_layers: int = 4
130
+ encoder_attention_heads: int = 6
131
+ decoder_layers: int = 4
132
+ decoder_attention_heads: int = 6
133
+ decoder_ffn_dim: int = 1536
134
+ encoder_ffn_dim: int = 1536
135
+ encoder_layerdrop: float | int = 0.0
136
+ decoder_layerdrop: float | int = 0.0
137
+ decoder_start_token_id: int = 50257
138
+ use_cache: bool = True
139
+ is_encoder_decoder: bool = True
140
+ activation_function: str = "gelu"
141
+ d_model: int = 384
142
+ dropout: float | int = 0.0
143
+ attention_dropout: float | int = 0.0
144
+ activation_dropout: float | int = 0.0
145
+ init_std: float = 0.02
146
+ scale_embedding: bool = False
147
+ max_source_positions: int = 1500
148
+ max_target_positions: int = 448
149
+ pad_token_id: int | None = 50256
150
+ bos_token_id: int | None = 50256
151
+ eos_token_id: int | list[int] | None = 50256
152
+ suppress_tokens: list | None = None
153
+ begin_suppress_tokens: list[int] | tuple[int, ...] | None = (220, 50256)
154
+ use_weighted_layer_sum: bool = False
155
+ classifier_proj_size: int = 256
156
+ apply_spec_augment: bool = False
157
+ mask_time_prob: float | int = 0.05
158
+ mask_time_length: int = 10
159
+ mask_time_min_masks: int = 2
160
+ mask_feature_prob: float | int = 0.0
161
+ mask_feature_length: int = 10
162
+ mask_feature_min_masks: int = 0
163
+ median_filter_width: int = 7
164
+ tie_word_embeddings: bool = True
165
+
166
+
167
+ __all__ = ["WhisperConfig"]
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/whisper/english_normalizer.py ADDED
@@ -0,0 +1,596 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2022 The OpenAI team and The HuggingFace Team. All rights reserved.
2
+ # Most of the code is copy pasted from the original whisper repository
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ import re
17
+ import unicodedata
18
+ from collections.abc import Iterator
19
+ from fractions import Fraction
20
+ from re import Match
21
+
22
+ import regex
23
+
24
+
25
+ # non-ASCII letters that are not separated by "NFKD" normalization
26
+ ADDITIONAL_DIACRITICS = {
27
+ "œ": "oe",
28
+ "Œ": "OE",
29
+ "ø": "o",
30
+ "Ø": "O",
31
+ "æ": "ae",
32
+ "Æ": "AE",
33
+ "ß": "ss",
34
+ "ẞ": "SS",
35
+ "đ": "d",
36
+ "Đ": "D",
37
+ "ð": "d",
38
+ "Ð": "D",
39
+ "þ": "th",
40
+ "Þ": "th",
41
+ "ł": "l",
42
+ "Ł": "L",
43
+ }
44
+
45
+
46
+ def remove_symbols_and_diacritics(s: str, keep=""):
47
+ """
48
+ Replace any other markers, symbols, and punctuations with a space, and drop any diacritics (category 'Mn' and some
49
+ manual mappings)
50
+ """
51
+
52
+ def replace_character(char):
53
+ if char in keep:
54
+ return char
55
+ elif char in ADDITIONAL_DIACRITICS:
56
+ return ADDITIONAL_DIACRITICS[char]
57
+
58
+ elif unicodedata.category(char) == "Mn":
59
+ return ""
60
+
61
+ elif unicodedata.category(char)[0] in "MSP":
62
+ return " "
63
+
64
+ return char
65
+
66
+ return "".join(replace_character(c) for c in unicodedata.normalize("NFKD", s))
67
+
68
+
69
+ def remove_symbols(s: str):
70
+ """
71
+ Replace any other markers, symbols, punctuations with a space, keeping diacritics
72
+ """
73
+ return "".join(" " if unicodedata.category(c)[0] in "MSP" else c for c in unicodedata.normalize("NFKC", s))
74
+
75
+
76
+ class BasicTextNormalizer:
77
+ def __init__(self, remove_diacritics: bool = False, split_letters: bool = False):
78
+ self.clean = remove_symbols_and_diacritics if remove_diacritics else remove_symbols
79
+ self.split_letters = split_letters
80
+
81
+ def __call__(self, s: str):
82
+ s = s.lower()
83
+ s = re.sub(r"[<\[][^>\]]*[>\]]", "", s) # remove words between brackets
84
+ s = re.sub(r"\(([^)]+?)\)", "", s) # remove words between parenthesis
85
+ s = self.clean(s).lower()
86
+
87
+ if self.split_letters:
88
+ s = " ".join(regex.findall(r"\X", s, regex.U))
89
+
90
+ s = re.sub(r"\s+", " ", s) # replace any successive whitespace characters with a space
91
+
92
+ return s
93
+
94
+
95
+ class EnglishNumberNormalizer:
96
+ """
97
+ Convert any spelled-out numbers into arabic numbers, while handling:
98
+
99
+ - remove any commas
100
+ - keep the suffixes such as: `1960s`, `274th`, `32nd`, etc.
101
+ - spell out currency symbols after the number. e.g. `$20 million` -> `20000000 dollars`
102
+ - spell out `one` and `ones`
103
+ - interpret successive single-digit numbers as nominal: `one oh one` -> `101`
104
+ """
105
+
106
+ def __init__(self):
107
+ super().__init__()
108
+
109
+ self.zeros = {"o", "oh", "zero"}
110
+ # fmt: off
111
+ self.ones = {
112
+ name: i
113
+ for i, name in enumerate(
114
+ ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"],
115
+ start=1,
116
+ )
117
+ }
118
+ # fmt: on
119
+ self.ones_plural = {
120
+ "sixes" if name == "six" else name + "s": (value, "s") for name, value in self.ones.items()
121
+ }
122
+ self.ones_ordinal = {
123
+ "zeroth": (0, "th"),
124
+ "first": (1, "st"),
125
+ "second": (2, "nd"),
126
+ "third": (3, "rd"),
127
+ "fifth": (5, "th"),
128
+ "twelfth": (12, "th"),
129
+ **{
130
+ name + ("h" if name.endswith("t") else "th"): (value, "th")
131
+ for name, value in self.ones.items()
132
+ if value > 3 and value != 5 and value != 12
133
+ },
134
+ }
135
+ self.ones_suffixed = {**self.ones_plural, **self.ones_ordinal}
136
+
137
+ self.tens = {
138
+ "twenty": 20,
139
+ "thirty": 30,
140
+ "forty": 40,
141
+ "fifty": 50,
142
+ "sixty": 60,
143
+ "seventy": 70,
144
+ "eighty": 80,
145
+ "ninety": 90,
146
+ }
147
+ self.tens_plural = {name.replace("y", "ies"): (value, "s") for name, value in self.tens.items()}
148
+ self.tens_ordinal = {name.replace("y", "ieth"): (value, "th") for name, value in self.tens.items()}
149
+ self.tens_suffixed = {**self.tens_plural, **self.tens_ordinal}
150
+
151
+ self.multipliers = {
152
+ "hundred": 100,
153
+ "thousand": 1_000,
154
+ "million": 1_000_000,
155
+ "billion": 1_000_000_000,
156
+ "trillion": 1_000_000_000_000,
157
+ "quadrillion": 1_000_000_000_000_000,
158
+ "quintillion": 1_000_000_000_000_000_000,
159
+ "sextillion": 1_000_000_000_000_000_000_000,
160
+ "septillion": 1_000_000_000_000_000_000_000_000,
161
+ "octillion": 1_000_000_000_000_000_000_000_000_000,
162
+ "nonillion": 1_000_000_000_000_000_000_000_000_000_000,
163
+ "decillion": 1_000_000_000_000_000_000_000_000_000_000_000,
164
+ }
165
+ self.multipliers_plural = {name + "s": (value, "s") for name, value in self.multipliers.items()}
166
+ self.multipliers_ordinal = {name + "th": (value, "th") for name, value in self.multipliers.items()}
167
+ self.multipliers_suffixed = {**self.multipliers_plural, **self.multipliers_ordinal}
168
+ self.decimals = {*self.ones, *self.tens, *self.zeros}
169
+
170
+ self.preceding_prefixers = {
171
+ "minus": "-",
172
+ "negative": "-",
173
+ "plus": "+",
174
+ "positive": "+",
175
+ }
176
+ self.following_prefixers = {
177
+ "pound": "£",
178
+ "pounds": "£",
179
+ "euro": "€",
180
+ "euros": "€",
181
+ "dollar": "$",
182
+ "dollars": "$",
183
+ "cent": "¢",
184
+ "cents": "¢",
185
+ }
186
+ self.prefixes = set(list(self.preceding_prefixers.values()) + list(self.following_prefixers.values()))
187
+ self.suffixers = {
188
+ "per": {"cent": "%"},
189
+ "percent": "%",
190
+ }
191
+ self.specials = {"and", "double", "triple", "point"}
192
+
193
+ self.words = {
194
+ key
195
+ for mapping in [
196
+ self.zeros,
197
+ self.ones,
198
+ self.ones_suffixed,
199
+ self.tens,
200
+ self.tens_suffixed,
201
+ self.multipliers,
202
+ self.multipliers_suffixed,
203
+ self.preceding_prefixers,
204
+ self.following_prefixers,
205
+ self.suffixers,
206
+ self.specials,
207
+ ]
208
+ for key in mapping
209
+ }
210
+ self.literal_words = {"one", "ones"}
211
+
212
+ def process_words(self, words: list[str]) -> Iterator[str]:
213
+ prefix: str | None = None
214
+ value: str | int | None = None
215
+ skip = False
216
+
217
+ def to_fraction(s: str):
218
+ try:
219
+ return Fraction(s)
220
+ except ValueError:
221
+ return None
222
+
223
+ def output(result: str | int):
224
+ nonlocal prefix, value
225
+ result = str(result)
226
+ if prefix is not None:
227
+ result = prefix + result
228
+ value = None
229
+ prefix = None
230
+ return result
231
+
232
+ if len(words) == 0:
233
+ return
234
+
235
+ for i, current in enumerate(words):
236
+ prev = words[i - 1] if i != 0 else None
237
+ next = words[i + 1] if i != len(words) - 1 else None
238
+ if skip:
239
+ skip = False
240
+ continue
241
+
242
+ next_is_numeric = next is not None and re.match(r"^\d+(\.\d+)?$", next)
243
+ has_prefix = current[0] in self.prefixes
244
+ current_without_prefix = current[1:] if has_prefix else current
245
+ if re.match(r"^\d+(\.\d+)?$", current_without_prefix):
246
+ # arabic numbers (potentially with signs and fractions)
247
+ f = to_fraction(current_without_prefix)
248
+ if f is None:
249
+ raise ValueError("Converting the fraction failed")
250
+
251
+ if value is not None:
252
+ if isinstance(value, str) and value.endswith("."):
253
+ # concatenate decimals / ip address components
254
+ value = str(value) + str(current)
255
+ continue
256
+ else:
257
+ yield output(value)
258
+
259
+ prefix = current[0] if has_prefix else prefix
260
+ if f.denominator == 1:
261
+ value = f.numerator # store integers as int
262
+ else:
263
+ value = current_without_prefix
264
+ elif current not in self.words:
265
+ # non-numeric words
266
+ if value is not None:
267
+ yield output(value)
268
+ yield output(current)
269
+ elif current in self.zeros:
270
+ value = str(value or "") + "0"
271
+ elif current in self.ones:
272
+ ones = self.ones[current]
273
+
274
+ if value is None:
275
+ value = ones
276
+ elif isinstance(value, str) or prev in self.ones:
277
+ if prev in self.tens and ones < 10: # replace the last zero with the digit
278
+ value = value[:-1] + str(ones)
279
+ else:
280
+ value = str(value) + str(ones)
281
+ elif ones < 10:
282
+ if value % 10 == 0:
283
+ value += ones
284
+ else:
285
+ value = str(value) + str(ones)
286
+ else: # eleven to nineteen
287
+ if value % 100 == 0:
288
+ value += ones
289
+ else:
290
+ value = str(value) + str(ones)
291
+ elif current in self.ones_suffixed:
292
+ # ordinal or cardinal; yield the number right away
293
+ ones, suffix = self.ones_suffixed[current]
294
+ if value is None:
295
+ yield output(str(ones) + suffix)
296
+ elif isinstance(value, str) or prev in self.ones:
297
+ if prev in self.tens and ones < 10:
298
+ yield output(value[:-1] + str(ones) + suffix)
299
+ else:
300
+ yield output(str(value) + str(ones) + suffix)
301
+ elif ones < 10:
302
+ if value % 10 == 0:
303
+ yield output(str(value + ones) + suffix)
304
+ else:
305
+ yield output(str(value) + str(ones) + suffix)
306
+ else: # eleven to nineteen
307
+ if value % 100 == 0:
308
+ yield output(str(value + ones) + suffix)
309
+ else:
310
+ yield output(str(value) + str(ones) + suffix)
311
+ value = None
312
+ elif current in self.tens:
313
+ tens = self.tens[current]
314
+ if value is None:
315
+ value = tens
316
+ elif isinstance(value, str):
317
+ value = str(value) + str(tens)
318
+ else:
319
+ if value % 100 == 0:
320
+ value += tens
321
+ else:
322
+ value = str(value) + str(tens)
323
+ elif current in self.tens_suffixed:
324
+ # ordinal or cardinal; yield the number right away
325
+ tens, suffix = self.tens_suffixed[current]
326
+ if value is None:
327
+ yield output(str(tens) + suffix)
328
+ elif isinstance(value, str):
329
+ yield output(str(value) + str(tens) + suffix)
330
+ else:
331
+ if value % 100 == 0:
332
+ yield output(str(value + tens) + suffix)
333
+ else:
334
+ yield output(str(value) + str(tens) + suffix)
335
+ elif current in self.multipliers:
336
+ multiplier = self.multipliers[current]
337
+ if value is None:
338
+ value = multiplier
339
+ elif isinstance(value, str) or value == 0:
340
+ f = to_fraction(value)
341
+ p = f * multiplier if f is not None else None
342
+ if f is not None and p.denominator == 1:
343
+ value = p.numerator
344
+ else:
345
+ yield output(value)
346
+ value = multiplier
347
+ else:
348
+ before = value // 1000 * 1000
349
+ residual = value % 1000
350
+ value = before + residual * multiplier
351
+ elif current in self.multipliers_suffixed:
352
+ multiplier, suffix = self.multipliers_suffixed[current]
353
+ if value is None:
354
+ yield output(str(multiplier) + suffix)
355
+ elif isinstance(value, str):
356
+ f = to_fraction(value)
357
+ p = f * multiplier if f is not None else None
358
+ if f is not None and p.denominator == 1:
359
+ yield output(str(p.numerator) + suffix)
360
+ else:
361
+ yield output(value)
362
+ yield output(str(multiplier) + suffix)
363
+ else: # int
364
+ before = value // 1000 * 1000
365
+ residual = value % 1000
366
+ value = before + residual * multiplier
367
+ yield output(str(value) + suffix)
368
+ value = None
369
+ elif current in self.preceding_prefixers:
370
+ # apply prefix (positive, minus, etc.) if it precedes a number
371
+ if value is not None:
372
+ yield output(value)
373
+
374
+ if next in self.words or next_is_numeric:
375
+ prefix = self.preceding_prefixers[current]
376
+ else:
377
+ yield output(current)
378
+ elif current in self.following_prefixers:
379
+ # apply prefix (dollars, cents, etc.) only after a number
380
+ if value is not None:
381
+ prefix = self.following_prefixers[current]
382
+ yield output(value)
383
+ else:
384
+ yield output(current)
385
+ elif current in self.suffixers:
386
+ # apply suffix symbols (percent -> '%')
387
+ if value is not None:
388
+ suffix = self.suffixers[current]
389
+ if isinstance(suffix, dict):
390
+ if next in suffix:
391
+ yield output(str(value) + suffix[next])
392
+ skip = True
393
+ else:
394
+ yield output(value)
395
+ yield output(current)
396
+ else:
397
+ yield output(str(value) + suffix)
398
+ else:
399
+ yield output(current)
400
+ elif current in self.specials:
401
+ if next not in self.words and not next_is_numeric:
402
+ # apply special handling only if the next word can be numeric
403
+ if value is not None:
404
+ yield output(value)
405
+ yield output(current)
406
+ elif current == "and":
407
+ # ignore "and" after hundreds, thousands, etc.
408
+ if prev not in self.multipliers:
409
+ if value is not None:
410
+ yield output(value)
411
+ yield output(current)
412
+ elif current == "double" or current == "triple":
413
+ if next in self.ones or next in self.zeros:
414
+ repeats = 2 if current == "double" else 3
415
+ ones = self.ones.get(next, 0)
416
+ value = str(value or "") + str(ones) * repeats
417
+ skip = True
418
+ else:
419
+ if value is not None:
420
+ yield output(value)
421
+ yield output(current)
422
+ elif current == "point":
423
+ if next in self.decimals or next_is_numeric:
424
+ value = str(value or "") + "."
425
+ else:
426
+ # should all have been covered at this point
427
+ raise ValueError(f"Unexpected token: {current}")
428
+ else:
429
+ # all should have been covered at this point
430
+ raise ValueError(f"Unexpected token: {current}")
431
+
432
+ if value is not None:
433
+ yield output(value)
434
+
435
+ def preprocess(self, s: str):
436
+ # replace "<number> and a half" with "<number> point five"
437
+ results = []
438
+
439
+ segments = re.split(r"\band\s+a\s+half\b", s)
440
+ for i, segment in enumerate(segments):
441
+ if len(segment.strip()) == 0:
442
+ continue
443
+ if i == len(segments) - 1:
444
+ results.append(segment)
445
+ else:
446
+ results.append(segment)
447
+ last_word = segment.rsplit(maxsplit=2)[-1]
448
+ if last_word in self.decimals or last_word in self.multipliers:
449
+ results.append("point five")
450
+ else:
451
+ results.append("and a half")
452
+
453
+ s = " ".join(results)
454
+
455
+ # put a space at number/letter boundary
456
+ s = re.sub(r"([a-z])([0-9])", r"\1 \2", s)
457
+ s = re.sub(r"([0-9])([a-z])", r"\1 \2", s)
458
+
459
+ # but remove spaces which could be a suffix
460
+ s = re.sub(r"([0-9])\s+(st|nd|rd|th|s)\b", r"\1\2", s)
461
+
462
+ return s
463
+
464
+ def postprocess(self, s: str):
465
+ def combine_cents(m: Match):
466
+ try:
467
+ currency = m.group(1)
468
+ integer = m.group(2)
469
+ cents = int(m.group(3))
470
+ return f"{currency}{integer}.{cents:02d}"
471
+ except ValueError:
472
+ return m.string
473
+
474
+ def extract_cents(m: Match):
475
+ try:
476
+ return f"¢{int(m.group(1))}"
477
+ except ValueError:
478
+ return m.string
479
+
480
+ # apply currency postprocessing; "$2 and ¢7" -> "$2.07"
481
+ s = re.sub(r"([€£$])([0-9]+) (?:and )?¢([0-9]{1,2})\b", combine_cents, s)
482
+ s = re.sub(r"[€£$]0.([0-9]{1,2})\b", extract_cents, s)
483
+
484
+ # write "one(s)" instead of "1(s)", just for the readability
485
+ s = re.sub(r"\b1(s?)\b", r"one\1", s)
486
+
487
+ return s
488
+
489
+ def __call__(self, s: str):
490
+ s = self.preprocess(s)
491
+ s = " ".join(word for word in self.process_words(s.split()) if word is not None)
492
+ s = self.postprocess(s)
493
+
494
+ return s
495
+
496
+
497
+ class EnglishSpellingNormalizer:
498
+ """
499
+ Applies British-American spelling mappings as listed in [1].
500
+
501
+ [1] https://www.tysto.com/uk-us-spelling-list.html
502
+ """
503
+
504
+ def __init__(self, english_spelling_mapping):
505
+ self.mapping = english_spelling_mapping
506
+
507
+ def __call__(self, s: str):
508
+ return " ".join(self.mapping.get(word, word) for word in s.split())
509
+
510
+
511
+ class EnglishTextNormalizer:
512
+ def __init__(self, english_spelling_mapping):
513
+ self.ignore_patterns = r"\b(hmm|mm|mhm|mmm|uh|um)\b"
514
+ self.replacers = {
515
+ # common contractions
516
+ r"\bwon't\b": "will not",
517
+ r"\bcan't\b": "can not",
518
+ r"\blet's\b": "let us",
519
+ r"\bain't\b": "aint",
520
+ r"\by'all\b": "you all",
521
+ r"\bwanna\b": "want to",
522
+ r"\bgotta\b": "got to",
523
+ r"\bgonna\b": "going to",
524
+ r"\bi'ma\b": "i am going to",
525
+ r"\bimma\b": "i am going to",
526
+ r"\bwoulda\b": "would have",
527
+ r"\bcoulda\b": "could have",
528
+ r"\bshoulda\b": "should have",
529
+ r"\bma'am\b": "madam",
530
+ # contractions in titles/prefixes
531
+ r"\bmr\b": "mister ",
532
+ r"\bmrs\b": "missus ",
533
+ r"\bst\b": "saint ",
534
+ r"\bdr\b": "doctor ",
535
+ r"\bprof\b": "professor ",
536
+ r"\bcapt\b": "captain ",
537
+ r"\bgov\b": "governor ",
538
+ r"\bald\b": "alderman ",
539
+ r"\bgen\b": "general ",
540
+ r"\bsen\b": "senator ",
541
+ r"\brep\b": "representative ",
542
+ r"\bpres\b": "president ",
543
+ r"\brev\b": "reverend ",
544
+ r"\bhon\b": "honorable ",
545
+ r"\basst\b": "assistant ",
546
+ r"\bassoc\b": "associate ",
547
+ r"\blt\b": "lieutenant ",
548
+ r"\bcol\b": "colonel ",
549
+ r"\bjr\b": "junior ",
550
+ r"\bsr\b": "senior ",
551
+ r"\besq\b": "esquire ",
552
+ # prefect tenses, ideally it should be any past participles, but it's harder..
553
+ r"'d been\b": " had been",
554
+ r"'s been\b": " has been",
555
+ r"'d gone\b": " had gone",
556
+ r"'s gone\b": " has gone",
557
+ r"'d done\b": " had done", # "'s done" is ambiguous
558
+ r"'s got\b": " has got",
559
+ # general contractions
560
+ r"n't\b": " not",
561
+ r"'re\b": " are",
562
+ r"'s\b": " is",
563
+ r"'d\b": " would",
564
+ r"'ll\b": " will",
565
+ r"'t\b": " not",
566
+ r"'ve\b": " have",
567
+ r"'m\b": " am",
568
+ }
569
+ self.standardize_numbers = EnglishNumberNormalizer()
570
+ self.standardize_spellings = EnglishSpellingNormalizer(english_spelling_mapping)
571
+
572
+ def __call__(self, s: str):
573
+ s = s.lower()
574
+
575
+ s = re.sub(r"[<\[][^>\]]*[>\]]", "", s) # remove words between brackets
576
+ s = re.sub(r"\(([^)]+?)\)", "", s) # remove words between parenthesis
577
+ s = re.sub(self.ignore_patterns, "", s)
578
+ s = re.sub(r"\s+'", "'", s) # standardize when there's a space before an apostrophe
579
+
580
+ for pattern, replacement in self.replacers.items():
581
+ s = re.sub(pattern, replacement, s)
582
+
583
+ s = re.sub(r"(\d),(\d)", r"\1\2", s) # remove commas between digits
584
+ s = re.sub(r"\.([^0-9]|$)", r" \1", s) # remove periods not followed by numbers
585
+ s = remove_symbols_and_diacritics(s, keep=".%$¢€£") # keep some symbols for numerics
586
+
587
+ s = self.standardize_numbers(s)
588
+ s = self.standardize_spellings(s)
589
+
590
+ # now remove prefix/suffix symbols that are not preceded/followed by numbers
591
+ s = re.sub(r"[.$¢€£]([^0-9])", r" \1", s)
592
+ s = re.sub(r"([^0-9])%", r"\1 ", s)
593
+
594
+ s = re.sub(r"\s+", " ", s) # replace any successive whitespace characters with a space
595
+
596
+ return s
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/whisper/generation_whisper.py ADDED
The diff for this file is too large to render. See raw diff
 
LTA_openwebtext_dualt/mini_owt_logdirichlet/audits/owt_ultraclean10k_row_audit/summary.txt ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ cache=cache/owt_t5_stream_pack1023_ultraclean_probe80k_rowvalid_10k_seed20260527_appendeos1.pt
2
+ shape=(10000, 1024) audited_rows=10000 source=/e2e-data/evad-tech-vla/wanghan58/data/small_benchmarks/langflow_2604_11748/openwebtext
3
+
4
+ score: mean=0.3208 p50=0.24 p90=0.6619 p99=1.084 max=1.609
5
+ flag_count: mean=0.5033 p50=0 p90=1 p99=2 max=4
6
+ unique: mean=452.5 p50=456 p90=493 p99=522 max=575
7
+ top_frac: mean=0.04649 p50=0.0459 p90=0.05566 p99=0.06738 max=0.0791
8
+ max_run: mean=1.419 p50=1 p90=2 p99=3 max=7
9
+ bigram_count: mean=3.315 p50=0 p90=10 p99=15 max=27
10
+ trigram_count: mean=0.5936 p50=0 p90=0 p99=12 max=24
11
+ word_count: mean=699.2 p50=701 p90=747 p99=786 max=845
12
+ sentence_count: mean=32.58 p50=32 p90=42 p99=55 max=96
13
+ alpha_frac: mean=0.9531 p50=0.955 p90=0.9658 p99=0.9738 max=0.9902
14
+ punct_frac: mean=0.03229 p50=0.03133 p90=0.04128 p99=0.05411 max=0.1134
15
+ code_symbol_frac: mean=0.00182 p50=0.001563 p90=0.0028 p99=0.009539 max=0.02947
16
+ non_ascii_frac: mean=0.005314 p50=0.00464 p90=0.01107 p99=0.01762 max=0.03831
17
+ stop_frac: mean=0.3791 p50=0.3789 p90=0.4178 p99=0.4567 max=0.4976
18
+ internal_eos_count: mean=1.149 p50=1 p90=2 p99=3 max=4
19
+ line_count: mean=1 p50=1 p90=1 p99=1 max=1
20
+ short_line_frac: mean=0 p50=0 p90=0 p99=0 max=0
21
+
22
+ flag_counts:
23
+ bigram: 3442/10000 (34.42%)
24
+ trigram: 605/10000 (6.05%)
25
+ unk: 519/10000 (5.19%)
26
+ top_token: 445/10000 (4.45%)
27
+ run: 9/10000 (0.09%)
28
+ low_stop: 9/10000 (0.09%)
29
+ non_ascii: 4/10000 (0.04%)
30
+
31
+ top_tokens_all:
32
+ 0.04133 423170 3
33
+ 0.03649 373630 8 the
34
+ 0.03331 341070 6 ,
35
+ 0.03187 326307 5 .
36
+ 0.02573 263476 7 s
37
+ 0.01981 202887 9 a
38
+ 0.01980 202730 12 to
39
+ 0.01815 185825 13 of
40
+ 0.01685 172539 11 and
41
+ 0.01329 136117 16 in
42
+ 0.00872 89305 24 that
43
+ 0.00811 83078 22 ’
44
+ 0.00752 77047 19 is
45
+ 0.00751 76871 18 -
46
+ 0.00653 66907 21 for
47
+ 0.00571 58477 31 '
48
+ 0.00562 57548 30 on
49
+ 0.00546 55881 17 t
50
+ 0.00525 53802 15 e
51
+ 0.00501 51300 34 it
52
+ 0.00471 48255 28 with
53
+ 0.00465 47642 26 d
54
+ 0.00454 46459 37 The
55
+ 0.00450 46046 47 was
56
+ 0.00408 41808 38 as
57
+ 0.00394 40346 27 I
58
+ 0.00384 39298 36 be
59
+ 0.00383 39251 105 “
60
+ 0.00355 36301 33 are
61
+ 0.00337 34494 43 have
62
+ 0.00330 33785 44 at
63
+ 0.00321 32872 88 he
64
+ 0.00305 31188 57 by
65
+ 0.00302 30973 45 from
66
+ 0.00298 30506 53 ing
67
+ 0.00279 28570 65 has
68
+ 0.00275 28201 48 this
69
+ 0.00275 28112 96 "
70
+ 0.00274 28090 59 not
71
+ 0.00274 28080 243 said
72
+ 0.00266 27234 10 :
73
+ 0.00262 26795 25 you
74
+ 0.00259 26554 46 an
75
+ 0.00252 25779 112 his
76
+ 0.00230 23522 79 they
77
+ 0.00222 22698 29 n
78
+ 0.00218 22294 32 o
79
+ 0.00215 22001 42 or
80
+ 0.00214 21929 56 will
81
+ 0.00213 21859 41 (
82
+ 0.00210 21490 1 </s>
83
+ 0.00208 21259 68 but
84
+ 0.00203 20805 62 we
85
+ 0.00198 20252 70 their
86
+ 0.00197 20159 23 i
87
+ 0.00196 20115 63 y
88
+ 0.00194 19815 113 who
89
+ 0.00183 18738 72 more
90
+ 0.00177 18169 81 about
91
+ 0.00175 17879 54 can
92
+
93
+ first_tokens:
94
+ 0.04450 445 3
95
+ 0.03880 388 8 the
96
+ 0.03380 338 6 ,
97
+ 0.02950 295 5 .
98
+ 0.02540 254 7 s
99
+ 0.02340 234 12 to
100
+ 0.02050 205 13 of
101
+ 0.02030 203 9 a
102
+ 0.01670 167 11 and
103
+ 0.01300 130 16 in
104
+ 0.00980 98 22 ’
105
+ 0.00810 81 24 that
106
+ 0.00680 68 17 t
107
+ 0.00640 64 21 for
108
+ 0.00640 64 18 -
109
+ 0.00620 62 31 '
110
+ 0.00600 60 19 is
111
+ 0.00520 52 15 e
112
+ 0.00480 48 47 was
113
+ 0.00460 46 26 d
114
+ 0.00460 46 30 on
115
+ 0.00410 41 38 as
116
+ 0.00410 41 43 have
117
+ 0.00400 40 34 it
118
+ 0.00390 39 27 I
119
+ 0.00370 37 48 this
120
+ 0.00360 36 59 not
121
+ 0.00360 36 44 at
122
+ 0.00350 35 37 The
123
+ 0.00350 35 105 “
124
+ 0.00340 34 33 are
125
+ 0.00340 34 65 has
126
+ 0.00340 34 36 be
127
+ 0.00340 34 28 with
128
+ 0.00340 34 96 "
129
+ 0.00340 34 25 you
130
+ 0.00320 32 53 ing
131
+ 0.00310 31 57 by
132
+ 0.00310 31 88 he
133
+ 0.00290 29 29 n
134
+
135
+ worst_indices:
136
+ idx=8304 score=1.6087 flags=top_token=0.076:.|bigram=12:? Robinson|trigram=12:? Robinson: preview='s been fun. ESPN.com: As a basketball player, how important are your socks? Robinson: Oh, man, it's big-time. Trust me. I've been around where you have uncomfortable socks, and they just don't feel right. It's like, 'Ugh,' it's like a drag
137
+ idx=9444 score=1.5775 flags=top_token=0.074:|bigram=12:- Ya|trigram=12:- Ya preview=rashant Bhushan. They were treated unfairly," she said. Arvind Kejriwal has, meanwhile, returned to the National Council meeting venue in Kapashera, say reports. Arvind and his gang are a bunch of uncouth goons - Shazia Ilmi They (Yogendra
138
+ idx=2840 score=1.5587 flags=top_token=0.061:,|run=6:a|bigram=21:. SH|trigram=21:. SHAME preview=allowed Sleep is not allowed The crowd will be encouraged to chant “SHAME. SHAME. SHAME. SHAME” for the entire round Admission would be free and open, allowing fresh hecklers to fill in and yell throughout the 41-hour process In hour five,
139
+ idx=4393 score=1.4962 flags=top_token=0.072:the|bigram=17:Hong Kong|trigram=11:in Hong Kong preview=by the National People’s Congress Standing Committee on the broad outlines of policy changes envisioned for the 2017 election of the next chief executive of Hong Kong. In his speech, he said giving people in Hong Kong an unfettered choice i
140
+ idx=4831 score=1.4837 flags=top_token=0.068:,|bigram=14:You are|trigram=12:. You are preview=k in the movie, All the King’s Men (based on the eponymous Pulitzer Prize-winning novel by Robert Penn Warren) is apropos the treatment of the supporters of Donald Trump by the reigning tastemakers of the conservative movement. An updated v
141
+ idx=7195 score=1.4837 flags=top_token=0.068:the|bigram=13:the playoff|trigram=12:the playoffs preview=something we’d like to change. We invite the rest of the political media to follow our lead and reject tired anti-Hillary narratives. Stop rewarding conservative Clinton-bashers who constructed a toxic framework for Hillary coverage decades
142
+ idx=8417 score=1.4752 flags=top_token=0.079:the|bigram=12:of the|trigram=8:’s Department preview=the error three days before the parliamentary record was corrected on 4 June. Labor has been highly critical of the government for waiting until the final day of a parliamentary sitting fortnight to retract the previous claims, and argues t
143
+ idx=6276 score=1.4712 flags=unk=1|top_token=0.064:the|bigram=14:of the|trigram=12:Hatch Act preview=and defining prohibited political activity to include all "activity directed toward the success or failure of a political party, candidate for partisan political office, or partisan political group." Did Director Comey's letter to Congress
144
+ idx=2214 score=1.4337 flags=top_token=0.068:the|bigram=12:s Canada|trigram=11:Parks Canada preview=a.m. on Saturday, the moment that the shootings began in the Aurora theater a year earlier. Scheduled participants include a wounded survivor of the Aurora shootings, parents whose adult children were killed in the theater and a woman whose
145
+ idx=6972 score=1.4337 flags=top_token=0.068:the|bigram=27:the loop|trigram=11:of the loop preview=included a death. It takes a week or two for blood tests to reveal whether alcohol was involved in a crash, so for the time being, the driver was sent home pending charges. Troy police said the couple in the Mazda attended the Dream Cruise.
146
+ idx=8139 score=1.4056 flags=top_token=0.063:.|bigram=14:. Water|trigram=14:Mr. Water preview=says Mr. McMullen, who provided The Globe with a May, 2015, document signed by Mr. Watermulder, releasing his former employer from claims of wrongful dismissal in exchange for severance pay. Mr. Watermulder says he was not fired and that he
147
+ idx=3650 score=1.4025 flags=top_token=0.066:|bigram=14:Miss Joseph|trigram=11:Mr Cund preview='Yes.'</s> The ex-model girlfriend of a superrich financier was refused a £4million payout because his advisers suspected she was being 'greedy and undeserving'. Nigerian born Tina Chantale Joseph, 51, lost a High Court legal battle over th
148
+ idx=1079 score=1.3747 flags=top_token=0.062:|bigram=18:at the|trigram=16:the rim preview=the way here is USC. The same team we previously saw sitting in eighth place in block percentage and third in block percentage at the rim. Meanwhile, Colorado is in second with just the seventh best block percentage overall and at the rim.
149
+ idx=7582 score=1.3494 flags=unk=1|top_token=0.069:|bigram=10:the Red|trigram=10:the Reds preview=was good enough to hold on to victory, but this team needs to go for the jugular when it has a lead instead of desperately retreating inwards to try and simply eke out a win. utilized an ultra-conservative game plan that almost backfired on
150
+ idx=4692 score=1.3312 flags=top_token=0.061:|bigram=8:of Bor|trigram=13:a burg|low_stop=0.171 preview=s Borrelia burgdorferi spirochetes in 4 weeks after ceftriaxone treatment in C3H/He mice. J Infect Dis 2007;195:1489–1496. Yrjanainen H, Hytonen J, Hartiala P, Oksi J, Vijanen MK. Persistence of borrelial DNA in the joints of Borrelia burgd
151
+ idx=5891 score=1.3056 flags=unk=1|top_token=0.063:the|bigram=11:Democratic Party|trigram=10:the Democratic Party preview=to 46%. This is the largest percentage saying so since November 1994, after the party's losses in that year's midterm elections. Most major demographic and attitudinal subgroups show at least a slight uptick since 2008 in perceptions that t
152
+ idx=3012 score=1.2994 flags=top_token=0.069:|bigram=10:ex tape|trigram=10:sex tape preview=performance amid a watershed result for the team. MICHAEL COX’S ASSESSMENT: Francis Coquelin has unquestionably been the revelation of Arsenal’s season, returning from a loan spell at Charlton to become a fixture in the first team. Having i
153
+ idx=7972 score=1.2869 flags=top_token=0.065:|bigram=14:in one|trigram=9:a hole preview=unemployed men (currently 1.5 million and a rate of 75.4% as opposed to 1 million and a rate of 65.4% women)to get onto the employment ladder (and women of course). So why are there are special schemes for female entrepreneurs and why is th
154
+ idx=184 score=1.2806 flags=unk=1|bigram=15:of the|trigram=12:the Alam preview=was imprisoned for his involvement.[18] Travis was commissioned as a lieutenant colonel of the Legion of Cavalry and became the chief recruiting officer for a new regular Texian army.[18] Governor Henry Smith ordered Travis to raise a compa
155
+ idx=4154 score=1.2775 flags=bigram=15:( ISBN|trigram=15:( ISBN preview=video is from CNN's Newsroom, broadcast on November 21.</s> Bob the Angry Flower Author(s) Stephen Notley Website http://www.angryflower.com/ Current status/schedule Weekly Launch date 1992 Genre(s) Comedy Bob the Angry Flower is a webcomic