File size: 159,314 Bytes
40ff5b8
 
 
 
 
 
 
b48f141
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40ff5b8
 
 
fd297e7
 
 
 
 
 
 
 
08dd72a
fd297e7
 
 
08dd72a
 
 
fd297e7
08dd72a
fd297e7
 
 
b48f141
 
 
7604980
b48f141
0448533
b48f141
0448533
b48f141
c86623c
b48f141
 
7604980
0448533
fd297e7
b48f141
 
 
 
 
 
 
 
 
 
40ff5b8
b48f141
 
 
 
 
 
 
 
 
 
 
 
 
a6c01a9
 
3dcf5f7
b61cff5
47f9e7f
 
b700997
4e1f29f
40ff5b8
3dcf5f7
fd297e7
a32d5bb
b48f141
 
601aa62
 
3453480
601aa62
 
3453480
a32d5bb
 
 
601aa62
3453480
b700997
 
47f9e7f
b700997
47f9e7f
3453480
4e1f29f
3453480
 
 
 
b61cff5
3453480
 
 
b700997
3453480
 
 
 
 
 
601aa62
0448533
fd297e7
3dcf5f7
 
 
 
 
 
 
 
 
 
 
 
b61cff5
3dcf5f7
b61cff5
 
fd297e7
601aa62
 
 
b48f141
 
 
40ff5b8
601aa62
 
a32d5bb
40ff5b8
601aa62
0448533
fd297e7
b700997
fd297e7
40ff5b8
b700997
 
601aa62
 
7604980
 
a32d5bb
47f9e7f
b700997
40ff5b8
fd297e7
47f9e7f
 
 
 
 
 
 
 
 
 
 
 
 
 
fd297e7
b700997
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4e1f29f
b700997
 
fd297e7
4e1f29f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fd297e7
b700997
 
4e1f29f
064ffcc
fd297e7
 
 
 
08dd72a
fd297e7
 
08dd72a
 
 
 
fd297e7
08dd72a
 
 
 
 
 
1706bda
 
064ffcc
 
 
fd297e7
1706bda
 
 
 
 
 
 
 
 
064ffcc
1706bda
 
064ffcc
 
 
1706bda
064ffcc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1706bda
064ffcc
1706bda
064ffcc
08dd72a
 
fd297e7
08dd72a
 
 
 
fd297e7
08dd72a
 
 
 
fd297e7
08dd72a
 
 
4124961
 
fd297e7
08dd72a
 
 
 
 
 
4124961
fd297e7
4124961
 
 
 
 
 
 
 
 
 
 
 
 
 
fd297e7
064ffcc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
08dd72a
064ffcc
 
 
 
 
 
08dd72a
 
 
 
 
08b0e6a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fd297e7
08dd72a
 
fd297e7
 
064ffcc
08dd72a
064ffcc
08dd72a
064ffcc
fd297e7
064ffcc
fd297e7
08dd72a
fd297e7
08dd72a
fd297e7
08b0e6a
064ffcc
08b0e6a
064ffcc
 
fd297e7
064ffcc
40ff5b8
 
af56428
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Aspaklarya - Qwen3-VL-8B finetuning</title>
<link rel="stylesheet" href="style.css">
<style>
:root { color-scheme: light dark; }
body { margin: 0; padding: 2.5rem 1.5rem 4rem; font-family: ui-sans-serif, system-ui,
 -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6;
 color: #1f2328; background: #fff; }
main { max-width: 1000px; margin: 0 auto; }
h1 { font-size: 1.9rem; line-height: 1.25; border-bottom: 1px solid #d8dee4;
 padding-bottom: .4rem; }
h2 { font-size: 1.3rem; margin-top: 2.2rem; border-bottom: 1px solid #d8dee4;
 padding-bottom: .3rem; }
p, li { font-size: .95rem; }
code { background: #f0f1f3; padding: .1rem .3rem; border-radius: 4px; font-size: .85em; }
table { border-collapse: collapse; width: 100%; margin: 1rem 0; font-size: .82rem;
 display: block; overflow-x: auto; }
th, td { border: 1px solid #d8dee4; padding: .38rem .55rem; text-align: left;
 white-space: nowrap; }
th { background: #f6f8fa; font-weight: 600; }
tbody tr:nth-child(even) { background: #fbfcfd; }
a { color: #0969da; }
@media (prefers-color-scheme: dark) {
  body { color: #e6edf3; background: #0d1117; }
  h1, h2 { border-color: #30363d; }
  th, td { border-color: #30363d; }
  th { background: #161b22; }
  tbody tr:nth-child(even) { background: #11161d; }
  code { background: #161b22; }
  a { color: #4493f8; }
}
</style>
</head>
<body>
<main>
<h1>Aspaklarya - Qwen3-VL-8B for remote-sensing VQA + captioning</h1>
<p>LoRA finetunes of <strong>Qwen3-VL-8B-Instruct</strong>, trained jointly on <strong>visual question answering</strong> and <strong>image captioning</strong> over overhead imagery. All model repos are private.</p>
<p>The programme has run in <strong>two rounds against two different answer styles</strong>. They are not comparable to each other and are not scored on the same benchmark.</p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap"></th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Round 0XX</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Round 1XX</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">runs</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-001 ... 021 (21, 20 evaluated)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-101 ... 107</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">VQA column</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>VQA</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>VQA_1126</code></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">reference answers</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">~4 characters (<code>yes</code>, <code>3</code>, <code>river</code>)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">~300 characters, grounded reasoning</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">model output</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">one word</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">270-295 characters</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">benchmark</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1,000-image union draw, 2,000 graded items</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">four-slice seed-1105 draw, 1,991 graded items</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">best</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-020-step4500</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-101-step4500</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">what it answered</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">hyperparameters are saturated, data is the lever</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">verbose supervision is worth +8 on DM VQA; data is still the only lever</td></tr>
</tbody></table>
<p>Both rounds are now scored on the <strong>same four-slice benchmark</strong>, so the MEAN4 column below is comparable across rounds. The <em>legacy</em> and <em>new VQA</em> columns individually are not: The two benchmarks reward opposite answer styles; see <em>Why the legacy score drops</em> below.</p>
<h2>Round 0XX - terse answers (Aspaklarya-001 ... 021)</h2>
<p>The original 21-experiment programme, trained on the one-word <code>VQA</code> column and scored on the 1,000-image union draw. Everything below this heading refers to that round only.</p>
<h3>Setup</h3>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Item</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Value</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Base</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Qwen3-VL-8B-Instruct</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Method</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">LoRA (Unsloth), bf16 compute; 4-bit base for runs 001-017, <strong>bf16 base from 018 on</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Targets</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">all linear layers, vision + language towers</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Data</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">6,288 images / 18,864 samples for runs 001-019; <strong>11,994 / 35,981 for 020-021</strong> (1 caption + 2 QA each)</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Caption prompts</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">sampled from a 30-prompt pool, so the model learns the task not one phrasing</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Eval</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">fixed 1000-image draw = 2000 graded items, same seed for every model</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Scoring</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">LLM-as-judge, 0-100 per item</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">References</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">stock Qwen3-VL-8B, plus an in-house finetuned model</td></tr>
</tbody></table>
<p>Winners are merged into the bf16 base and re-validated. For runs 001-017 that merge also removes a train/serve mismatch, since those adapters were fitted on a 4-bit base but are served from bf16 weights; runs 018 onward have no such mismatch.</p>
<h3>Configurations</h3>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Model</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">r / alpha</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Dropout</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">LR</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Sched</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Vision</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Per image</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Items</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Change</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-001</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">reference recipe</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-002</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">32 / 64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.05</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">cosine</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">higher rank, lower LR</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-003</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2c + 4q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">37,728</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2x resampled data</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-004</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>frozen</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">language-only</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-005</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">cosine</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 6q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">43,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">VQA-heavy</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-006</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">batch 4 x accum 8</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-007</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">8 / 8</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">low rank</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-008</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 4q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">31,440</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">more QA, lower LR</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-009</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">32 / 32</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">high rank</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-010</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">wider prompt pool</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-011</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.05</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">dropout, wd 0.05, clip 1.0</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-012</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">as 011, no dropout</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-013</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">low LR, long schedule</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-014</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">effective batch 16</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-015</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">effective batch 64</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-016</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>4e-4</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">batch 64 + linear LR scaling</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-017</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>3e-4</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">batch 64 + sqrt LR scaling</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-018</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>bf16 base</strong> (no 4-bit)</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-019</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.05</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,864</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>bf16 base</strong> + 011 recipe</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-020</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>35,981</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">bf16 base + <strong>+91% data</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-021</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16 / 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1c + 2q</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>35,981</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">as 020, <strong>8 epochs</strong> not 4</td></tr>
</tbody></table>
<p>Constant everywhere: effective batch 32 (except 014 at 16, 015-017 at 64), warmup 0.03, grad clip 0.3 (1.0 for 011/012), seed 3407.</p>
<h3>Results</h3>
<p>Best checkpoint per run on a fixed 1000-image draw (2000 graded items), with bootstrap standard error. <strong>Overall</strong> = mean of caption and VQA. <strong>In-dom.</strong> = the target overhead-imagery subset (491 images); <strong>RSICD</strong> = the public RSICD remote-sensing benchmark subset (509 images). Sorted by in-domain overall; <strong>bold marks the best value in each column</strong>.</p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Model</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">In-dom. cap</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">In-dom. vqa</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">In-dom. overall</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">All cap</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">All vqa</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">All overall</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">RSICD cap</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">RSICD vqa</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">RSICD overall</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-011</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.85 ±0.66</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">83.51 ±1.48</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>82.68 ±0.84</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.92 ±0.49</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.78 ±1.13</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.85 ±0.64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.06 ±0.67</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">68.33 ±1.64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.20 ±0.92</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-019</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.39 ±0.65</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.82 ±1.48</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.61 ±0.85</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.33 ±0.48</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.91 ±1.13</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.12 ±0.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.34 ±0.70</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.24 ±1.62</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.79 ±0.89</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>Aspaklarya-020</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>82.74 ±0.67</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.10 ±1.50</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.42 ±0.85</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>81.31 ±0.47</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">76.08 ±1.13</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>78.70 ±0.63</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>79.93 ±0.63</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">70.28 ±1.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>75.10 ±0.91</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-001</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.84 ±0.66</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">83.23 ±1.44</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.54 ±0.81</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.97 ±0.48</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.94 ±1.12</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.95 ±0.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.17 ±0.69</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">68.89 ±1.66</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.53 ±0.93</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-018</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.28 ±0.69</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.70 ±1.51</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.49 ±0.86</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.46 ±0.49</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.80 ±1.11</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.13 ±0.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.70 ±0.67</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.15 ±1.61</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.92 ±0.90</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-015</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.14 ±0.64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.76 ±1.46</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.45 ±0.82</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.07 ±0.49</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">74.73 ±1.13</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.40 ±0.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.07 ±0.72</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">66.98 ±1.65</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">72.52 ±0.92</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-006</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.40 ±0.71</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.95 ±1.50</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.18 ±0.90</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.81 ±0.50</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.79 ±1.12</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.80 ±0.65</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.26 ±0.68</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">68.88 ±1.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.57 ±0.91</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-021</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.14 ±0.70</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.93 ±1.53</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.03 ±0.88</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.93 ±0.48</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.41 ±1.13</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.17 ±0.65</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.76 ±0.64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.12 ±1.65</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">74.44 ±0.92</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-005</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.37 ±0.67</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.37 ±1.50</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.87 ±0.85</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.55 ±0.49</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.74 ±1.11</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.64 ±0.62</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.79 ±0.71</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.35 ±1.65</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.57 ±0.93</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-012</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.68 ±0.66</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.05 ±1.53</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.86 ±0.86</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.73 ±0.48</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.02 ±1.13</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.37 ±0.64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.85 ±0.71</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">68.23 ±1.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.04 ±0.90</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-014</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.51 ±0.67</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.93 ±1.48</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.72 ±0.83</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.95 ±0.49</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">74.77 ±1.13</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.36 ±0.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.45 ±0.71</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">67.87 ±1.66</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.16 ±0.92</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-003</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.23 ±0.71</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.18 ±1.47</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.71 ±0.85</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.55 ±0.49</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.52 ±1.12</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.53 ±0.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.92 ±0.66</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.10 ±1.66</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.51 ±0.91</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-017</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.49 ±0.67</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.86 ±1.48</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.67 ±0.85</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.50 ±0.50</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.73 ±1.10</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.62 ±0.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.59 ±0.70</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.83 ±1.60</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.71 ±0.89</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-001 (ep5)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.60 ±0.72</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.25 ±1.49</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.42 ±0.84</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.30 ±0.50</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>76.17 ±1.12</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.73 ±0.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.05 ±0.69</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>70.31 ±1.64</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">74.18 ±0.91</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-013</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.58 ±0.69</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.20 ±1.48</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.39 ±0.84</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.11 ±0.49</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.35 ±1.10</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.23 ±0.61</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.70 ±0.69</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">68.74 ±1.60</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.22 ±0.90</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-009</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.01 ±0.71</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.34 ±1.46</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.18 ±0.84</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.53 ±0.52</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.85 ±1.11</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.19 ±0.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.09 ±0.73</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.59 ±1.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.34 ±0.91</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-008</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.62 ±0.74</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.42 ±1.51</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.02 ±0.86</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.82 ±0.50</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.40 ±1.12</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.61 ±0.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.05 ±0.65</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.60 ±1.62</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">74.33 ±0.89</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-007</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.13 ±0.71</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.82 ±1.51</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.97 ±0.86</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.33 ±0.51</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.33 ±1.12</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.33 ±0.64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.60 ±0.70</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">70.03 ±1.62</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.81 ±0.90</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-004</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.31 ±0.72</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.47 ±1.48</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.89 ±0.84</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.76 ±0.51</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.33 ±1.11</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.04 ±0.64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.26 ±0.74</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.40 ±1.61</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.33 ±0.92</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-002</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.70 ±0.72</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.63 ±1.51</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.67 ±0.85</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.36 ±0.50</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">74.33 ±1.13</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">76.85 ±0.64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.07 ±0.71</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">68.25 ±1.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.16 ±0.92</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-010</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.50 ±0.74</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.66 ±1.58</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.58 ±0.90</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.88 ±0.52</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">74.28 ±1.13</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">76.58 ±0.64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.32 ±0.72</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">68.12 ±1.65</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">72.72 ±0.91</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">in-house reference</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">71.88 ±1.23</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>83.62 ±1.49</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.75 ±1.02</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">65.18 ±0.83</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.34 ±1.13</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.26 ±0.74</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">58.72 ±1.09</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">63.44 ±1.62</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">61.08 ±1.02</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Qwen3-VL-8B (base)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">68.37 ±0.89</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">58.94 ±1.50</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">63.66 ±0.92</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">65.68 ±0.66</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">56.01 ±1.01</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">60.84 ±0.62</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">63.07 ±0.94</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">53.18 ±1.46</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">58.13 ±0.91</td></tr>
</tbody></table>
<p>Every finetune beats both references overall. The selected model, Aspaklarya-020, is <strong>+17.9</strong> over the base model and <strong>+9.4</strong> over the in-house reference on the full set.</p>
<h3>Learning rate at large batch</h3>
<p>Aspaklarya-015 gave the best captioning in the table at effective batch 64, but it was trained at 2e-4 — the rate tuned for batch 32. Two follow-ups tested whether the batch-64 recipe was simply under-stepped. Scores below come from a separate 500-image draw used for live checkpoint selection, so they compare only with each other.</p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">LR at batch 64</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">ep 1</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">ep 2</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">ep 3</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">ep 4</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">ep 5</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Outcome</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4 (015)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">76.92</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.03</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.25</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>77.92</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">peak at epoch 5</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4e-4 (016)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>77.67</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">76.93</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">76.42</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">76.89</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">—</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">stopped at epoch 4, declining</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">3e-4 (017)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.00</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">76.56</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.68</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.86</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">peak at epoch 5, stopped at epoch 6</td></tr>
</tbody></table>
<p>Linear LR scaling is <strong>wrong</strong> for LoRA here: 4e-4 peaked at epoch 1 and then lost ground at every later checkpoint, ending below where 2e-4 started. The adapter&#x27;s effective step size does not follow the full-finetune scaling rule, so raising LR with batch size overshoots rather than compensating. The intermediate rate 3e-4 traced almost exactly the same curve as 2e-4 and peaked at the same epoch, one tenth of a point lower.</p>
<p>On the shared 1000-image set, neither batch-64 rate beat the reference: 2e-4 is <strong>-0.56</strong> overall and <strong>-0.09</strong> in-domain, 3e-4 is <strong>-0.34</strong> and <strong>-0.87</strong>. Effective batch 64 is therefore refuted at every learning rate tried, and the loss is consistently in VQA while captioning holds or improves. Together with the batch-16 result this closes the batch-size and learning-rate axes: <strong>no hyperparameter lever remains untested</strong>, and further gains have to come from the training data.</p>
<h3>Error bars</h3>
<p>Bootstrap over images, 3000 resamples. Absolute standard error:</p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Slice</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Caption</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">VQA</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Overall</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">All (1000 img)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.48</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.12</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.63</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">In-domain (491)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.66</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.46</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.82</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">RSICD (509)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.69</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.91</td></tr>
</tbody></table>
<p>Paired model-vs-model error is smaller because image difficulty cancels: <strong>0.42</strong> overall on the full set, <strong>0.56</strong> in-domain. Use the paired figure for any &quot;A beats B&quot; claim.</p>
<p>Applied exhaustively to the five leading checkpoints (020, 018, 019, 001, 011), the paired bootstrap separates <strong>0 of 10 pairs overall and 0 of 10 in-domain</strong> at 95% — in-domain every pair sits at p ≥ 0.67. The only significant pairs anywhere are three on the RSICD slice, all of them 020 against another model. <strong>The ordering of the results table below the top line is not a measurement.</strong></p>
<h3>Caveat</h3>
<p>The hyperparameter runs are statistically tied with each other: among runs 001-019, every confidence interval against the leader straddles zero. <strong>VQA error is ~2.3x caption error</strong>, so no finetune-vs-finetune VQA difference in any column is resolvable; only caption gaps, the gaps to the two references, and the data-scaling result of run 020 are real. Doubling the eval set from 500 to 1000 images did not separate the tied field, and it reshuffled its order.</p>
<h3>Findings</h3>
<ul>
<li><strong>Hyperparameters are saturated; data is not.</strong> LR, rank, alpha, dropout, weight decay, gradient clipping, batch geometry, effective batch size, LR scaling at large batch and base-weight precision were all swept without beating the noise floor. Adding 91% more training images cleared it on the first attempt.</li>
<li><strong>The slices disagree — but data breaks the trade.</strong> Ranking by in-domain score almost inverts the RSICD ranking, and every hyperparameter lever that moved one slice moved the other the opposite way. Extra data is the exception: it lifted RSICD by 1.57 while leaving in-domain unchanged.</li>
<li><strong>Captioning is the real gain.</strong> It improves on every slice, by +14 over the base model and +10 to +19 over the in-house reference.</li>
<li><strong>The in-domain VQA win is not established.</strong> The in-house reference posts the single highest in-domain VQA score in the table; it collapses outside that domain, where it falls below the untuned base model.</li>
<li><strong>The vision tower matters.</strong> Freezing it is the one ablation that consistently hurt.</li>
<li><strong>Extra QA per image does not help.</strong> 4-QA and 6-QA mixtures tie with 2-QA.</li>
<li><strong>Larger batch trades generality for domain fit.</strong> Effective batch 64 gives the best in-domain captioning in the table and the worst RSICD VQA.</li>
<li><strong>Training in bf16 instead of 4-bit is a small, consistent positive</strong> — the only change in the whole sweep that never loses on any slice — but it is still inside the error bar.</li>
<li><strong>Data is the remaining lever</strong>, not hyperparameters — and it is not exhausted: the run that used it had not converged when its schedule ended.</li>
</ul>
<h3>Base-weight precision</h3>
<p>Runs 001-017 all trained their adapters against <strong>4-bit quantized</strong> base weights, while evaluation and the final merge both use the <strong>bf16</strong> base. That is a train/serve mismatch: the adapter was fitted to compensate for quantization error that is absent at inference time.</p>
<p>Runs <strong>018</strong> and <strong>019</strong> repeat the two strongest recipes with the base loaded in bf16 and nothing else changed. Against the reference, paired on 1000 images:</p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">run</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">overall</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">in-domain</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">RSICD</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-018</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>+0.17 ±0.42</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">-0.05 ±0.59</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>+0.39 ±0.59</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-019</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>+0.16 ±0.40</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>+0.07 ±0.57</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>+0.25 ±0.57</strong></td></tr>
</tbody></table>
<p>These are the first two runs in the sweep to post a positive overall delta, and <strong>018</strong> is the only run that is not worse than the reference on any slice. Both are still well inside the paired error bar (p = 0.34 that each is in fact worse), so neither is promoted.</p>
<p>The mechanism is not the expected one. Removing quantization error should mostly help the harder task, VQA; instead the gain is <strong>entirely in captioning</strong> (+0.48 and +0.35) while VQA is flat to slightly negative. That is the same caption-up / VQA-flat signature produced by every other lever in the sweep, which suggests precision is acting through the same saturated channel rather than unlocking anything new.</p>
<p>Removing quantization also costs <strong>~9 GB of GPU memory</strong> during training (19 GB vs 10 GB), which is a real constraint on a shared 40 GB card.</p>
<h3>Training data</h3>
<p>Every run up to 017 trained on 6,288 images / 18,864 samples. The source table also carries <strong>5,706 further images</strong> that the dataset author left unassigned (<code>Notes == other</code>, RSICD only). They are fully populated, statistically indistinguishable from the assigned training rows, and have <strong>zero image-name overlap with either the train or the validation split</strong>, so they are safe to train on.</p>
<p><strong>Aspaklarya-020</strong> adds them, taking training data to 11,994 images / 35,981 samples (<strong>+91%</strong>). Everything else is identical to 018. Paired against the previous selection on the same 1000 images:</p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">slice</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">delta</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">95% CI</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">p(worse)</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">overall</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>+0.74 ±0.47</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">[-0.17, 1.66]</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.059</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">in-domain</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">-0.12 ±0.63</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">[-1.37, 1.10]</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.570</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>RSICD</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>+1.57 ±0.68</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>[0.22, 2.87]</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>0.012</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">caption (all)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>+1.34 ±0.42</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">—</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">—</td></tr>
</tbody></table>
<p><strong>This is the first change in the whole programme to clear the error bar.</strong> The RSICD interval excludes zero, and the overall caption gain is 3.2 standard errors. It is also the first result that does <strong>not</strong> trade one slice against the other: in-domain is a clean tie while the general slice moves.</p>
<p>Two further points matter for anyone repeating this:</p>
<ul>
<li><strong>The in-domain penalty is transient.</strong> At matched optimizer steps the extra data looked actively harmful early — step 2,360 was 1.65 behind on in-domain — and that deficit had vanished by step 4,500. Stopping early would have refuted the best run in the programme.</li>
<li><strong>The climb to the final checkpoint was schedule, not headroom.</strong> Overall score rose at all seven checkpoints including the last, which suggested an unexhausted budget. <strong>Aspaklarya-021 tested that directly and refuted it</strong> — see below.</li>
</ul>
<p>More data is therefore the live axis, and the only one still producing movement.</p>
<h3>Schedule length</h3>
<p><strong>Aspaklarya-021</strong> repeats 020 on the same enlarged corpus with <strong>8 epochs instead of 4</strong> (9,000 steps, checkpoints step-aligned with 020). It peaked at step 4,720 and then declined; the stop rule ended it at step 5,900 with 3,100 steps unspent.</p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">step</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">overall</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">caption</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">vqa</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">in-domain</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1,180</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.66</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.19</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">76.12</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.56</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2,360</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.23</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.55</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">75.92</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.25</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">3,540</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.37</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.33</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">76.41</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.18</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>4,720</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>78.69</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.86</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>76.52</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.39</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">5,900</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.60</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.75</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">74.45</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.15</td></tr>
</tbody></table>
<p>Its best checkpoint, paired against 020 on the same 1000 images, is negative on every slice and significant on none: overall <strong>-0.53 ±0.43</strong>, in-domain <strong>-0.39 ±0.60</strong>, RSICD <strong>-0.66 ±0.64</strong>.</p>
<p><strong>Data volume helped; data duration did not.</strong> Four epochs is already the right length at this corpus size.</p>
<p>The failure mode is asymmetric and worth recording: at step 5,900 <strong>captioning was intact (80.75) while VQA collapsed (76.52 → 74.45)</strong>. Overtraining this recipe degrades VQA first, so a stop rule watching captioning alone would not catch it.</p>
<h3>Status</h3>
<p>The <strong>hyperparameter</strong> search is closed. Rank, alpha, dropout, learning rate, schedule, weight decay, gradient clipping, vision-tower freezing, QA-per-image, caption prompt pool, batch geometry, effective batch size, learning rate at large batch and base-weight precision were all swept across 19 recipes under identical conditions. None displaced the reference recipe by more than the paired error bar.</p>
<p>Batch size and learning rate illustrate that ceiling. Effective batch 16 came in at <strong>-0.59</strong> overall, batch 64 at 2e-4 at <strong>-0.56</strong>, and batch 64 at 3e-4 at <strong>-0.34</strong> overall and <strong>-0.87</strong> in-domain; batch 64 at 4e-4 was stopped at epoch 4 while declining. In each case captioning held steady or improved while VQA fell.</p>
<p>Enlarging the training set did what none of those could, and training it longer did not extend the gain. That narrows the remaining question to <strong>data composition</strong>: the corpus added was RSICD-only, and the gain it produced is correspondingly RSICD-only while in-domain stays flat. Additional in-domain imagery is the targeted next step.</p>
<h2>Round 1XX - verbose grounded answers (Aspaklarya-101 ... 111)</h2>
<h3>Why a second round</h3>
<p>The 0XX round closed with hyperparameters saturated and data identified as the only live lever. It also left a product problem: every 0XX model answers in one word, because its supervision was one word. <code>yes</code> is a correct answer to <em>&quot;are there any anomalies in the scene?&quot;</em> and a useless one.</p>
<p>The dataset author then supplied a new column, <strong><code>VQA_1126</code></strong>, replacing the terse answers for the in-domain (DM) images with ~300-character grounded answers that name objects, locations and context. The RSICD rows are byte-identical to the old column; only the 5,148 DM rows changed, from a mean of 5.9 characters to ~304.</p>
<h3>Configurations</h3>
<p>All runs share one corpus recipe - <code>VQA_1126</code>, 1 caption + 2 QA per image - and one optimiser: bf16 base, seed 3407, lr 2e-4, linear schedule, warmup 0.03, weight decay 0.001, grad clip 0.3, effective batch 32 (4 x 8), 4 epochs, max seq 2048, vision tower trained. <strong>One variable each.</strong></p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Model</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">variable</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">split</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">items / images</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">cost</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-101</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>1.9x data</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train,other</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">35,979 / 11,994</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">9.8 h</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-102</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">reference</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,862 / 6,288</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">5.4 h</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-103</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">LoRA <strong>rank</strong> 16 -&gt; 32, scale held at 1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,862 / 6,288</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">5.4 h</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-104</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">LoRA <strong>scale</strong> <code>alpha/r</code> 1.0 -&gt; 2.0, rank 16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,862 / 6,288</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">5.4 h</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-105</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>objective balance</strong>, <code>w_caption</code> 1.0 -&gt; 0.4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,862 / 6,288</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">5.4 h</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-106</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>LoRA soup</strong> of the four epoch-3 adapters</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>0 h</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-107</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>cosine</strong> schedule, lr 1e-4, warmup 0.10, 3 epochs</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,862 / 6,288</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">3.8 h</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-108</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>seed replication</strong> of 102 (1234, 2024)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,862 / 6,288</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2 x 5.4 h</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-109</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>seed replication</strong> of 101 (1234)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train,other</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">35,979 / 11,994</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">9.9 h</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-110</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>seed replication</strong> of 101 (2024)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train,other</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">35,979 / 11,994</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">11.2 h</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-111</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>QA depth</strong> 2 -&gt; 4 per image, caption 1 -&gt; 2</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train,other</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">71,944 / 11,994</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">~16 h</td></tr>
</tbody></table>
<h3>Hyperparameters in full</h3>
<p>Every value actually passed to the trainer, read back from each run&#x27;s <code>run_config.json</code>. Cells that differ from the Aspaklarya-102 reference are <strong>bold</strong> - that is the single variable the run was built to test.</p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap"></th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">101</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">102 (ref)</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">103</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">104</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">105</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">106 / 106b</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">107</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">108</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">109</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">110</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">111</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">split</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong><code>train,other</code></strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong><code>train,other</code></strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong><code>train,other</code></strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong><code>train,other</code></strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">QA per image</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>4</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">captions per image</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>2</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">items</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>35,979</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,862</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,862</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,862</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,862</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,862</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,862</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>35,979</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>35,979</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>71,944</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">images</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>11,994</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">6,288</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">6,288</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">6,288</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">6,288</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">6,288</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">6,288</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>11,994</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>11,994</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>11,994</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">LoRA rank</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>32</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">LoRA alpha</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>32</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>32</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">16</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">scale <code>alpha/r</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>2.0</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">LoRA dropout</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">vision tower</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">trained</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>w_caption</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>0.4</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>w_vqa</code></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">loss weighting</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">token</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">token</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">token</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">token</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">token</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">token</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">token</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">token</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">token</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">token</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">epochs</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>3</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>3</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">learning rate</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>1e-4</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2e-4</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">scheduler</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>cosine</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">linear</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">warmup ratio</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.03</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.03</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.03</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.03</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.03</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>0.10</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.03</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.03</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.03</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.03</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">weight decay</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.001</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.001</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.001</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.001</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.001</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.001</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.001</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.001</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.001</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.001</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">grad clip</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.3</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.3</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.3</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.3</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.3</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.3</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.3</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.3</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.3</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.3</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">batch x accum</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4 x 8</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4 x 8</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4 x 8</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4 x 8</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4 x 8</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4 x 8</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4 x 8</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4 x 8</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4 x 8</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4 x 8</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">effective batch</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">32</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">32</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">32</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">32</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">32</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">32</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">32</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">32</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">32</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">32</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">max seq length</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2048</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2048</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2048</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2048</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2048</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2048</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2048</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2048</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2048</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2048</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">max image side</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1024</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1024</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1024</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1024</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1024</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1024</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1024</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1024</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1024</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1024</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">seed</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">3407</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">3407</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">3407</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">3407</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">3407</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">3407</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>1234 / 2024</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>1234</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>2024</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">3407</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">base precision</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">bf16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">bf16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">bf16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">bf16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">bf16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">bf16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">bf16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">bf16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">bf16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">bf16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">bf16</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">save every</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">590</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">295</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">295</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">295</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">295</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">295</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">295</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">590</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">590</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1124</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">steps / epoch</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1125</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">590</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">590</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">590</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">590</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">590</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">590</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1125</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1125</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>2249</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">total steps</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4500</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2360</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2360</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2360</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2360</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">n/a</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1770</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2360</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4500</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4500</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>6747</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">wall clock</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">9.8 h</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">5.4 h</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">5.4 h</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">5.4 h</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">5.4 h</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>0 h</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">3.8 h</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2 x 5.4 h</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">9.9 h</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">11.2 h</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">~16 h</td></tr>
</tbody></table>
<p>Constant across the whole round and therefore omitted above: base model <code>Qwen/Qwen3-VL-8B-Instruct</code>, no 4-bit quantisation, VQA column <code>VQA_1126</code>, caption prompts drawn from the 50-query bank, eval-loss probe of 400 held-out items (200 caption / 200 VQA).</p>
<p><strong>Aspaklarya-106 and 106b are not training runs.</strong> They are exact LoRA soups: four rank-16 adapters stacked into a single rank-64 adapter, which reproduces the arithmetic mean of the parent weight deltas to within 2.3e-9. 106 averages the epoch-3 parents, 106b the epoch-4 parents. Neither consumed GPU training time; both are listed here so their rank and alpha are not mistaken for a tuned choice.</p>
<p><strong>Aspaklarya-108, 109 and 110 are replications, not new configurations.</strong> 108 re-runs 102 at two further seeds; 109 and 110 re-run 101 at one further seed each. They exist to measure the run-to-run spread that every comparison on this card silently assumed was small, and to test whether the one positive result survives a change of seed. They are measurements, not deliverables.</p>
<h3>How these are scored</h3>
<p>Round-1XX checkpoints were first ranked on the DM VQA slice alone - the slice the round was trained for. Every model in the programme has since been re-judged on <strong>one fixed sample drawn with seed 1105</strong>, drawn once outside the model loop so all 24 checkpoints see byte-identical items:</p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">slice</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">prompt set</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">new tokens</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">n</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">VQA DM</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>VQA_1126</code> (verbose)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">160</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">500</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">VQA RSICD</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">legacy terse</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">48</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">500</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Caption DM</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">caption-query bank</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">320</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">491</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Caption RSICD</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">caption-query bank</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">320</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">500</td></tr>
</tbody></table>
<p><code>MEAN4</code> is the unweighted mean, so a model cannot win by specialising on one slice. Judge: <code>gemma-4-31b-it-imiai</code>, greedy, temperature 0, scored 0-100.</p>
<p>Two caveats on the shape of the benchmark. <strong>CAP DM carries 491 items, not 500</strong>, because the underlying 500-image sweep drew 491 DM / 509 RSICD. And <strong>RSICD VQA has no verbose rewrite</strong> - it is still the legacy question set generated at a 48-token budget, which clips verbose answers and penalises the 1XX models there.</p>
<h3>Results</h3>
<p><strong>One row per experiment: its best checkpoint.</strong> Every model is scored on the same 1,991 judged items under the same rubric, so the column is comparable all the way down. The <code>ckpts scored</code> column says how many checkpoints that experiment contributed; the best of n is an <strong>order statistic</strong>, so it is biased upward by roughly 0.3-0.5 for n=4 and should not be read as that recipe&#x27;s expected quality. Use it to rank recipes, not to size effects.</p>
<p>For that, and for every individual checkpoint, see <strong>Run-to-run sigma</strong> below and the full 36-row table in <code>rescore_slices.csv</code>. Seed replicates of one recipe (108, 109, 110) are pooled into a single row here.</p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">Model</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">VQA DM</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">VQA RSICD</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">CAP DM</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">CAP RSICD</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">MEAN4</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">ckpts scored</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>Aspaklarya-101-step4500</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">74.16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">70.56</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.53</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>76.72</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-109-step3540</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">72.84</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">71.31</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.49</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.62</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>76.56</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>Aspaklarya-106-soup</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">74.57</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.38</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.38</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.1</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>76.36</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-110-step3540</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.68</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">71.01</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.99</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.32</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>76.25</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">2</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>Aspaklarya-104-step2360</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.72</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.59</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.7</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.88</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>76.22</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>Aspaklarya-103-step2360</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">74.13</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.82</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.34</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.3</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>76.15</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-108-step2360</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">72.66</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">70.83</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.1</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.58</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>76.04</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>Aspaklarya-105-step1770</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">74.49</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">68.96</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.96</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.62</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>76.01</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-106b-soup</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">72.77</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.99</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.53</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.73</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>75.75</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>Aspaklarya-102-step1770</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">73.45</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">68.93</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">81.56</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">78.6</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>75.64</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">4</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Aspaklarya-107-step1770</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">72.16</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">69.9</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">80.98</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">77.06</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>75.03</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">3</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>Aspaklarya-020-step4500</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">66.18</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">70.65</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">82.79</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">79.99</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>74.9</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">in-house reference</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">65.26</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">63.59</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">71.91</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">58.58</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>64.84</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">-</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">Qwen3-VL-8B (base)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">60.64</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">53.13</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">68.31</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">63.28</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>61.34</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">-</td></tr>
</tbody></table>
<h3>Run-to-run sigma, measured</h3>
<p>The previous version of this card said sigma had never been measured and that no one-point difference should be trusted. That has now been fixed, at the cost of four replication runs.</p>
<p><strong>Aspaklarya-108</strong> re-ran the 102 recipe at seeds 1234 and 2024, changing nothing else. <strong>Aspaklarya-109 and 110</strong> did the same for the 101 recipe, at seeds 1234 and 2024. With the two original seed-3407 runs that gives two arms of six scored checkpoints each.</p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">arm</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">corpus</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">checkpoints (MEAN4)</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">mean</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">sigma</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train,other</code> (101, 109, 110)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">35,979</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">76.72 · 76.56 · 76.38 · 76.25 · 76.23 · 76.09</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>76.37</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.23</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><code>train</code> (102, 108)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">18,862</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">76.04 · 75.64 · 75.61 · 75.50 · 75.23 · 75.22</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>75.54</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.31</td></tr>
</tbody></table>
<p><strong>sigma = 0.31 MEAN4 for a single checkpoint</strong> (pooled, the wider arm). Two consequences, and they are not optional:</p>
<ul>
<li>A single run targeting less than about <strong>1.0 point</strong> cannot be interpreted.</li>
<li>The difference between <strong>two</strong> single checkpoints carries SE `0.31 x sqrt(2)</li>
</ul>
<p>  = 0.44`, so a gap needs roughly <strong>0.9 points</strong> before it means anything, and   <strong>1.3</strong> before it is comfortable.</p>
<p>Re-reading the whole round against that floor:</p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">contrast</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">delta MEAN4</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">vs SE 0.44</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">verdict</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>data scaling</strong> 101/109/110 vs 102/108</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>+0.83</strong></td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>5.2 SE</strong> (arms of 6, SE 0.16)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>real</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">LoRA rank 16 -&gt; 32 (103 vs 102, ep4)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">+0.54</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.2 SE</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">not resolved</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">LoRA scale 1.0 -&gt; 2.0 (104 vs 102, ep4)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">+0.61</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.4 SE</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">not resolved</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">objective balance <code>w_caption</code> 0.4 (105 vs 102, ep4)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">-0.02</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.0 SE</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">null</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">cosine + lr 1e-4 (107 vs 102, ep3)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">-0.61</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.4 SE</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">not resolved, negative</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">LoRA soup vs mean of its parents (106)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">+0.32</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">0.7 SE</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">not resolved</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">LoRA soup vs mean of its parents (106b)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">-0.42</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">1.0 SE</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">not resolved</td></tr>
</tbody></table>
<p><strong>Only one row of that table survives.</strong> Everything else the round tested is noise at the resolution the budget bought - which is the honest reading, not a disappointing one: five levers were eliminated for 25 GPU-hours.</p>
<p>The two soup rows are worth reading together. 106 beat its parents&#x27; average and 106b lost to it, by similar amounts in opposite directions. The defensible claim is therefore that <strong>souping returns roughly the average of its parents for zero GPU time</strong>, not that it adds anything.</p>
<h3>What the round actually bought</h3>
<p><strong>Data scaling is the only lever that survived replication.</strong> It is also the only one that was replicated - and it was replicated specifically because it was the only candidate worth the GPU time. Three independent seeds of the large-corpus recipe produced six checkpoints spanning 76.09-76.72; six small-corpus checkpoints span 75.22-76.04. <strong>The two distributions do not overlap.</strong> +0.83 at SE 0.16 is 5.2 SE.</p>
<p>Note what this costs in humility about the original claim: 101&#x27;s headline was <strong>+1.07</strong>, measured from one seed against one seed. The replicated estimate is <strong>+0.83</strong>. The effect is real and the first number was 29% too generous - a clean illustration of why single-seed deltas are quoted here only with a sigma attached.</p>
<p><strong>The hyperparameter contrasts are all unresolved or null.</strong> Rank, LoRA scale, objective balance and schedule shape each moved MEAN4 by less than 1.4 SE. None of them is worth a further run at this resolution; resolving a 0.5-point effect would need roughly 6 seeds per arm, or 60 GPU-hours per lever.</p>
<p><strong>Aspaklarya-020, a full round older, still wins three slices of four.</strong> It takes VQA RSICD, CAP DM and CAP RSICD, and loses only DM VQA, by 8.0 points. Round 1XX bought <strong>specialisation onto the rewritten DM question set</strong>, not a better model overall. Part of that 8.0 is real; part is the 48-token legacy harness clipping verbose answers.</p>
<p><strong>The epoch-3 vs epoch-4 question is closed, and the answer is &quot;neither&quot;.</strong> Across the six replicated large-corpus checkpoints the epoch-3/epoch-4 gap is +0.49, -0.18 and -0.16 depending on seed - it changes sign. Both earlier claims about a best epoch were reading noise.</p>
<p><strong>The corpus is still only 27% spent.</strong> <code>ImageTable.csv</code> holds 89,119 QA pairs over 11,994 train+other images, a mean of 7.43 per image, and every run above used 2. Aspaklarya-111 is the first run to spend more of it, raising QA depth to 4 while doubling captions to 2 so the 2:1 VQA:caption ratio - and therefore the objective balance - is held exactly where every previous run had it.</p>
<h3>Aspaklarya-106: an exact LoRA soup</h3>
<p>Averaging LoRA adapters naively is wrong, because <code>mean(B) @ mean(A)</code> is not <code>mean(B @ A)</code>. The parents are instead <strong>stacked</strong>, so the product reproduces the mean of the weight deltas exactly:</p>
<p><code>`</code> A_cat = [A_1; ...; A_N]            (N<em>r x k) B_cat = [c_1</em>B_1, ..., c_N<em>B_N]    (d x N</em>r) c_i   = (1/N) * (alpha_i/r_i) / (alpha_new/r_new) <code>`</code></p>
<p>With <code>r_new = alpha_new = 64</code> the reconstruction is exact - verified against the explicit mean of the parent deltas to <strong>1.9e-9</strong> max absolute error. The trap is Aspaklarya-104, which carries <code>alpha/r = 2.0</code> while its three siblings carry 1.0: its coefficient must be doubled, and a soup that ignored this would have silently halved that parent&#x27;s contribution.</p>
<p>It cost <strong>zero GPU-hours</strong> and lands 2nd of 24.</p>
<h3>What is published here, and what is not</h3>
<p>This org holds <strong>22 adapter repos</strong>: Aspaklarya-101 through 105 at four epoch checkpoints each, Aspaklarya-106-soup, and Aspaklarya-020-step4500 from the previous round. Five of the runs described above have <strong>no repo at all</strong> - 106b, 107, 108, 109 and 110. That is deliberate, and the reasons differ.</p>
<p>A checkpoint is published when it is <strong>a distinct recipe</strong> and <strong>not strictly dominated</strong> by something already here. Both tests have to pass.</p>
<table style="border-collapse:collapse;margin:1rem 0;font-size:.85rem;border:1px solid #d0d7de"><thead><tr>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">run</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">published</th>
<th style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;background:#f6f8fa;font-weight:600;white-space:nowrap">why not</th>
</tr></thead><tbody>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>106b</strong> (epoch-4 soup)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">no</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>Strictly dominated.</strong> Same construction as 106-soup, 0.61 lower (75.75 vs 76.36). Shipping a worse version of a model already here is a trap for whoever downloads it, not an extra option.</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>107</strong> (cosine, lr 1e-4)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">no</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>Refuted configuration.</strong> 75.03 is the lowest MEAN4 in round 1XX. The run did its job - it ruled the gentler schedule out - and that result is a sentence on this page, not 821 MB of weights.</td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>108</strong> (102 at seeds 1234, 2024)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">no</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>Calibration, not a deliverable.</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>109</strong> (101 at seed 1234)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">no</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>Calibration, not a deliverable.</strong></td></tr>
<tr><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>110</strong> (101 at seed 2024)</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap">no</td><td style="border:1px solid #d0d7de;padding:5px 10px;text-align:left;white-space:nowrap"><strong>Calibration, not a deliverable.</strong></td></tr>
</tbody></table>
<p>The last three deserve a fuller answer, because they are the ones that produced the most useful result on this page.</p>
<p>108, 109 and 110 are not new recipes. <strong>They are the recipes of 102 and 101 re-run with a different random seed and nothing else changed.</strong> Their adapters are therefore near-duplicates of adapters already published: same corpus, same rank, same schedule, same everything the config file records. What they produced is not a model, it is <strong>a number</strong> - sigma 0.31 - and a number belongs in the text, where it now is.</p>
<p>Publishing them would also do active harm. Six more checkpoints spanning 75.22-76.56 would sit in the listing looking like six more options to choose between, and the obvious way to choose would be to take the highest one. That is exactly the mistake the sigma measurement exists to prevent: within an arm, the spread between seeds <strong>is</strong> the noise, so picking the best seed is selecting on noise and will not reproduce. The honest artifact is the published 101 and 102 adapters plus a stated uncertainty on what they score, not a shelf of lottery tickets.</p>
<p>The cost argument is secondary but real: each adapter is ~821 MB, so the five unpublished runs would add roughly 5 GB of weights that no one should load in preference to what is already here.</p>
<p><strong>Aspaklarya-111 is still training.</strong> It will be published if it clears the <code>train,other</code> arm it is built on - meaning a MEAN4 above roughly 76.8, which is the arm mean plus two sigma. If it lands inside the arm it will be reported here as another null and left unpublished, on the same reasoning as 108-110.</p>
<h3>Caveat</h3>
<p>The judge is <strong>text-only</strong>. It compares an answer against a reference and never sees the image, so it measures agreement with the reference, not verified truth. For a round whose whole premise is longer answers this matters more than it did in round 0XX: the judge can confirm that a model supplies reference-matching content, but not that the content is true of the pixels. Human spot-checks are the only way to close that gap.</p>
<p>The legacy slices also reward a terse style the product no longer wants - the legacy VQA rubric caps a padded-but-correct answer at 89/100 by construction, so a 290-character model cannot reach the top band however accurate it is. That is why the legacy numbers are reported but never used to gate a decision.</p>
<h3>Status</h3>
<ul>
<li><strong>Aspaklarya-101-step4500 is the round reference</strong> at MEAN4 76.72, but the</li>
</ul>
<p>  fair description of its recipe is <strong>76.37 +/- 0.23</strong> across three seeds. Any   of the six large-corpus checkpoints is a defensible choice; picking the   76.72 one is selecting on noise.</p>
<ul>
<li><strong>Aspaklarya-106-soup is 2nd at 76.36 for no training cost</strong>, and remains</li>
</ul>
<p>  the better default when GPU time is the constraint - with the caveat above   that souping buys the parents&#x27; average, not a gain over it.</p>
<ul>
<li><strong>Aspaklarya-020-step4500 remains the better general model</strong> (3 slices of 4).</li>
</ul>
<p>  Choose a 1XX model only when verbose in-domain VQA is what matters.</p>
<ul>
<li><strong>Aspaklarya-106b, 107, 108, 109 and 110 have no adapter repos.</strong> See</li>
</ul>
<p>  <em>What is published here, and what is not</em> above - they are either strictly   dominated, refuted, or seed replications whose output is a sigma rather   than a model.</p>
<ul>
<li>Open: whether QA depth (111, running) extends the one confirmed lever, and</li>
</ul>
<p>  whether the <code>other</code> split helped by adding <strong>images</strong> or merely <strong>items</strong> -   111 isolates items, since it adds no new images.</p>
</main>
</body>
</html>