Snapshot published 2026-10-13 10:52 UTC; the campaign is still running, so numbers and videos of later snapshots differ. Campaign directory generated/liro_stage1_20261011, first run started 2026-10-11 20:04 UTC, code aa1e901e0, seed 73, 2273402 parameters in the base network. All ten arms train on this machine (ankac-dgxc-4gpu); the OSMO wave ordered on 2026-10-11 has not started because the dispatcher stopped reporting at 20:15 UTC that day.
Every arm is the base configuration with one change. The selection metric is the mean final residual of the full-horizon validation (4 held-out worlds, 8 queries per step, the horizon of the growth stage); lower is better and the trainer keeps the checkpoint of the best eligible epoch. "rho after 8" is the cheap validation's pose error ratio against the float64 reference after 8 queries on one step (1 = the predictor pose, mean over 8 worlds). Momentum drift is relative to the gravity impulse over the rollout. Resets count training worlds that tripped a guard and were replaced; the figure in brackets splits them by guard. Wall-clock is the sum of the epoch times; three or four trainers shared one GPU.
| arm | ablation | change against base | status | epochs | best metric | best epoch (K x H) | last metric | rho after 8 (last) | momentum drift (last) | survivors (last) | resets (by guard) | hours | bench |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| base | design | joint edges, per-body token frame, formula translation, energy-only loss | completed | 36 / 36 | 0.03979 | 36 (8 x 128) | 0.03979 | 0.586 | 4.38e-05 | 4 / 4 | 2258 (anchor_gap 2251, non_finite 7) | 3.56 | yes |
| learned_tr | 6 | translation: learned read-out query per articulation instead of the formula | completed | 36 / 36 | 0.09338 | 26 (8 x 128) | 0.1174 | 0.77 | 0.0737 | 4 / 4 | 2899 (anchor_gap 2887, non_finite 12) | 3.39 | yes |
| no_tr | 6 | translation: no rigid shift after a query | completed | 36 / 36 | 0.0587 | 33 (8 x 128) | 0.06747 | 0.651 | 0.358 | 4 / 4 | 2670 (anchor_gap 2656, non_finite 14) | 3.35 | yes |
| art_frame | 7 | token frame: one shared articulation frame instead of per-body frames | completed | 36 / 36 | 0.01863 | 25 (8 x 128) | 0.02344 | 0.688 | 3.98e-05 | 4 / 4 | 2090 (anchor_gap 2082, non_finite 8) | 10.19 | yes |
| all_pair | 8 | edges on every pair of bodies instead of joints only | completed | 36 / 36 | 0.04379 | 36 (8 x 128) | 0.04379 | 0.732 | 2.26e-05 | 4 / 4 | 2465 (anchor_gap 2455, non_finite 10) | 10.36 | yes |
| gn_input | 3 | the body's local 6x6 Gauss-Newton step as an input feature | completed | 36 / 36 | 0.02721 | 31 (8 x 128) | 0.06948 | 0.368 | 4.19e-05 | 4 / 4 | 2355 (anchor_gap 2339, non_finite 16) | 11.12 | yes |
| gn_anchor | 4 | output anchored to the local Gauss-Newton step, scale starts at 0.5 | completed | 36 / 36 | 0.05515 | 29 (8 x 128) | 0.1136 | 0.693 | 4.73e-05 | 4 / 4 | 3016 (anchor_gap 3002, non_finite 14) | 11.32 | yes |
| teacher | 5 | teacher loss from 8 damped Gauss-Seidel sweeps, every second update | completed | 36 / 36 | 0.03237 | 33 (8 x 128) | 0.04975 | 0.603 | 6.40e-05 | 4 / 4 | 2099 (anchor_gap 2092, non_finite 7) | 9.93 | yes |
| ik_fk | 2 | reduced route: inverse then forward kinematics projection, no parameters | completed | 36 / 36 | 0.01111 | 33 (8 x 128) | 0.01896 | 0.27 | 0.057 | 4 / 4 | 0 (none) | 8.32 | yes |
| reduced_learned | 1 | reduced route: learned head gives hinge increments, then forward kinematics | completed | 36 / 36 | 0.01176 | 35 (8 x 128) | 0.02349 | 0.279 | 0.142 | 4 / 4 | 0 (none) | 8.45 | yes |
Dashed lines are runs still training. The grey bands and the labels above each panel are the growth stages of the regime (the largest iteration count K and horizon H a training job can have); the validation horizon grows with the stage, so a metric is comparable with another only inside one band.
Held-out sets, best checkpoint of each arm: tier A is the error ratio against the float64 reference after K queries, the SolverVBD rows are the same ratio after n iterations of the Newton solver (compliant ALM and legacy variants; n = 512 shows the formulation floor), tier B is the rollout survival and energy. The benchmark runs on GPU 1 with no training on it, one arm after another.
One-step columns: the mean pose error against the float64 minimiser after 8 queries divided by the predictor's mean error over the set (1 = the predictor pose; this ratio of means is free of the floor effect that inflates the per-world geometric mean when the predictor is already within 1e-4 L_ref of the minimiser), and the median per-world ratio. Rollout columns: worlds surviving 300 steps at 8 queries, the median momentum drift of the free articulations and the median final residual.
SolverVBD compliant ALM on the same uniform-stiffness worlds (from the first benchmark that ran it): mean error ratio after 8 iterations 0.4629 (median per world 0.3441), after 32 iterations 0.3559 (median 0.1534).
| arm | ablation | checkpoint | in range: error ratio (means) | in range: median ratio | in range: survived | in range: momentum drift | in range: final residual | uniform K: error ratio | uniform K: survived | long chains: survived | trees: survived | four-bar: survived | stiff: error ratio | small dt: error ratio |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| base | design | cluster | 1 | 2.3 | 21 / 24 | 1.95e-04 | 0.0343 | 1.3 | 16 / 16 | 5 / 8 | 8 / 8 | 4 / 4 | 1.1 | 7.9 |
| base | design | local | 1 | 2.5 | 21 / 24 | 2.35e-04 | 0.0189 | 0.82 | 16 / 16 | 5 / 8 | 8 / 8 | 4 / 4 | 1.3 | 7.9 |
| learned_tr | 6 | cluster | 3 | 8.8 | 18 / 24 | 0.371 | 0.0879 | 4 | 16 / 16 | 4 / 8 | 7 / 8 | 4 / 4 | 3 | 10 |
| learned_tr | 6 | local | 2.1 | 6.6 | 19 / 24 | 0.165 | 0.0584 | 2.5 | 15 / 16 | 5 / 8 | 7 / 8 | 4 / 4 | 1.8 | 10 |
| no_tr | 6 | cluster | 1.1 | 2.1 | 21 / 24 | 0.186 | 0.0333 | 1.5 | 16 / 16 | 5 / 8 | 8 / 8 | 4 / 4 | 0.86 | 7.9 |
| no_tr | 6 | local | 1.1 | 1.6 | 20 / 24 | 0.29 | 0.0262 | 0.97 | 16 / 16 | 5 / 8 | 8 / 8 | 4 / 4 | 1.1 | 9.2 |
| art_frame | 7 | cluster | 1.3 | 2.4 | 21 / 24 | 1.92e-04 | 0.0166 | 1.7 | 16 / 16 | 4 / 8 | 7 / 8 | 4 / 4 | 1.3 | 6.4 |
| art_frame | 7 | local | 1.9 | 5.8 | 21 / 24 | 1.24e-04 | 0.0355 | 1.9 | 16 / 16 | 5 / 8 | 7 / 8 | 4 / 4 | 1.8 | 7.9 |
| all_pair | 8 | cluster | 1.1 | 2.6 | 21 / 24 | 1.86e-04 | 0.0203 | 1.9 | 16 / 16 | 5 / 8 | 8 / 8 | 4 / 4 | 1.3 | 9 |
| all_pair | 8 | local | 1.1 | 3.1 | 21 / 24 | 1.75e-04 | 0.0309 | 1 | 16 / 16 | 5 / 8 | 8 / 8 | 4 / 4 | 0.99 | 10 |
| gn_input | 3 | cluster | 0.91 | 1.8 | 20 / 24 | 2.07e-04 | 0.0144 | 1 | 16 / 16 | 4 / 8 | 8 / 8 | 4 / 4 | 1.1 | 5.6 |
| gn_input | 3 | local | 0.81 | 1.4 | 21 / 24 | 1.78e-04 | 0.0128 | 0.69 | 16 / 16 | 4 / 8 | 8 / 8 | 4 / 4 | 1 | 6.1 |
| gn_anchor | 4 | cluster | 1.3 | 1.9 | 21 / 24 | 1.95e-04 | 0.0213 | 1.2 | 16 / 16 | 5 / 8 | 8 / 8 | 4 / 4 | 1.1 | 9 |
| gn_anchor | 4 | local | 0.82 | 1.3 | 21 / 24 | 1.60e-04 | 0.0166 | 0.7 | 16 / 16 | 5 / 8 | 8 / 8 | 4 / 4 | 0.97 | 8.4 |
| teacher | 5 | cluster | 1.1 | 2.4 | 21 / 24 | 2.17e-04 | 0.0275 | 1.4 | 16 / 16 | 5 / 8 | 8 / 8 | 4 / 4 | 1.1 | 8.6 |
| teacher | 5 | local | 0.98 | 1.7 | 21 / 24 | 2.05e-04 | 0.0276 | 1 | 16 / 16 | 5 / 8 | 8 / 8 | 4 / 4 | 0.87 | 9.4 |
| ik_fk | 2 | cluster | 2.2 | 1.8 | 24 / 24 | 0.0393 | 0.00881 | 1.8 | 16 / 16 | 8 / 8 | 8 / 8 | n/a | 0.9 | 4.6 |
| ik_fk | 2 | local | 2.4 | 2.4 | 24 / 24 | 0.0162 | 0.0189 | 2.3 | 16 / 16 | 8 / 8 | 8 / 8 | n/a | 1.2 | 6.4 |
| reduced_learned | 1 | cluster | 2.3 | 2.2 | 24 / 24 | 0.0223 | 0.00813 | 2.2 | 16 / 16 | 8 / 8 | 8 / 8 | n/a | 0.89 | 7.4 |
| reduced_learned | 1 | local | 2.3 | 2.6 | 24 / 24 | 0.0303 | 0.0127 | 2.4 | 16 / 16 | 8 / 8 | 8 / 8 | n/a | 0.87 | 7 |
Reading of the base arm's one-step error, split into parts (local checkpoint, 23 training-distribution worlds, 8 queries): the translation error falls from 0.00177 to 0.00120 L_ref (0.68 times) while the rotation error rises from 0.00129 to 0.00188 rad (1.45 times); after the queries every world sits at a rotation error of 0.0005 to 0.005 rad whatever its starting error, so the network's output has a rotation floor near 1e-3 rad. Rotations about the hinge axes are the directions the step energy constrains least.
checkpoint: generated/liro_stage1_20261011/base_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 1.2 | 1.5 | 1.86 | 2.22 | 2.33 | 2.31 | 0.31 | 0.1017 |
| uniform stiffness | 15 / 16 | 0 | 0.897 | 0.967 | 1.06 | 0.95 | 0.905 | 1.04 | 0.369 | 0.1394 |
| long chains 12 to 16 bodies | 8 / 8 | 0 | 1.04 | 1.13 | 1.39 | 1.61 | 1.65 | 1.74 | 0.077 | 0.1545 |
| trees | 7 / 8 | 0 | 1.26 | 2.81 | 5.43 | 6.81 | 8.23 | 7.98 | 9.28 | 0.2352 |
| four-bar loop | 4 / 4 | 0 | 0.851 | 1.55 | 2.48 | 3.75 | 5.26 | 5.99 | 15.5 | 0.1916 |
| stiffness above the trained range | 8 / 8 | 0 | 1.1 | 1.44 | 1.88 | 2.56 | 3.77 | 4.89 | 1.03 | 0.1704 |
| time step below the trained range | 8 / 8 | 0 | 3.06 | 5.63 | 7.96 | 8.97 | 9.7 | 9.69 | 647 | 0.1651 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.614 | 0.458 | 0.343 | 0.256 | 0.198 | 0.148 | 0.0409 | 0.000245 | 0.00052 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.57 | 0.6 | 0.691 | 0.833 | 0.889 | 0.0798 | 0.00145 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 21 | 2.93 | 0.0351 | 25.6 | 0.000229 |
| uniform stiffness | 16 | 16 | 2.34 | 0.0259 | 48.7 | 0.000204 |
| long chains 12 to 16 bodies | 8 | 5 | 2.97 | 0.119 | 13.3 | 0.000189 |
| trees | 8 | 8 | 1.48 | 0.062 | 203 | 0.000287 |
| four-bar loop | 4 | 4 | 0.0898 | 0.362 | 253 | 0.000276 |
| stiffness above the trained range | 8 | 8 | 0.0127 | 4.39 | 1.81 | 0.000189 |
| time step below the trained range | 8 | 8 | 0.226 | 0.0216 | 2.93e+04 | 0.00637 |
Equivariance check (largest pose discrepancy under a world rotation): 7.63e-06
checkpoint: generated/liro_stage1_20261011/cluster/base_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 1.19 | 1.59 | 1.89 | 2.26 | 2.29 | 2.39 | 0.393 | 0.0994 |
| uniform stiffness | 14 / 16 | 0 | 0.887 | 1.13 | 1.09 | 1.08 | 1.48 | 1.69 | 0.406 | 0.0261 |
| long chains 12 to 16 bodies | 7 / 8 | 0 | 1.03 | 1.12 | 1.28 | 1.43 | 1.31 | 1.69 | 0.159 | 0.0510 |
| trees | 7 / 8 | 0 | 1.27 | 2.61 | 5.67 | 5.96 | 6.7 | 7.21 | 5.84 | 0.1452 |
| four-bar loop | 4 / 4 | 0 | 0.83 | 1.74 | 3.3 | 4.19 | 5.06 | 7.5 | 31 | 0.0335 |
| stiffness above the trained range | 8 / 8 | 0 | 1.09 | 1.39 | 1.51 | 2.23 | 3.04 | 3.89 | 0.154 | 0.0209 |
| time step below the trained range | 7 / 8 | 0 | 3.13 | 6.47 | 8.57 | 9.23 | 9.46 | 9.92 | 1.2e+03 | 0.0239 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.613 | 0.458 | 0.343 | 0.256 | 0.196 | 0.146 | 0.0403 | 0.000246 | 0.00032 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.571 | 0.6 | 0.691 | 0.833 | 0.886 | 0.0662 | 0.00078 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 21 | 2.92 | 0.0498 | 26.3 | 0.000226 |
| uniform stiffness | 16 | 16 | 2.58 | 0.0281 | 43.4 | 0.000228 |
| long chains 12 to 16 bodies | 8 | 5 | 2.97 | 0.103 | 10.7 | 0.000231 |
| trees | 8 | 8 | 2 | 0.0437 | 167 | 0.000251 |
| four-bar loop | 4 | 4 | 0.111 | 0.0751 | 53.7 | 0.000288 |
| stiffness above the trained range | 8 | 8 | 0.00551 | 1.94 | 0.475 | 0.000221 |
| time step below the trained range | 8 | 8 | 0.628 | 0.0205 | 3.53e+04 | 0.00619 |
Equivariance check (largest pose discrepancy under a world rotation): 3.81e-06
checkpoint: generated/liro_stage1_20261011/learned_tr_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 2.12 | 2.94 | 3.72 | 4.56 | 5.32 | 5.6 | 5.2 | 0.1890 |
| uniform stiffness | 15 / 16 | 0 | 1.88 | 2.31 | 2.84 | 3.44 | 4.01 | 4.14 | 6.35 | 0.0781 |
| long chains 12 to 16 bodies | 8 / 8 | 0 | 1.31 | 1.71 | 2.78 | 3.62 | 4.37 | 4.84 | 0.771 | 0.1788 |
| trees | 7 / 8 | 0 | 4.77 | 6.7 | 8.32 | 8.38 | 8.78 | 9.2 | 309 | 0.1926 |
| four-bar loop | 4 / 4 | 0 | 6.58 | 7.96 | 9.91 | 10 | 10 | 10 | 770 | 0.1867 |
| stiffness above the trained range | 8 / 8 | 0 | 1.19 | 1.73 | 2.38 | 3.54 | 5.23 | 6.15 | 0.866 | 0.1794 |
| time step below the trained range | 8 / 8 | 0 | 9.54 | 10 | 10 | 10 | 10 | 10 | 1.56e+04 | 0.2065 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.614 | 0.458 | 0.343 | 0.256 | 0.198 | 0.148 | 0.0409 | 0.000245 | 0.00079 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.57 | 0.6 | 0.691 | 0.833 | 0.889 | 0.063 | 0.00046 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 19 | 2.96 | 0.0837 | 115 | 0.317 |
| uniform stiffness | 16 | 15 | 2.99 | 0.171 | 202 | 0.219 |
| long chains 12 to 16 bodies | 8 | 5 | 2.98 | 0.188 | 77.3 | 0.288 |
| trees | 8 | 7 | 2.93 | 0.486 | 764 | 0.54 |
| four-bar loop | 4 | 4 | 0.12 | 0.358 | 579 | 0.883 |
| stiffness above the trained range | 8 | 8 | 0.112 | 8.16 | 22.2 | 0.877 |
| time step below the trained range | 8 | 6 | 2.97 | 0.078 | 3.05e+05 | 19.4 |
Equivariance check (largest pose discrepancy under a world rotation): 3.81e-06
checkpoint: generated/liro_stage1_20261011/cluster/learned_tr_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 2.57 | 3.89 | 5.15 | 5.72 | 6.08 | 6.75 | 9.18 | 0.5371 |
| uniform stiffness | 14 / 16 | 0 | 2.14 | 3.19 | 3.92 | 4.33 | 4.99 | 5.51 | 4.19 | 0.1054 |
| long chains 12 to 16 bodies | 7 / 8 | 0 | 1.79 | 2.43 | 3.05 | 3.36 | 4.33 | 5.27 | 0.861 | 0.0235 |
| trees | 7 / 8 | 0 | 4.81 | 6.46 | 8.96 | 9.88 | 10 | 10 | 300 | 0.0240 |
| four-bar loop | 4 / 4 | 0 | 9.25 | 9.03 | 10 | 10 | 10 | 10 | 1.19e+03 | 0.0259 |
| stiffness above the trained range | 8 / 8 | 0 | 1.34 | 2.04 | 3.11 | 5.11 | 7.22 | 6.48 | 4.69 | 0.0268 |
| time step below the trained range | 7 / 8 | 0 | 9.95 | 9.63 | 9.98 | 10 | 10 | 10 | 4.73e+04 | 0.0292 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.613 | 0.458 | 0.343 | 0.256 | 0.196 | 0.146 | 0.0403 | 0.000246 | 0.00038 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.571 | 0.6 | 0.691 | 0.833 | 0.886 | 0.0662 | 0.00028 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 18 | 3 | 0.129 | 241 | 0.549 |
| uniform stiffness | 16 | 16 | 2.56 | 0.119 | 193 | 0.412 |
| long chains 12 to 16 bodies | 8 | 4 | 2.98 | 0.299 | 256 | 0.219 |
| trees | 8 | 7 | 2.9 | 0.184 | 5.07e+03 | 1.32 |
| four-bar loop | 4 | 4 | 0.104 | 0.187 | 923 | 2.36 |
| stiffness above the trained range | 8 | 8 | 0.494 | 26.4 | 228 | 0.912 |
| time step below the trained range | 8 | 4 | 2.98 | 0.174 | 7.27e+05 | 40.4 |
Equivariance check (largest pose discrepancy under a world rotation): 3.81e-06
checkpoint: generated/liro_stage1_20261011/no_tr_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 1.05 | 1.35 | 1.87 | 2 | 2.25 | 2.2 | 0.184 | 0.0548 |
| uniform stiffness | 15 / 16 | 0 | 0.868 | 0.993 | 1.13 | 1.03 | 0.738 | 0.741 | 0.196 | 0.0367 |
| long chains 12 to 16 bodies | 8 / 8 | 0 | 1.12 | 1.33 | 1.65 | 1.9 | 2.51 | 3.34 | 0.182 | 0.0375 |
| trees | 7 / 8 | 0 | 1.24 | 2.5 | 5.48 | 8.28 | 9.04 | 8.08 | 7.95 | 0.0383 |
| four-bar loop | 4 / 4 | 0 | 0.756 | 1.61 | 2.33 | 4.04 | 5.82 | 7.55 | 37.8 | 0.0339 |
| stiffness above the trained range | 8 / 8 | 0 | 0.94 | 1.07 | 1.51 | 2.33 | 3.47 | 4.44 | 0.269 | 0.0400 |
| time step below the trained range | 8 / 8 | 0 | 2.49 | 5.66 | 8.36 | 9.11 | 9.25 | 9.44 | 175 | 0.0353 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.614 | 0.458 | 0.343 | 0.256 | 0.198 | 0.148 | 0.0409 | 0.000245 | 0.00029 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.57 | 0.6 | 0.691 | 0.833 | 0.889 | 0.063 | 0.00028 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 20 | 2.99 | 0.0648 | 24.1 | 0.261 |
| uniform stiffness | 16 | 16 | 2.46 | 0.0333 | 52.7 | 0.161 |
| long chains 12 to 16 bodies | 8 | 5 | 3 | 0.154 | 9.1 | 0.26 |
| trees | 8 | 8 | 1.45 | 0.045 | 283 | 0.262 |
| four-bar loop | 4 | 4 | 0.134 | 0.793 | 55.3 | 0.495 |
| stiffness above the trained range | 8 | 8 | 0.0206 | 1.54 | 1.13 | 0.695 |
| time step below the trained range | 8 | 8 | 0.313 | 0.0233 | 3.89e+04 | 8.69 |
Equivariance check (largest pose discrepancy under a world rotation): 3.81e-06
checkpoint: generated/liro_stage1_20261011/cluster/no_tr_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 1.09 | 1.45 | 1.91 | 2.16 | 2.35 | 2.39 | 0.176 | 0.0791 |
| uniform stiffness | 14 / 16 | 0 | 1.01 | 1.16 | 1.13 | 1.17 | 1.18 | 1.69 | 0.604 | 0.0391 |
| long chains 12 to 16 bodies | 7 / 8 | 0 | 1.11 | 1.39 | 1.78 | 1.69 | 1.51 | 2.11 | 0.0613 | 0.1083 |
| trees | 7 / 8 | 0 | 1.28 | 2.38 | 4.41 | 6.21 | 6.72 | 6.29 | 2.7 | 0.0847 |
| four-bar loop | 4 / 4 | 0 | 1.08 | 1.73 | 3.49 | 3.78 | 6.5 | 8.13 | 17.5 | 0.0329 |
| stiffness above the trained range | 8 / 8 | 0 | 0.91 | 0.953 | 1.06 | 1.27 | 1.77 | 2.63 | 0.065 | 0.0229 |
| time step below the trained range | 7 / 8 | 0 | 2.5 | 5.05 | 7.9 | 9.05 | 9.55 | 10 | 309 | 0.0231 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.613 | 0.458 | 0.343 | 0.256 | 0.196 | 0.146 | 0.0403 | 0.000246 | 0.00073 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.571 | 0.6 | 0.691 | 0.833 | 0.886 | 0.0662 | 0.00042 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 21 | 2.94 | 0.0605 | 61.6 | 0.245 |
| uniform stiffness | 16 | 16 | 2.15 | 0.0209 | 61.3 | 0.165 |
| long chains 12 to 16 bodies | 8 | 5 | 2.98 | 0.107 | 8.81 | 0.212 |
| trees | 8 | 8 | 1.57 | 0.0669 | 395 | 0.3 |
| four-bar loop | 4 | 4 | 0.14 | 1.17 | 342 | 2 |
| stiffness above the trained range | 8 | 8 | 0.05 | 1.25 | 0.84 | 0.212 |
| time step below the trained range | 8 | 8 | 0.49 | 0.0226 | 7.63e+03 | 4.52 |
Equivariance check (largest pose discrepancy under a world rotation): 1.91e-06
checkpoint: generated/liro_stage1_20261011/art_frame_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 1.4 | 2.43 | 3.43 | 4.04 | 3.65 | 3.39 | 0.531 | 0.0302 |
| uniform stiffness | 15 / 16 | 0 | 0.934 | 1.25 | 1.61 | 1.71 | 1.72 | 1.86 | 0.902 | 0.0300 |
| long chains 12 to 16 bodies | 8 / 8 | 0 | 1.27 | 2.06 | 2.47 | 2.83 | 2.76 | 2.92 | 0.146 | 0.0304 |
| trees | 7 / 8 | 0 | 1.96 | 5.05 | 8.29 | 8.44 | 8.02 | 8.11 | 5.36 | 0.0300 |
| four-bar loop | 4 / 4 | 0 | 1.01 | 2.81 | 5.35 | 7.58 | 8.51 | 9.62 | 3.57 | 0.0298 |
| stiffness above the trained range | 8 / 8 | 0 | 1.93 | 2.6 | 3.45 | 3.92 | 4.14 | 4.34 | 1.02 | 0.0299 |
| time step below the trained range | 8 / 8 | 0 | 4.38 | 7.51 | 9.15 | 9.31 | 9.35 | 9.27 | 651 | 0.0302 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.614 | 0.458 | 0.343 | 0.256 | 0.198 | 0.148 | 0.0409 | 0.000245 | 0.00030 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.57 | 0.6 | 0.691 | 0.833 | 0.889 | 0.063 | 0.00030 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 21 | 2.91 | 0.0525 | 73.9 | 0.000209 |
| uniform stiffness | 16 | 16 | 2.34 | 0.0929 | 222 | 0.000281 |
| long chains 12 to 16 bodies | 8 | 5 | 2.97 | 0.0565 | 30 | 0.000246 |
| trees | 8 | 7 | 2.99 | 0.0299 | 262 | 0.000282 |
| four-bar loop | 4 | 4 | 0.0731 | 0.232 | 4.44e+03 | 0.000359 |
| stiffness above the trained range | 8 | 8 | 0.0188 | 4.64 | 1.95 | 0.000177 |
| time step below the trained range | 8 | 8 | 2.65 | 0.0406 | 1.51e+05 | 0.00616 |
Equivariance check (largest pose discrepancy under a world rotation): 7.63e-06
checkpoint: generated/liro_stage1_20261011/cluster/art_frame_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 1.25 | 1.75 | 2.07 | 2.32 | 2.42 | 2.06 | 0.141 | 0.1812 |
| uniform stiffness | 14 / 16 | 0 | 0.904 | 1.05 | 1.2 | 1.18 | 1.19 | 1.45 | 0.611 | 0.1286 |
| long chains 12 to 16 bodies | 7 / 8 | 0 | 1.07 | 1.33 | 1.34 | 1.47 | 1.41 | 1.56 | 0.0509 | 0.0281 |
| trees | 7 / 8 | 0 | 1.82 | 3.7 | 6.32 | 5.97 | 5.64 | 5.39 | 3.61 | 0.0262 |
| four-bar loop | 4 / 4 | 0 | 0.896 | 2.72 | 7.06 | 9.37 | 10 | 10 | 66.1 | 0.0302 |
| stiffness above the trained range | 8 / 8 | 0 | 1.67 | 1.89 | 1.98 | 2.99 | 3.13 | 3.04 | 0.392 | 0.0258 |
| time step below the trained range | 7 / 8 | 0 | 3.38 | 5.94 | 7.47 | 8.27 | 9.13 | 8.89 | 425 | 0.0303 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.613 | 0.458 | 0.343 | 0.256 | 0.196 | 0.146 | 0.0403 | 0.000246 | 0.00040 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.571 | 0.6 | 0.691 | 0.833 | 0.886 | 0.0662 | 0.00029 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 21 | 2.91 | 0.0416 | 12.8 | 0.000212 |
| uniform stiffness | 16 | 16 | 2.39 | 0.037 | 68 | 0.000255 |
| long chains 12 to 16 bodies | 8 | 4 | 2.99 | 0.0577 | 5.56 | 0.000184 |
| trees | 8 | 7 | 2.87 | 0.333 | 20.5 | 0.000351 |
| four-bar loop | 4 | 4 | 0.0215 | 0.0452 | 221 | 0.000459 |
| stiffness above the trained range | 8 | 8 | 0.00556 | 2.06 | 0.395 | 0.000198 |
| time step below the trained range | 8 | 8 | 1.3 | 0.0206 | 5.74e+03 | 0.00556 |
Equivariance check (largest pose discrepancy under a world rotation): 3.81e-06
checkpoint: generated/liro_stage1_20261011/all_pair_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 1.3 | 1.76 | 2.3 | 2.38 | 2.65 | 3.21 | 0.303 | 0.0328 |
| uniform stiffness | 15 / 16 | 0 | 0.9 | 0.977 | 1.03 | 0.873 | 0.97 | 1.21 | 0.263 | 0.0327 |
| long chains 12 to 16 bodies | 8 / 8 | 0 | 1.05 | 1.21 | 1.46 | 1.8 | 1.77 | 2.49 | 0.128 | 0.0326 |
| trees | 7 / 8 | 0 | 1.36 | 3.23 | 5.32 | 7.41 | 6.64 | 7.23 | 8.47 | 0.0327 |
| four-bar loop | 4 / 4 | 0 | 0.89 | 3.44 | 4.21 | 3.85 | 4.87 | 6.09 | 8.79 | 0.0322 |
| stiffness above the trained range | 8 / 8 | 0 | 0.974 | 1.16 | 1.38 | 1.59 | 2.27 | 3.06 | 0.0472 | 0.0328 |
| time step below the trained range | 8 / 8 | 0 | 3.71 | 6.49 | 9.42 | 10 | 9.56 | 10 | 1.15e+03 | 0.0344 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.614 | 0.458 | 0.343 | 0.256 | 0.198 | 0.148 | 0.0409 | 0.000245 | 0.00029 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.57 | 0.6 | 0.691 | 0.833 | 0.889 | 0.063 | 0.00029 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 21 | 2.96 | 0.0412 | 14.5 | 0.00022 |
| uniform stiffness | 16 | 16 | 2.32 | 0.0274 | 46.8 | 0.000227 |
| long chains 12 to 16 bodies | 8 | 5 | 2.91 | 0.134 | 6.5 | 0.000295 |
| trees | 8 | 8 | 1.45 | 0.0761 | 104 | 0.000319 |
| four-bar loop | 4 | 4 | 0.0799 | 0.149 | 88.6 | 0.000353 |
| stiffness above the trained range | 8 | 8 | 0.00636 | 2.06 | 0.498 | 0.000177 |
| time step below the trained range | 8 | 8 | 1.88 | 0.0156 | 2.85e+04 | 0.00448 |
Equivariance check (largest pose discrepancy under a world rotation): 7.63e-06
checkpoint: generated/liro_stage1_20261011/cluster/all_pair_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 1.19 | 1.66 | 2.18 | 2.28 | 2.23 | 2.57 | 0.243 | 0.0981 |
| uniform stiffness | 14 / 16 | 0 | 0.927 | 1.19 | 1.35 | 1.37 | 1.53 | 2.09 | 0.655 | 0.0595 |
| long chains 12 to 16 bodies | 7 / 8 | 0 | 0.992 | 1.11 | 1.21 | 1.48 | 1.48 | 1.98 | 0.0694 | 0.0608 |
| trees | 7 / 8 | 0 | 1.14 | 2.7 | 4.84 | 5.53 | 5.71 | 6.28 | 3.28 | 0.0829 |
| four-bar loop | 4 / 4 | 0 | 0.658 | 1.81 | 4.82 | 4.25 | 6.93 | 5.84 | 2.09 | 0.0224 |
| stiffness above the trained range | 8 / 8 | 0 | 0.977 | 1.18 | 1.42 | 2.44 | 3.78 | 4.57 | 0.266 | 0.0251 |
| time step below the trained range | 7 / 8 | 0 | 3.7 | 7.1 | 9.58 | 9.69 | 9.89 | 9.98 | 409 | 0.0684 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.613 | 0.458 | 0.343 | 0.256 | 0.196 | 0.146 | 0.0403 | 0.000246 | 0.00042 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.571 | 0.6 | 0.691 | 0.833 | 0.886 | 0.0662 | 0.00071 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 21 | 2.93 | 0.0322 | 20.3 | 0.000215 |
| uniform stiffness | 16 | 16 | 2.38 | 0.0561 | 38.9 | 0.000186 |
| long chains 12 to 16 bodies | 8 | 5 | 2.94 | 0.0936 | 17.7 | 0.000197 |
| trees | 8 | 8 | 1.58 | 0.0323 | 93.8 | 0.000301 |
| four-bar loop | 4 | 4 | 0.0713 | 0.0341 | 24 | 0.000309 |
| stiffness above the trained range | 8 | 8 | 0.0236 | 4.35 | 1.3 | 0.000141 |
| time step below the trained range | 8 | 8 | 0.469 | 0.0168 | 2.63e+04 | 0.00476 |
Equivariance check (largest pose discrepancy under a world rotation): 5.72e-06
checkpoint: generated/liro_stage1_20261011/gn_input_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 1.31 | 1.24 | 1.29 | 1.44 | 1.74 | 1.99 | 0.13 | 0.0335 |
| uniform stiffness | 15 / 16 | 0 | 0.972 | 0.895 | 0.802 | 0.708 | 0.726 | 0.761 | 0.144 | 0.0339 |
| long chains 12 to 16 bodies | 8 / 8 | 0 | 0.942 | 1.01 | 1.04 | 1 | 1.05 | 1.18 | 0.058 | 0.0332 |
| trees | 7 / 8 | 0 | 1.61 | 1.69 | 2.43 | 3.04 | 4.42 | 5.67 | 1.98 | 0.0336 |
| four-bar loop | 4 / 4 | 0 | 1.21 | 1.28 | 1.73 | 2.41 | 2.95 | 5.19 | 0.684 | 0.0333 |
| stiffness above the trained range | 8 / 8 | 0 | 1.02 | 1.22 | 1.41 | 1.52 | 1.98 | 2.25 | 0.0627 | 0.0332 |
| time step below the trained range | 8 / 8 | 0 | 4.67 | 5.22 | 6 | 8.02 | 8.9 | 9.2 | 137 | 0.0332 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.614 | 0.458 | 0.343 | 0.256 | 0.198 | 0.148 | 0.0409 | 0.000245 | 0.00029 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.57 | 0.6 | 0.691 | 0.833 | 0.889 | 0.063 | 0.00028 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 21 | 2.95 | 0.0571 | 23.1 | 0.000213 |
| uniform stiffness | 16 | 16 | 2.36 | 0.0204 | 41 | 0.000254 |
| long chains 12 to 16 bodies | 8 | 4 | 3 | 0.0796 | 2.29 | 0.000246 |
| trees | 8 | 8 | 1.63 | 0.0327 | 96.2 | 0.000314 |
| four-bar loop | 4 | 4 | 0.00119 | 0.0028 | 0.804 | 0.00025 |
| stiffness above the trained range | 8 | 8 | 0.0117 | 3.05 | 1.43 | 0.000186 |
| time step below the trained range | 8 | 8 | 1.47 | 0.0129 | 9.13e+03 | 0.00628 |
Equivariance check (largest pose discrepancy under a world rotation): 1.86e-05
checkpoint: generated/liro_stage1_20261011/cluster/gn_input_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 1.27 | 1.4 | 1.51 | 1.55 | 1.69 | 2.04 | 0.181 | 1.2236 |
| uniform stiffness | 14 / 16 | 0 | 0.94 | 1.02 | 0.913 | 0.915 | 0.934 | 0.892 | 0.148 | 0.0208 |
| long chains 12 to 16 bodies | 7 / 8 | 0 | 1.05 | 1.19 | 1.15 | 1.12 | 1.14 | 1.52 | 0.0972 | 0.0271 |
| trees | 7 / 8 | 0 | 1.26 | 1.49 | 2.58 | 3.06 | 3.42 | 4.03 | 1.38 | 0.0312 |
| four-bar loop | 4 / 4 | 0 | 0.844 | 1.63 | 1.59 | 2.5 | 3.42 | 5.78 | 9.6 | 0.0283 |
| stiffness above the trained range | 8 / 8 | 0 | 1.02 | 1.34 | 1.64 | 1.67 | 1.75 | 2.33 | 0.0349 | 0.0252 |
| time step below the trained range | 7 / 8 | 0 | 4.18 | 4.77 | 5.46 | 7.47 | 8.75 | 8.95 | 383 | 0.0230 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.613 | 0.458 | 0.343 | 0.256 | 0.196 | 0.146 | 0.0403 | 0.000246 | 0.00028 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.571 | 0.6 | 0.691 | 0.833 | 0.886 | 0.0662 | 0.00028 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 20 | 2.99 | 0.0386 | 14.4 | 0.000253 |
| uniform stiffness | 16 | 16 | 2.31 | 0.0444 | 36.9 | 0.000272 |
| long chains 12 to 16 bodies | 8 | 4 | 2.98 | 0.169 | 54 | 0.000183 |
| trees | 8 | 8 | 1.73 | 0.0642 | 177 | 0.000285 |
| four-bar loop | 4 | 4 | 0.0431 | 0.119 | 5.45 | 0.000414 |
| stiffness above the trained range | 8 | 8 | 0.0221 | 2.36 | 0.565 | 0.000172 |
| time step below the trained range | 8 | 8 | 0.687 | 0.0236 | 3.51e+03 | 0.00355 |
Equivariance check (largest pose discrepancy under a world rotation): 1.84e-05
checkpoint: generated/liro_stage1_20261011/gn_anchor_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 0.8 | 0.988 | 1.58 | 1.52 | 1.58 | 1.87 | 0.165 | 0.0330 |
| uniform stiffness | 15 / 16 | 0 | 0.597 | 0.685 | 0.914 | 1.11 | 1.15 | 1.22 | 0.282 | 0.0342 |
| long chains 12 to 16 bodies | 8 / 8 | 0 | 0.851 | 0.947 | 1.33 | 1.82 | 1.92 | 2.97 | 0.178 | 0.0342 |
| trees | 7 / 8 | 0 | 0.85 | 2.9 | 5.98 | 5.37 | 6.64 | 6.02 | 9.51 | 0.0335 |
| four-bar loop | 4 / 4 | 0 | 0.44 | 1.39 | 2.92 | 5.43 | 6.9 | 8.01 | 3.18 | 0.0337 |
| stiffness above the trained range | 8 / 8 | 0 | 0.844 | 0.86 | 0.946 | 1.3 | 1.7 | 2.02 | 0.0602 | 0.0347 |
| time step below the trained range | 8 / 8 | 0 | 1.91 | 5.59 | 8.96 | 9.5 | 9.64 | 9.82 | 318 | 0.0336 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.614 | 0.458 | 0.343 | 0.256 | 0.198 | 0.148 | 0.0409 | 0.000245 | 0.00028 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.57 | 0.6 | 0.691 | 0.833 | 0.889 | 0.063 | 0.00029 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 21 | 2.99 | 0.0956 | 49.4 | 0.000172 |
| uniform stiffness | 16 | 16 | 2.35 | 0.0146 | 67.5 | 0.000189 |
| long chains 12 to 16 bodies | 8 | 5 | 2.97 | 0.152 | 88.5 | 0.000291 |
| trees | 8 | 8 | 1.53 | 0.0637 | 296 | 0.000326 |
| four-bar loop | 4 | 4 | 0.103 | 0.0391 | 13.1 | 0.000311 |
| stiffness above the trained range | 8 | 8 | 0.0176 | 0.724 | 0.148 | 0.000165 |
| time step below the trained range | 8 | 8 | 0.801 | 0.0221 | 3.66e+04 | 0.00585 |
Equivariance check (largest pose discrepancy under a world rotation): 7.63e-06
checkpoint: generated/liro_stage1_20261011/cluster/gn_anchor_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 0.768 | 0.999 | 2 | 2.79 | 2.58 | 3.1 | 0.874 | 0.0928 |
| uniform stiffness | 14 / 16 | 0 | 0.616 | 0.661 | 0.853 | 1.22 | 1.26 | 1.26 | 0.369 | 0.0244 |
| long chains 12 to 16 bodies | 7 / 8 | 0 | 0.806 | 0.851 | 1.44 | 2.54 | 3.3 | 3.94 | 0.242 | 0.0546 |
| trees | 7 / 8 | 0 | 0.707 | 2.25 | 7.13 | 8.46 | 7.55 | 7.78 | 95.8 | 0.1169 |
| four-bar loop | 4 / 4 | 0 | 0.547 | 3.8 | 5.94 | 8.44 | 10 | 10 | 267 | 0.0242 |
| stiffness above the trained range | 8 / 8 | 0 | 0.869 | 0.804 | 1.09 | 1.94 | 2.41 | 3.01 | 0.462 | 0.0207 |
| time step below the trained range | 7 / 8 | 0 | 1.6 | 6.25 | 9.52 | 9.63 | 9.71 | 10 | 2.19e+03 | 0.0248 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.613 | 0.458 | 0.343 | 0.256 | 0.196 | 0.146 | 0.0403 | 0.000246 | 0.00060 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.571 | 0.6 | 0.691 | 0.833 | 0.886 | 0.0662 | 0.00059 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 21 | 2.96 | 0.108 | 51.3 | 0.000246 |
| uniform stiffness | 16 | 16 | 2.33 | 0.0617 | 93 | 0.000211 |
| long chains 12 to 16 bodies | 8 | 5 | 2.95 | 0.352 | 88 | 0.000204 |
| trees | 8 | 8 | 2.16 | 0.13 | 386 | 0.000296 |
| four-bar loop | 4 | 4 | 0.336 | 0.237 | 128 | 0.000324 |
| stiffness above the trained range | 8 | 8 | 0.0175 | 3.44 | 0.489 | 0.000156 |
| time step below the trained range | 8 | 8 | 0.926 | 0.0435 | 1.78e+04 | 0.00532 |
Equivariance check (largest pose discrepancy under a world rotation): 8.46e-06
checkpoint: generated/liro_stage1_20261011/teacher_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 1.2 | 1.52 | 1.94 | 2.14 | 2.27 | 2.4 | 0.196 | 0.0299 |
| uniform stiffness | 15 / 16 | 0 | 0.985 | 1.06 | 1.15 | 1.14 | 1.09 | 1.1 | 0.316 | 0.0297 |
| long chains 12 to 16 bodies | 8 / 8 | 0 | 1.04 | 1.14 | 1.26 | 1.43 | 2 | 2.79 | 0.221 | 0.0294 |
| trees | 7 / 8 | 0 | 1.16 | 2.11 | 4.25 | 5.28 | 5.31 | 6.57 | 4.81 | 0.0293 |
| four-bar loop | 4 / 4 | 0 | 0.785 | 1.51 | 2.09 | 2.11 | 2.66 | 3.81 | 1.99 | 0.0295 |
| stiffness above the trained range | 8 / 8 | 0 | 1.05 | 1.28 | 1.21 | 1.3 | 1.72 | 2.36 | 0.0383 | 0.0294 |
| time step below the trained range | 8 / 8 | 0 | 3.31 | 5.58 | 7.36 | 9.37 | 8.78 | 9.25 | 653 | 0.0298 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.614 | 0.458 | 0.343 | 0.256 | 0.198 | 0.148 | 0.0409 | 0.000245 | 0.00028 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.57 | 0.6 | 0.691 | 0.833 | 0.889 | 0.063 | 0.00028 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 21 | 2.93 | 0.0368 | 22.2 | 0.000248 |
| uniform stiffness | 16 | 16 | 2.29 | 0.0279 | 65.5 | 0.00025 |
| long chains 12 to 16 bodies | 8 | 5 | 2.97 | 0.0986 | 18.8 | 0.000117 |
| trees | 8 | 8 | 1.62 | 0.0772 | 70.2 | 0.000258 |
| four-bar loop | 4 | 4 | 0.188 | 0.23 | 31.7 | 0.00023 |
| stiffness above the trained range | 8 | 8 | 0.00459 | 0.911 | 0.113 | 0.000188 |
| time step below the trained range | 8 | 8 | 0.725 | 0.0266 | 2.5e+04 | 0.00458 |
Equivariance check (largest pose discrepancy under a world rotation): 7.63e-06
checkpoint: generated/liro_stage1_20261011/cluster/teacher_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 1.31 | 1.69 | 2.13 | 2.19 | 2.36 | 3.07 | 0.434 | 0.5556 |
| uniform stiffness | 14 / 16 | 0 | 0.922 | 1.05 | 1.07 | 1.11 | 1.04 | 1.38 | 0.305 | 0.0944 |
| long chains 12 to 16 bodies | 7 / 8 | 0 | 0.981 | 1.02 | 1.22 | 1.43 | 1.31 | 1.93 | 0.13 | 0.0246 |
| trees | 7 / 8 | 0 | 1.18 | 2.48 | 5.99 | 7.55 | 6.79 | 7.15 | 8.29 | 0.0260 |
| four-bar loop | 4 / 4 | 0 | 0.958 | 2.14 | 3.33 | 2.91 | 4.32 | 5.61 | 8.73 | 0.0294 |
| stiffness above the trained range | 8 / 8 | 0 | 1.03 | 1.32 | 1.48 | 2.17 | 3.49 | 4.49 | 0.3 | 0.0249 |
| time step below the trained range | 7 / 8 | 0 | 3.23 | 6.09 | 8.88 | 9.53 | 9.39 | 10 | 2.16e+03 | 0.0269 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.613 | 0.458 | 0.343 | 0.256 | 0.196 | 0.146 | 0.0403 | 0.000246 | 0.00028 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.571 | 0.6 | 0.691 | 0.833 | 0.886 | 0.0662 | 0.00027 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 21 | 2.89 | 0.0434 | 15.6 | 0.000251 |
| uniform stiffness | 16 | 16 | 2.46 | 0.0201 | 60.7 | 0.000274 |
| long chains 12 to 16 bodies | 8 | 5 | 2.99 | 0.109 | 14.1 | 0.000224 |
| trees | 8 | 8 | 1.77 | 0.0529 | 218 | 0.000274 |
| four-bar loop | 4 | 4 | 0.12 | 0.0262 | 20.1 | 0.000258 |
| stiffness above the trained range | 8 | 8 | 0.0234 | 1.75 | 0.55 | 0.000144 |
| time step below the trained range | 8 | 8 | 1.08 | 0.0546 | 3.46e+04 | 0.00577 |
Equivariance check (largest pose discrepancy under a world rotation): 5.72e-06
checkpoint: generated/liro_stage1_20261011/ik_fk_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 2.51 | 2.28 | 2.26 | 2.34 | 2.85 | 3.31 | 0.703 | 0.0525 |
| uniform stiffness | 15 / 16 | 0 | 2.24 | 2.14 | 2.18 | 2.23 | 2.68 | 3.03 | 1.66 | 0.0396 |
| long chains 12 to 16 bodies | 8 / 8 | 0 | 3.66 | 2.99 | 3.36 | 3.67 | 4.25 | 4.64 | 1.19 | 0.0488 |
| trees | 7 / 8 | 0 | 5.65 | 4.92 | 4.91 | 5.48 | 6.09 | 7.32 | 12.2 | 0.0567 |
| stiffness above the trained range | 8 / 8 | 0 | 1.53 | 2.07 | 1.94 | 1.88 | 1.86 | 2.21 | 0.013 | 0.0621 |
| time step below the trained range | 8 / 8 | 0 | 5.15 | 5.34 | 6.76 | 8.15 | 8.75 | 9.46 | 344 | 0.0612 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.614 | 0.458 | 0.343 | 0.256 | 0.198 | 0.148 | 0.0409 | 0.000245 | 0.00028 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.57 | 0.6 | 0.691 | 0.833 | 0.889 | 0.063 | 0.00029 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 24 | 0.000122 | 0.0462 | 4.69 | 0.0943 |
| uniform stiffness | 16 | 16 | 3.05e-05 | 0.0334 | 5.19 | 0.027 |
| long chains 12 to 16 bodies | 8 | 8 | 7.86e-06 | 0.651 | 21.5 | 0.722 |
| trees | 8 | 8 | 1.53e-05 | 0.0553 | 50.4 | 0.373 |
| stiffness above the trained range | 8 | 8 | 1.53e-05 | 0.0645 | 0.0647 | 0.0409 |
| time step below the trained range | 8 | 8 | 3.81e-06 | 0.00671 | 1.82e+03 | 1.67 |
Sets not scored:
- four-bar loop: the reduced arms have no closed-loop route (spec 3)
Equivariance check (largest pose discrepancy under a world rotation): 7.63e-06
checkpoint: generated/liro_stage1_20261011/cluster/ik_fk_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 2.4 | 2 | 1.89 | 1.91 | 2.25 | 2.71 | 0.315 | 0.0869 |
| uniform stiffness | 14 / 16 | 0 | 2.21 | 1.9 | 1.8 | 1.96 | 2.04 | 2.49 | 0.977 | 0.0346 |
| long chains 12 to 16 bodies | 7 / 8 | 0 | 3.48 | 2.22 | 2.02 | 2.07 | 2.71 | 3.06 | 0.381 | 0.0572 |
| trees | 7 / 8 | 0 | 3.9 | 3.19 | 2.96 | 3.16 | 3.51 | 4.52 | 3.94 | 0.0758 |
| stiffness above the trained range | 8 / 8 | 0 | 1.11 | 1.42 | 1.22 | 1.18 | 1.21 | 1.21 | 0.00368 | 0.0243 |
| time step below the trained range | 7 / 8 | 0 | 4.69 | 5.21 | 5.71 | 6.3 | 7.14 | 7.73 | 185 | 0.0321 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.613 | 0.458 | 0.343 | 0.256 | 0.196 | 0.146 | 0.0403 | 0.000246 | 0.00029 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.571 | 0.6 | 0.691 | 0.833 | 0.886 | 0.0662 | 0.00073 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 24 | 3.05e-05 | 0.238 | 1.71 | 0.0603 |
| uniform stiffness | 16 | 16 | 1.53e-05 | 0.0406 | 5.53 | 0.0812 |
| long chains 12 to 16 bodies | 8 | 8 | 7.64e-06 | 11.3 | 88.6 | 1.43 |
| trees | 8 | 8 | 1.53e-05 | 0.254 | 100 | 0.0619 |
| stiffness above the trained range | 8 | 8 | 7.63e-06 | 0.0304 | 0.0155 | 0.024 |
| time step below the trained range | 8 | 8 | 3.81e-06 | 0.00324 | 129 | 2.85 |
Sets not scored:
- four-bar loop: the reduced arms have no closed-loop route (spec 3)
Equivariance check (largest pose discrepancy under a world rotation): 9.54e-06
checkpoint: generated/liro_stage1_20261011/reduced_learned_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 2.56 | 2.33 | 2.33 | 2.73 | 3.02 | 2.92 | 0.399 | 0.0495 |
| uniform stiffness | 15 / 16 | 0 | 2.19 | 2.22 | 2.32 | 2.64 | 3.09 | 3.01 | 1.14 | 0.0497 |
| long chains 12 to 16 bodies | 8 / 8 | 0 | 3.77 | 2.76 | 2.43 | 2.65 | 3.26 | 3.64 | 0.716 | 0.0608 |
| trees | 7 / 8 | 0 | 5.88 | 5.67 | 5.18 | 5.97 | 7.49 | 8.39 | 13.1 | 0.0487 |
| stiffness above the trained range | 8 / 8 | 0 | 1.12 | 1.77 | 1.69 | 1.56 | 1.7 | 1.61 | 0.00708 | 0.0508 |
| time step below the trained range | 8 / 8 | 0 | 6.36 | 6.77 | 6.94 | 7.86 | 8.32 | 8.17 | 223 | 0.0505 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.614 | 0.458 | 0.343 | 0.256 | 0.198 | 0.148 | 0.0409 | 0.000245 | 0.00029 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.57 | 0.6 | 0.691 | 0.833 | 0.889 | 0.063 | 0.00028 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 24 | 0.000122 | 0.0567 | 2.29 | 0.0834 |
| uniform stiffness | 16 | 16 | 1.53e-05 | 0.038 | 3.28 | 0.0647 |
| long chains 12 to 16 bodies | 8 | 8 | 1.53e-05 | 15.5 | 46.2 | 9.34 |
| trees | 8 | 8 | 1.53e-05 | 0.101 | 27.7 | 0.146 |
| stiffness above the trained range | 8 | 8 | 1.53e-05 | 0.0267 | 0.0122 | 0.011 |
| time step below the trained range | 8 | 8 | 3.81e-06 | 0.0105 | 430 | 1.38 |
Sets not scored:
- four-bar loop: the reduced arms have no closed-loop route (spec 3)
Equivariance check (largest pose discrepancy under a world rotation): 5.72e-06
checkpoint: generated/liro_stage1_20261011/cluster/reduced_learned_s73/checkpoints/best_validation.pt
Geometric mean over the worlds whose float64 reference converged. Every ratio is clipped to [0.001, 10]; a non-finite ratio becomes 10 and counts in the failed column.
| set | worlds (trusted reference) | failed | K=1 | K=2 | K=4 | K=8 | K=16 | K=32 | energy fraction at K=32 | s per query |
|---|---|---|---|---|---|---|---|---|---|---|
| training distribution | 23 / 24 | 0 | 2.58 | 2.4 | 2.37 | 2.53 | 2.92 | 3.22 | 0.526 | 0.8086 |
| uniform stiffness | 14 / 16 | 0 | 2.16 | 2.2 | 2.33 | 2.67 | 3.06 | 3.33 | 1.11 | 0.0290 |
| long chains 12 to 16 bodies | 7 / 8 | 0 | 3.9 | 2.69 | 2.21 | 2.29 | 3.2 | 3.89 | 0.504 | 0.0403 |
| trees | 7 / 8 | 0 | 4.88 | 3.31 | 3.46 | 4.13 | 5.47 | 6.21 | 10 | 0.0336 |
| stiffness above the trained range | 8 / 8 | 0 | 1.88 | 1.29 | 1.15 | 1.23 | 1.66 | 1.84 | 0.00769 | 0.0287 |
| time step below the trained range | 7 / 8 | 0 | 6.5 | 7.43 | 7.32 | 7.77 | 7.76 | 7.82 | 88 | 0.0291 |
| variant | worlds (trusted reference) | failed | n=1 | n=2 | n=4 | n=8 | n=16 | n=32 | n=512 | gap at 512 | s per iteration (n=32) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| compliant ALM | 15 / 16 | 0 | 0.613 | 0.458 | 0.343 | 0.256 | 0.196 | 0.146 | 0.0403 | 0.000246 | 0.00028 |
| legacy | 15 / 16 | 0 | 0.617 | 0.462 | 0.571 | 0.6 | 0.691 | 0.833 | 0.886 | 0.0662 | 0.00027 |
The n=512 column is the formulation floor, not a failure to converge: LIRO's hinge angular row uses the deviation form of kappa and SolverVBD uses the plain logarithm, so the two energies have different minimisers. That floor measures about rho 0.09 on the uniform-stiffness set.
Survival is the trainer's rule: finite energy below the blow-up factor times the loss floor, and every anchor gap below gap_fail L_ref. The energy column is the geometric mean over the surviving worlds.
| set | worlds | survived | max anchor gap (L_ref) | final residual | energy final / initial | momentum drift |
|---|---|---|---|---|---|---|
| training distribution | 24 | 24 | 6.1e-05 | 0.0381 | 1.48 | 0.0799 |
| uniform stiffness | 16 | 16 | 3.05e-05 | 0.0347 | 3.75 | 0.0397 |
| long chains 12 to 16 bodies | 8 | 8 | 1.53e-05 | 11.6 | 47.6 | 0.596 |
| trees | 8 | 8 | 1.53e-05 | 0.0349 | 56 | 0.284 |
| stiffness above the trained range | 8 | 8 | 7.63e-06 | 0.0411 | 0.0207 | 0.0176 |
| time step below the trained range | 8 | 8 | 3.81e-06 | 0.0092 | 241 | 0.658 |
Sets not scored:
- four-bar loop: the reduced arms have no closed-loop route (spec 3)
Equivariance check (largest pose discrepancy under a world rotation): 5.72e-06
Left: the network with K queries per physical step. Middle: SolverVBD (compliant ALM) at the same number of iterations. Right: SolverVBD at many iterations, the converged reference. All three start from the same state and see the same prescribed base motion. One video frame per physical step, so the playback is slow motion.
From the rollouts of section 4: the largest joint anchor gap of the world after every physical step, measured with the same joint geometry for every solver (the distance between the two anchor points of a joint, in units of the reference length L_ref; the trainer fails a world above 3 L_ref). An anchored chain under load has a physical gap, the stretch of its soft joints, so the question is whether the network reproduces the gap of the converged solver, not whether it reaches zero.
| arm | world | joints | mean gap, network (L_ref) | mean gap, SolverVBD same iterations | mean gap, SolverVBD reference | network / reference | network rollout |
|---|---|---|---|---|---|---|---|
| base | fast_dt [0] | 10 | 0.0458 | n/a | n/a | n/a | all 600 steps |
| base | four_bar [1] | 4 | 0.00142 | 1.98e-05 | 1.95e-05 | 72.6 | all 600 steps |
| base | long_chains [0] | 16 | 0.984 | n/a | n/a | n/a | step 7 |
| base | long_chains [3] | 12 | 0.00815 | n/a | n/a | n/a | all 600 steps |
| base | stiff [3] | 7 | 0.00363 | n/a | n/a | n/a | all 600 steps |
| base | trees [0] | 6 | 0.00742 | n/a | n/a | n/a | all 600 steps |
| base | trees [2] | 7 | 0.688 | n/a | n/a | n/a | all 600 steps |
| base | uniform_K [1] | 11 | 0.0273 | 0.0281 | 0.0278 | 0.982 | all 600 steps |
| base | uniform_K [12] | 12 | 0.0333 | 0.0536 | 0.0339 | 0.983 | all 600 steps |
| base | uniform_K [15] | 9 | 0.022 | 0.0218 | 0.0218 | 1.01 | all 600 steps |
| base | uniform_K [3] | 7 | 2.69e-04 | 8.32e-05 | 3.52e-05 | 7.65 | all 600 steps |
| base | uniform_K [4] | 3 | 0.0176 | 0.0178 | 0.0177 | 0.996 | all 600 steps |
| base | uniform_K [8] | 8 | 0.00124 | 1.77e-04 | 8.03e-05 | 15.4 | all 600 steps |
| base | fast_dt [0] twin | 10 | 0.00886 | 0.00903 | 0.00907 | 0.977 | all 600 steps |
| base | long_chains [0] twin | 16 | 0.615 | 0.634 | 0.616 | 0.998 | all 600 steps |
| base | long_chains [3] twin | 12 | 0.0403 | 0.0774 | 0.0563 | 0.717 | all 600 steps |
| base | stiff [3] twin | 7 | 0.00307 | 5.68e-05 | 2.06e-05 | 149 | all 600 steps |
| base | trees [0] twin | 6 | 5.32e-04 | 4.25e-04 | 4.25e-04 | 1.25 | all 600 steps |
| base | trees [2] twin | 7 | 0.673 | 0.407 | 0.407 | 1.65 | all 600 steps |
| learned_tr | trees [0] | 6 | 0.0823 | n/a | n/a | n/a | all 600 steps |
| learned_tr | uniform_K [1] | 11 | 0.0266 | 0.0281 | 0.0278 | 0.955 | all 600 steps |
| learned_tr | uniform_K [8] | 8 | 8.21e-04 | 1.77e-04 | 8.03e-05 | 10.2 | all 600 steps |
| no_tr | trees [0] | 6 | 0.00251 | n/a | n/a | n/a | all 600 steps |
| no_tr | uniform_K [1] | 11 | 0.0268 | 0.0281 | 0.0278 | 0.964 | all 600 steps |
| no_tr | uniform_K [8] | 8 | 9.40e-04 | 1.77e-04 | 8.03e-05 | 11.7 | all 600 steps |
The same ten configurations and seed ran on the OSMO cluster, one L40 each (dispatcher inbox entry 26, campaign liro1, code aa1e901e0). They are a second sample of every arm: the same code and data, a different GPU and a different order of floating-point sums, so the curves differ from the local runs where training is sensitive. Reports are pulled from the branches osmo/liro/liro1/<arm>_s73.
| arm | ablation | status | epochs | best metric | best epoch (K x H) | last metric | survivors (last) | hours | local copy: best metric |
|---|---|---|---|---|---|---|---|---|---|
| base | design | completed | 36 / 36 | 0.03394 | 36 (8 x 128) | 0.03394 | 4 / 4 | 2.04 | 0.03979 (36 epochs) |
| learned_tr | 6 | completed | 36 / 36 | 0.1058 | 28 (8 x 128) | 0.1546 | 4 / 4 | 1.92 | 0.09338 (36 epochs) |
| no_tr | 6 | completed | 36 / 36 | 0.06764 | 31 (8 x 128) | 0.0767 | 4 / 4 | 1.85 | 0.0587 (36 epochs) |
| art_frame | 7 | completed | 36 / 36 | 0.01457 | 36 (8 x 128) | 0.01457 | 4 / 4 | 2.01 | 0.01863 (36 epochs) |
| all_pair | 8 | completed | 36 / 36 | 0.03684 | 35 (8 x 128) | 0.03804 | 4 / 4 | 2.13 | 0.04379 (36 epochs) |
| gn_input | 3 | completed | 36 / 36 | 0.02662 | 29 (8 x 128) | 0.06362 | 4 / 4 | 2.21 | 0.02721 (36 epochs) |
| gn_anchor | 4 | completed | 36 / 36 | 0.05523 | 32 (8 x 128) | 0.062 | 4 / 4 | 2.23 | 0.05515 (36 epochs) |
| teacher | 5 | completed | 36 / 36 | 0.04351 | 35 (8 x 128) | 0.04937 | 4 / 4 | 3.76 | 0.03237 (36 epochs) |
| ik_fk | 2 | completed | 36 / 36 | 0.009914 | 32 (8 x 128) | 0.01473 | 4 / 4 | 2.46 | 0.01111 (36 epochs) |
| reduced_learned | 1 | completed | 36 / 36 | 0.009763 | 35 (8 x 128) | 0.01192 | 4 / 4 | 2.73 | 0.01176 (36 epochs) |
<run>/report.json (per-epoch records) and <run>/bench/summary.md. Rebuild this page with python -m experiments.liro.results_page.