curvature proxy

Testing Curvature Signals for Adaptive Flow Matching Step Control

The angle between consecutive velocity evaluations in a multistep sampler is free to compute, but does it make a usable curvature signal for adaptive stepping?

4 min readMachine Learning
Testing Curvature Signals for Adaptive Flow Matching Step Control
A zero-cost curvature proxy predicts Euler step error for flow matching, but per-sample step control adds nothing over a static grid (Anima, 12 units; related to CAT-Flow) [R]

The angle between two consecutive velocity vectors in a flow-matching sampler is a tempting signal, but it turns out to be a noisy and unreliable guide for adaptive stepping. A rigorous test on the Anima model shows that while the angle does predict next-step error with high correlation, the practical gains vanish once you account for the noise floor from bf16 evaluation and classifier-free guidance. A static grid that simply allocates steps where the average angle rate is highest, no per-sample adaptation needed, consistently beats the normal schedule by 30-43% in error. That's the real story here: the best improvement comes from a smarter fixed schedule, not from trying to adapt on the fly.

This finding echoes a pattern we've seen before. When Looping a small AI model beats a model over six times its size, the lesson was that architectural efficiency can outperform raw scale. Here, the lesson is that schedule efficiency, knowing where to put your computational budget, can outperform adaptive complexity. The researcher tested whether a per-sample oracle could beat a static grid tailored to the average curvature of the model, and the answer was no: the gain was within noise, under 0.6% in a synthetic toy. That's a sobering result for anyone hoping that online curvature signals would unlock a new regime of sampling efficiency. It suggests the geometry of the flow trajectory is largely deterministic across prompts for a given model, so you can precompute a good schedule and stop worrying about real-time adaptation.

What makes this work stand out is the care taken to decompose what the angle actually measures. A neat identity shows that the cosine of the angle between velocities captures only rotation, not speed changes, and speed changes account for less than 0.4% of the acceleration energy in the bulk of the trajectory, jumping to 8-9% only at the very start and end. The evaluation noise from bf16 and CFG is around 1.7 degrees and does not shrink with smaller step sizes, so any controller with a target angle below that floor collapses to its minimum step. That noise floor is a hard limit that any adaptive method must respect, and it explains why the cosine controller tested here lost to the normal schedule and was essentially determined by its initial step size. The static grid approach, by contrast, sidesteps the noise problem entirely because it averages curvature over many samples before deciding where to place steps.

The practical takeaway is straightforward: if you are running a flow-matching model for image generation, spend your optimization effort on a static, model-specific step schedule rather than on adaptive controllers. The weighted grid tested here, which distributes steps proportionally to the mean angle rate and then applies an error-propagation profile, achieved 41-50% lower error than the normal schedule and won on LPIPS in 11 out of 12 units for N=8. The one prompt class where it lost, foliage, saw a 16% increase in latent L2, which hints that different image content may have different curvature profiles worth investigating. That's the detail to watch: can a single static schedule generalize across prompt types, or will we need a small library of schedules? The answer will determine whether this approach becomes a simple drop-in improvement or requires per-scene tuning. For now, the data says to trust the average, not the angle.

From Machine Learning

Question. A multistep sampler has consecutive velocity evaluations for free. Is the angle between them a usable curvature signal for adaptive stepping, and does using it online beat a fixed grid?

Read the original at Machine Learning