Commit 9b22a8b
committed
Fix parallel-call eval scoring, Muon update, and assorted correctness issues
Evaluation (training/eval.py)
- Score calls as multisets so identical parallel calls are no longer
collapsed by set-dedup (fixes call precision/recall on parallel).
- Match predicted args to distinct reference instances via greedy
bipartite matching instead of always ref[0], fixing value_acc and the
param metrics for parallel_multiple.
- Add BFCL-style category buckets (simple / multiple / parallel /
parallel_multiple) plus irrelevance, relevance and false-trigger rates.
- Split the scoring out into a pure score_tool_calls() so it can be
exercised without a checkpoint.
Training
- Muon: apply Nesterov momentum to the raw gradient and orthogonalize the
blended update. The previous order orthogonalized first and ran momentum
on the orthogonal factors, so the applied update was a sum of orthogonal
matrices (not itself orthogonal). Also add aspect-ratio update scaling.
- Mask z-loss to non-pad positions in both train and pretrain; CE was
already masked, so z-loss magnitude was scaling with the padding fraction.
Inference (model/run.py, model/architecture.py)
- decode() can project only the current position to the vocab, avoiding the
full-buffer (B,T,d)@(d,V) matmul at every step. Numerically identical.
- Stream the decode delta of the whole sequence rather than decoding each
token in isolation, which dropped SentencePiece spaces and split
multibyte byte-fallback pieces.
Data (dataset/dataset.py, dataset/generate.py)
- Weight all repeated tool names / argument values in the loss mask, not
just the first occurrence (matters for parallel calls).
- Match the boolean-polarity validator on whole words rather than
substrings ("on" was matching inside "location", "song", ...), which had
effectively disabled the inverted-boolean filter.
Signed-off-by: Joe Khawand <93840910+Joe-Khawand@users.noreply.github.com>1 parent 6fdddb8 commit 9b22a8b
8 files changed
Lines changed: 282 additions & 169 deletions
File tree
- needle
- dataset
- model
- training
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
75 | 80 | | |
76 | 81 | | |
77 | 82 | | |
78 | 83 | | |
79 | 84 | | |
80 | 85 | | |
81 | 86 | | |
| 87 | + | |
| 88 | + | |
82 | 89 | | |
83 | | - | |
| 90 | + | |
84 | 91 | | |
85 | 92 | | |
86 | 93 | | |
| |||
89 | 96 | | |
90 | 97 | | |
91 | 98 | | |
92 | | - | |
93 | 99 | | |
94 | 100 | | |
95 | 101 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1247 | 1247 | | |
1248 | 1248 | | |
1249 | 1249 | | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
1250 | 1271 | | |
1251 | 1272 | | |
1252 | 1273 | | |
| |||
1297 | 1318 | | |
1298 | 1319 | | |
1299 | 1320 | | |
1300 | | - | |
1301 | | - | |
1302 | | - | |
1303 | | - | |
1304 | | - | |
1305 | | - | |
1306 | | - | |
1307 | | - | |
| 1321 | + | |
1308 | 1322 | | |
1309 | 1323 | | |
1310 | 1324 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
355 | 355 | | |
356 | 356 | | |
357 | 357 | | |
358 | | - | |
359 | | - | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
360 | 366 | | |
361 | 367 | | |
362 | 368 | | |
| 369 | + | |
| 370 | + | |
363 | 371 | | |
364 | 372 | | |
365 | 373 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
| 74 | + | |
75 | 75 | | |
76 | 76 | | |
77 | | - | |
| 77 | + | |
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| |||
140 | 140 | | |
141 | 141 | | |
142 | 142 | | |
143 | | - | |
| 143 | + | |
| 144 | + | |
144 | 145 | | |
145 | 146 | | |
146 | | - | |
| 147 | + | |
147 | 148 | | |
148 | 149 | | |
149 | 150 | | |
| |||
162 | 163 | | |
163 | 164 | | |
164 | 165 | | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
169 | 178 | | |
170 | 179 | | |
171 | 180 | | |
| |||
229 | 238 | | |
230 | 239 | | |
231 | 240 | | |
232 | | - | |
| 241 | + | |
233 | 242 | | |
234 | 243 | | |
235 | 244 | | |
236 | 245 | | |
237 | 246 | | |
238 | 247 | | |
239 | | - | |
| 248 | + | |
240 | 249 | | |
241 | 250 | | |
242 | 251 | | |
243 | | - | |
| 252 | + | |
244 | 253 | | |
245 | 254 | | |
246 | 255 | | |
| |||
252 | 261 | | |
253 | 262 | | |
254 | 263 | | |
255 | | - | |
| 264 | + | |
256 | 265 | | |
257 | 266 | | |
258 | 267 | | |
| |||
0 commit comments