rogermt's picture
Update TODO with task 34 ONNX progress and findings
2ed0296 verified
|
Raw
History Blame
4.8 kB

medal-solvers β€” TODO (ORDERED)

Current: 6072.74 (v70) | Target: 6500 (silver) / 6100 (bronze)

Strategy: Crack rules β†’ hand-craft ONNX β†’ onnxsim β†’ PROFILE score vs base β†’ upload


DONE (16 models, ~+30.5 pts total)

Task Score Base Gain Method
025 10.57 8.71 +1.86 Hand-craft + onnxsim
028 14.31 12.83 +1.48 Hand-craft + onnxsim
062 14.75 14.23 +0.52 Hand-craft + onnxsim
084 12.41 9.72 +2.70 Hand-craft + onnxsim
128 13.69 13.54 +0.16 Hand-craft (Gather shift) + onnxsim
153 15.01 10.81 +4.20 Hand-craft + onnxsim
200 14.65 10.33 +4.32 Hand-craft + onnxsim
209 10.47 10.11 +0.35 onnxsim on base model
217 14.65 13.75 +0.91 Hand-craft + onnxsim
255 11.62 7.42 +4.21 Hand-craft + onnxsim
277 14.89 13.30 +1.58 Hand-craft + onnxsim
285 8.84 5.99 +2.85 Hand-craft + onnxsim
319 11.87 7.91 +3.96 Hand-craft + onnxsim
323 14.18 14.17 +0.01 onnxsim on base model
367 10.68 10.58 +0.10 onnxsim on base model
387 11.16 10.46 +0.70 Hand-craft + onnxsim

REMOVED (scored WORSE than base β€” verified v70)

Task My Score Base Loss Why
057 14.24 14.25 -0.01 Optimized model has more memory than base
384 13.17 13.78 -0.61 Optimized model has much more memory than base

NEXT: HIGH-VALUE TARGETS

1. TASK 034 β€” ONNX BUILD IN PROGRESS (267/267 solved!)

Rule: Diagonal trail of 2x2 block. Direction from 2-markers. 9Γ—9 grid. Base: 87 nodes, 2847 params, score 13.42 Status: Solver 267/267. ONNX works for 1-marker cases (85/267). Blocker: Multi-directional (2+ markers) cases fail in ONNX due to Sign(0)=0 when block center == 2-cell mean. Need to handle:

  • 2 markers β†’ bidirectional (opposite diagonals)
  • 3 markers β†’ need to detect the MISSING corner of the bounding box as direction Fix needed: When Sign gives 0 (centroids coincide), use individual 2-cell positions to determine unique diagonal directions, then trail in ALL detected directions. Potential gain: +1-2 pts if ONNX beats base

2. TASK 076 β€” SOLVER COMPLETE (266/266) but ONNX BLOCKED

Rule: Template rotation + decoration placement using centroid + 2-marker + BFS Base: 10.34 (949KB file) Potential: +5-7 pts Blocker: Requires 8-connected CC detection + BFS. Objects can be adjacent (distance 0). Simple separation won't work. Need ~100+ extra nodes for iterative CC propagation. File: task076_solver_266.py

3. TASK 219 β€” SOLVER AT 255/265, needs 265 for ONNX

Rule: Template pattern extension with alignment + periodicity Base: 8.42 (87KB file) Potential: +6 pts Blocker: 10 "merged row" failures where group rows contain columns from multiple template rows File: task219_solver_255.py

4. TASK 366 β€” NOT STARTED (highest potential +8-10 pts)

Base 7.08, file 1.3MB, variable grid. Object placement by dot-pattern matching. Extremely complex β€” needs backtracking.

5. TASK 157 β€” NOT CRACKED

10Γ—15 grid. Column shift rule unclear.

WORKFLOW PER TASK

1. Load task JSON, look at 2-3 train examples
2. Use ARC-DSL primitives (michaelhodel-arc-dsl.txt) to identify the rule
3. Write Python solver, verify 265+/265 accuracy on ALL examples
4. Build ONNX using OnnxBuilder (slice-first pattern)
5. Run onnxsim
6. **PROFILE** score with score_model.py β€” NEVER use static estimates
7. **PROFILE** base model score too
8. ONLY if my_score > base_score: upload to optimized/

PROVEN FAILURES (do NOT retry)

Approach Result
Task 398 ONNX 268/268 correct but scores 10.3 vs base 13.7 (base too compact: 770 params)
Float16 conversion Cast overhead cancels savings
onnx-neural-compressor quantization Introduces DynamicQuantizeLinear/MatMulInteger β†’ scorer returns None
Task 363 heuristics (Γ—7) 264/265 max, unknown tiebreaker
Tasks needing CC detection (101, 233, 191, 044, 077, 182) Can't express in ONNX efficiently
onnxsim on base models Only 3 out of 400 improved (209, 367, 323) β€” already done
Task 314 hand-craft ONNX 266/266 correct BUT scored 14.46 vs base 15.62 = WORSE
Targeting tasks with base params < 1000 Base already too compact to beat

DO NOT TOUCH

  • Tasks with base score > 14 and small grids (flips, rotations, color swaps)
  • Tasks 020, 037, 040, 053, 077, 098, 100, 291, 307, 330
  • Task 057, 384 (removed β€” score WORSE than base)
  • Task 314 (266/266 correct but ONNX scores 14.46 vs base 15.62 = WORSE)
  • Task 398 (268/268 correct but ONNX scores 10.3 vs base 13.7 = WORSE)