pilipolio commited on
Commit
0e35944
·
verified ·
1 Parent(s): 05b614a

Upload folder using huggingface_hub

Browse files
Files changed (4) hide show
  1. README.md +17 -9
  2. encoder.joblib +2 -2
  3. metadata.json +170 -53
  4. model.joblib +2 -2
README.md CHANGED
@@ -18,9 +18,9 @@ Trained multi-label classifier for detecting chess concepts from LC0 layer activ
18
 
19
  ## Model Description
20
 
21
- Detects 6 chess concepts from internal activations of Leela Chess Zero (LC0) models:
22
 
23
- `discovered_attack`, `fork`, `mating_threat`, `passed_pawn`, `pin`, `sacrifice`
24
 
25
  **Layer:** `block3/conv2/relu`
26
  **Mode:** multi-label
@@ -28,17 +28,25 @@ Detects 6 chess concepts from internal activations of Leela Chess Zero (LC0) mod
28
 
29
  ## Performance
30
 
31
- - **Exact Match: 0.0%**
32
  -
33
 
34
  ### Per-Concept Performance
35
 
36
  | Concept | Accuracy | F1 Score | Support |
37
  |---------|----------|----------|---------|
38
- | discovered_attack | 0.750 | 0.000 | 1 |
39
- | fork | 0.750 | 0.000 | 1 |
40
- | passed_pawn | 0.500 | 0.000 | 2 |
41
- | pin | 0.750 | 0.000 | 1 |
 
 
 
 
 
 
 
 
42
 
43
  ## Usage
44
 
@@ -63,7 +71,7 @@ concepts = probe.predict(features)
63
 
64
  ## Training Details
65
 
66
- - **Training samples:** 14
67
- - **Test samples:** 4
68
  - **Test split:** 20.0%
69
  - **Random seed:** 42
 
18
 
19
  ## Model Description
20
 
21
+ Detects 12 chess concepts from internal activations of Leela Chess Zero (LC0) models:
22
 
23
+ `discovered_attack`, `exposed_king`, `fork`, `initiative`, `mating_threat`, `outpost`, `passed_pawn`, `pin`, `sacrifice`, `skewer`, `weak_square`, `zugzwang`
24
 
25
  **Layer:** `block3/conv2/relu`
26
  **Mode:** multi-label
 
28
 
29
  ## Performance
30
 
31
+ - **Exact Match: 26.8%**
32
  -
33
 
34
  ### Per-Concept Performance
35
 
36
  | Concept | Accuracy | F1 Score | Support |
37
  |---------|----------|----------|---------|
38
+ | discovered_attack | 0.945 | 0.077 | 208 |
39
+ | exposed_king | 0.987 | 0.021 | 66 |
40
+ | fork | 0.844 | 0.283 | 888 |
41
+ | initiative | 0.929 | 0.061 | 275 |
42
+ | mating_threat | 0.749 | 0.607 | 2383 |
43
+ | outpost | 0.965 | 0.169 | 166 |
44
+ | passed_pawn | 0.905 | 0.306 | 464 |
45
+ | pin | 0.774 | 0.466 | 1634 |
46
+ | sacrifice | 0.835 | 0.195 | 890 |
47
+ | skewer | 0.983 | 0.093 | 78 |
48
+ | weak_square | 0.916 | 0.095 | 332 |
49
+ | zugzwang | 0.992 | 0.247 | 42 |
50
 
51
  ## Usage
52
 
 
71
 
72
  ## Training Details
73
 
74
+ - **Training samples:** 28,052
75
+ - **Test samples:** 7,014
76
  - **Test split:** 20.0%
77
  - **Random seed:** 42
encoder.joblib CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:c3d5a536d01c10973723a9ddcb45a15efb28bd39845d8193563573e0c84bca39
3
- size 689
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2fc33b65739b0542f59446b52c6b75c9bb152554df48777439780299bf14e336
3
+ size 845
metadata.json CHANGED
@@ -2,20 +2,26 @@
2
  "model_config": {
3
  "layer_name": "block3/conv2/relu",
4
  "mode": "multi-label",
5
- "n_concepts": 6,
6
  "concepts": [
7
  "discovered_attack",
 
8
  "fork",
 
9
  "mating_threat",
 
10
  "passed_pawn",
11
  "pin",
12
- "sacrifice"
 
 
 
13
  ],
14
- "training_date": "2025-11-03T15:52:37.071572"
15
  },
16
  "training_info": {
17
- "n_train": 14,
18
- "n_test": 4,
19
  "test_split": 0.2,
20
  "random_seed": 42,
21
  "training_params": {
@@ -25,75 +31,187 @@
25
  },
26
  "performance": {
27
  "baseline": {
28
- "hamming_loss": 0.25,
29
- "exact_match": 0.0,
30
  "per_concept": {
31
  "discovered_attack": {
32
- "accuracy": 0.75,
33
- "f1": 0.0,
34
- "precision": 0.0,
35
- "recall": 0.0,
36
- "support": 1
 
 
 
 
 
 
 
37
  },
38
  "fork": {
39
- "accuracy": 0.75,
40
- "f1": 0.0,
41
- "precision": 0.0,
42
- "recall": 0.0,
43
- "support": 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  },
45
  "passed_pawn": {
46
- "accuracy": 0.25,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  "f1": 0.0,
48
  "precision": 0.0,
49
  "recall": 0.0,
50
- "support": 2
51
- },
52
- "pin": {
53
- "accuracy": 1.0,
54
- "f1": 1.0,
55
- "precision": 1.0,
56
- "recall": 1.0,
57
- "support": 1
58
  }
59
  }
60
  },
61
  "probe": {
62
- "hamming_loss": 0.3333333333333333,
63
- "exact_match": 0.0,
64
  "per_concept": {
65
  "discovered_attack": {
66
- "accuracy": 0.75,
67
- "f1": 0.0,
68
- "precision": 0.0,
69
- "recall": 0.0,
70
- "support": 1
 
 
 
 
 
 
 
71
  },
72
  "fork": {
73
- "accuracy": 0.75,
74
- "f1": 0.0,
75
- "precision": 0.0,
76
- "recall": 0.0,
77
- "support": 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  },
79
  "passed_pawn": {
80
- "accuracy": 0.5,
81
- "f1": 0.0,
82
- "precision": 0.0,
83
- "recall": 0.0,
84
- "support": 2
85
  },
86
  "pin": {
87
- "accuracy": 0.75,
88
- "f1": 0.0,
89
- "precision": 0.0,
90
- "recall": 0.0,
91
- "support": 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  }
93
  }
94
  },
95
- "training_samples": 14,
96
- "test_samples": 4,
97
  "test_split": 0.2,
98
  "random_seed": 42,
99
  "mode": "multi-label",
@@ -109,13 +227,12 @@
109
  "provenance": {
110
  "source_model": {
111
  "repo_id": "lczerolens/maia-1500",
112
- "filename": "model.onnx",
113
- "revision": null
114
  },
115
  "source_dataset": {
116
  "repo_id": "pilipolio/chess-positions-concepts",
117
  "filename": "data.jsonl",
118
- "revision": "test_fixture",
119
  "hash": "83ccce93d2b6120abba6953c51ecf11d14dbfba8b197e2f485ee22692d47e2c1"
120
  }
121
  }
 
2
  "model_config": {
3
  "layer_name": "block3/conv2/relu",
4
  "mode": "multi-label",
5
+ "n_concepts": 12,
6
  "concepts": [
7
  "discovered_attack",
8
+ "exposed_king",
9
  "fork",
10
+ "initiative",
11
  "mating_threat",
12
+ "outpost",
13
  "passed_pawn",
14
  "pin",
15
+ "sacrifice",
16
+ "skewer",
17
+ "weak_square",
18
+ "zugzwang"
19
  ],
20
+ "training_date": "2025-11-03T21:22:39.677162"
21
  },
22
  "training_info": {
23
+ "n_train": 28052,
24
+ "n_test": 7014,
25
  "test_split": 0.2,
26
  "random_seed": 42,
27
  "training_params": {
 
31
  },
32
  "performance": {
33
  "baseline": {
34
+ "hamming_loss": 0.14019579887843361,
35
+ "exact_match": 0.0825491873396065,
36
  "per_concept": {
37
  "discovered_attack": {
38
+ "accuracy": 0.9452523524379812,
39
+ "f1": 0.030303030303030304,
40
+ "precision": 0.031914893617021274,
41
+ "recall": 0.028846153846153848,
42
+ "support": 208
43
+ },
44
+ "exposed_king": {
45
+ "accuracy": 0.9826062161391502,
46
+ "f1": 0.016129032258064516,
47
+ "precision": 0.017241379310344827,
48
+ "recall": 0.015151515151515152,
49
+ "support": 66
50
  },
51
  "fork": {
52
+ "accuracy": 0.7680353578557171,
53
+ "f1": 0.13503455608718767,
54
+ "precision": 0.12789526686807653,
55
+ "recall": 0.14301801801801803,
56
+ "support": 888
57
+ },
58
+ "initiative": {
59
+ "accuracy": 0.9228685486170516,
60
+ "f1": 0.04585537918871252,
61
+ "precision": 0.04452054794520548,
62
+ "recall": 0.04727272727272727,
63
+ "support": 275
64
+ },
65
+ "mating_threat": {
66
+ "accuracy": 0.5578842315369261,
67
+ "f1": 0.32835174355642194,
68
+ "precision": 0.3393017009847807,
69
+ "recall": 0.3180864456567352,
70
+ "support": 2383
71
+ },
72
+ "outpost": {
73
+ "accuracy": 0.9568006843455945,
74
+ "f1": 0.0380952380952381,
75
+ "precision": 0.040268456375838924,
76
+ "recall": 0.03614457831325301,
77
+ "support": 166
78
  },
79
  "passed_pawn": {
80
+ "accuracy": 0.8776732249786142,
81
+ "f1": 0.08723404255319149,
82
+ "precision": 0.0861344537815126,
83
+ "recall": 0.08836206896551724,
84
+ "support": 464
85
+ },
86
+ "pin": {
87
+ "accuracy": 0.6444254348445965,
88
+ "f1": 0.23730886850152905,
89
+ "precision": 0.2371638141809291,
90
+ "recall": 0.23745410036719705,
91
+ "support": 1634
92
+ },
93
+ "sacrifice": {
94
+ "accuracy": 0.7822925577416595,
95
+ "f1": 0.1435782389231632,
96
+ "precision": 0.1433370660694289,
97
+ "recall": 0.14382022471910114,
98
+ "support": 890
99
+ },
100
+ "skewer": {
101
+ "accuracy": 0.9761904761904762,
102
+ "f1": 0.011834319526627219,
103
+ "precision": 0.01098901098901099,
104
+ "recall": 0.01282051282051282,
105
+ "support": 78
106
+ },
107
+ "weak_square": {
108
+ "accuracy": 0.9140290846877673,
109
+ "f1": 0.03827751196172249,
110
+ "precision": 0.04067796610169491,
111
+ "recall": 0.03614457831325301,
112
+ "support": 332
113
+ },
114
+ "zugzwang": {
115
+ "accuracy": 0.9895922440832621,
116
  "f1": 0.0,
117
  "precision": 0.0,
118
  "recall": 0.0,
119
+ "support": 42
 
 
 
 
 
 
 
120
  }
121
  }
122
  },
123
  "probe": {
124
+ "hamming_loss": 0.09789943921680448,
125
+ "exact_match": 0.2677502138579983,
126
  "per_concept": {
127
  "discovered_attack": {
128
+ "accuracy": 0.9452523524379812,
129
+ "f1": 0.07692307692307693,
130
+ "precision": 0.07692307692307693,
131
+ "recall": 0.07692307692307693,
132
+ "support": 208
133
+ },
134
+ "exposed_king": {
135
+ "accuracy": 0.9865982321072141,
136
+ "f1": 0.020833333333333332,
137
+ "precision": 0.03333333333333333,
138
+ "recall": 0.015151515151515152,
139
+ "support": 66
140
  },
141
  "fork": {
142
+ "accuracy": 0.844311377245509,
143
+ "f1": 0.28346456692913385,
144
+ "precision": 0.33962264150943394,
145
+ "recall": 0.24324324324324326,
146
+ "support": 888
147
+ },
148
+ "initiative": {
149
+ "accuracy": 0.9294268605645851,
150
+ "f1": 0.06072106261859583,
151
+ "precision": 0.06349206349206349,
152
+ "recall": 0.05818181818181818,
153
+ "support": 275
154
+ },
155
+ "mating_threat": {
156
+ "accuracy": 0.7492158540062732,
157
+ "f1": 0.6067516208361279,
158
+ "precision": 0.6492822966507177,
159
+ "recall": 0.5694502727654217,
160
+ "support": 2383
161
+ },
162
+ "outpost": {
163
+ "accuracy": 0.9649272882805817,
164
+ "f1": 0.16891891891891891,
165
+ "precision": 0.19230769230769232,
166
+ "recall": 0.15060240963855423,
167
+ "support": 166
168
  },
169
  "passed_pawn": {
170
+ "accuracy": 0.9047619047619048,
171
+ "f1": 0.30561330561330563,
172
+ "precision": 0.29518072289156627,
173
+ "recall": 0.3168103448275862,
174
+ "support": 464
175
  },
176
  "pin": {
177
+ "accuracy": 0.7740233818078129,
178
+ "f1": 0.46579036063363666,
179
+ "precision": 0.5183795948987246,
180
+ "recall": 0.4228886168910649,
181
+ "support": 1634
182
+ },
183
+ "sacrifice": {
184
+ "accuracy": 0.8351867693185059,
185
+ "f1": 0.19498607242339833,
186
+ "precision": 0.2564102564102564,
187
+ "recall": 0.15730337078651685,
188
+ "support": 890
189
+ },
190
+ "skewer": {
191
+ "accuracy": 0.9833190761334474,
192
+ "f1": 0.09302325581395349,
193
+ "precision": 0.11764705882352941,
194
+ "recall": 0.07692307692307693,
195
+ "support": 78
196
+ },
197
+ "weak_square": {
198
+ "accuracy": 0.9160250926717992,
199
+ "f1": 0.09523809523809523,
200
+ "precision": 0.09717868338557993,
201
+ "recall": 0.09337349397590361,
202
+ "support": 332
203
+ },
204
+ "zugzwang": {
205
+ "accuracy": 0.9921585400627316,
206
+ "f1": 0.2465753424657534,
207
+ "precision": 0.2903225806451613,
208
+ "recall": 0.21428571428571427,
209
+ "support": 42
210
  }
211
  }
212
  },
213
+ "training_samples": 28052,
214
+ "test_samples": 7014,
215
  "test_split": 0.2,
216
  "random_seed": 42,
217
  "mode": "multi-label",
 
227
  "provenance": {
228
  "source_model": {
229
  "repo_id": "lczerolens/maia-1500",
230
+ "filename": "model.onnx"
 
231
  },
232
  "source_dataset": {
233
  "repo_id": "pilipolio/chess-positions-concepts",
234
  "filename": "data.jsonl",
235
+ "revision": null,
236
  "hash": "83ccce93d2b6120abba6953c51ecf11d14dbfba8b197e2f485ee22692d47e2c1"
237
  }
238
  }
model.joblib CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:ec7a9e3cb690694ce93392e330af0168d45304ebe4b509f4ac7dddaac7828d24
3
- size 134419
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b034dd2c0df2e3c71ce4cdfbc16547bdad5b038a50d965402d2e51681248dded
3
+ size 400483