Flat where the data isn’t
Table of Contents
A regime where the optimizer is not the bottleneck and cannot become one — how to recognise it, why every optimizer-side fix I tried did nothing, and why the one data-side intervention that appeared to work had to be withdrawn. There is a kind of hard problem where making the optimizer better is not a bad idea. It is a category error. The short version. Some regimes are flat in exactly the directions where the data is absent — not steep, not badly scaled, just unmeasured. In that regime every optimizer-side and objective-side fix I tried left the loss where it was, and the one data-side intervention that appeared to work turned out to have changed what “work” was measured against. The survivable lesson is diagnostic: look at the curvature before you reach for a better solver. I spent part of a research programme mapping where optimization is difficult, and the regimes turned out to have genuinely different mechanisms. Some are landscape problems: there are bad places to get stuck, and the fix is geometric. Some are conditioning problems: the landscape is fine but the scales are so disparate that first-order methods crawl, and the fix is preconditioning or a different solver class. Some are arithmetic problems, where the signal you need falls below the precision the method carries. And one is not an optimization problem at all, in a specific and testable sense: the curvature is flat in exactly the directions where the data is absent. That regime is the subject of this post, because I think it is the one most relevant to how models are actually trained now, and because the most interesting thing I learned there was a claim I had to take back. The setting is the ordinary one: a large output space, an extremely skewed frequency distribution over that space, and a limited sample. Most of the output classes are rare. That much is familiar, and it is usually treated as a nuisance to be handled with better sampling or a loss re-weighting. What made this regime distinct was not that rare classes are hard. It is what the second derivative looks like in their directions. If a class does not appear in your sample at all, the model’s predicted probability for it sits at essentially zero, and the curvature of the loss in that class’s direction is essentially zero with it. The surface is not steep, not treacherous, not badly scaled. It is flat, and it is flat for the most boring possible reason: there is no measurement there. The consequence is not subtle. A second-order method has nothing to invert. A first-order method has nothing to descend. An adaptive method has nothing to adapt to. The direction is not hard to move along — it is unconstrained, and any value is as good as any other as far as the objective can tell. And in the sample I looked at, this was not a fringe condition affecting a tail of exotic classes. The majority of the output space never appeared at all, and a further slice appeared so rarely as to be indistinguishable from noise. The flat region was most of the space. Once you can measure that, the regime becomes diagnosable rather than atmospheric. You are not in “the long tail is annoying”. You are in “a large fraction of my parameters are being asked to learn from nothing”. This is the part I want to be precise about, because it is measured and it is boring in exactly the way a result should be. I ran the interventions you would expect: a second-order method applied where the conditioning was worst — the sort of thing that should shine if the problem is conditioning — objective-side smoothing, and a normalisation of the representation feeding the layer. Each of these is a reasonable response to a badly conditioned problem, and each of them is standard. None of them moved the loss. Two details are worth more than the headline. First, the expensive second-order intervention did produce a small improvement at its own step — and the improvement did not survive handing control back to the ordinary optimizer. Resuming normal training from the improved point returned the loss to where it had been, and in fact slightly worse than the plateau it started from. Whatever it had done was not a durable change in what the model knew; it was a local rearrangement that the ordinary dynamics undid. Second, the smoothing interventions did exactly what smoothing does: they made the surface nicer. One of them improved a conditioning statistic substantially. The loss did not care. You can make a landscape easier to walk on without making it lead anywhere new. That is the negative result, and it is solid: in this regime, the optimizer and the objective are not where the leverage is. Not “less leverage than data” — I am deliberately not saying that, for reasons that are the rest of this post — but flatly, no measurable leverage in the experiments I ran. If the deficit is informational, the obvious move is to fix the data. So I did the obvious thing: I built a version of the training set that over-represented the rare classes, and trained on it. The loss dropped substantially. Against a second-order intervention that had barely moved anything at enormous cost, the comparison was dramatic. I had a headline: the data-side intervention beats the optimizer-side intervention by a large factor. I did not ship it, and the reasons are the most useful thing in this post. The over-represented set contained no new information. It was built by duplicating existing rows. The set of distinct observations was identical to the baseline — same inputs, same targets, a large fraction of the new file being literal copies. It changed the weighting of the objective and nothing else. But the deficit I had just diagnosed was informational: those directions are flat because nothing was ever observed in them. Duplicating a row that does not contain an observation of a rare class cannot create one. The intervention was, by construction, incapable of addressing the thing I said it addressed. And the two arms were not evaluated on the same thing. Each arm was scored against a sample drawn from its own training distribution, and one of those distributions had been deliberately re-weighted. So the “improvement” is equally consistent with the model having successfully fit the up-weighted duplicates — a model doing well on a distribution that was altered in its favour. There was no common yardstick. There was also one seed per arm and no held-out split, either of which alone would be disqualifying. And the conditioning story, which I had been about to use as mechanistic support, was mixed. The worst-case statistic improved, which is what I had looked at. The typical-case statistics got worse. I had reported the one that agreed with me. So the ratio was withdrawn as non-commensurable. Two numbers measured against two different distributions do not form a ratio, and no amount of effect size repairs that. What survives is the negative half — every optimizer-side and objective-side intervention left the loss where it was — and one sentence that I now think is the sharpest thing the episode produced: The only arm that moved the loss was the only arm whose evaluation distribution changed. Here is why I think this matters beyond one experiment, and it cuts against the enthusiastic version of “data matters” as much as it cuts against optimizer-tuning. The lesson is not data beats optimization. The lesson is that these are answers to different questions, and that most of the popular data-side moves are not on the side they appear to be on. Consider what the standard interventions actually do to the information content of a training set: Only the last of these can touch a flat direction, and only if the invariance you assert happens to be true. The uncomfortable corollary is that a large fraction of what gets called “data work” is objective engineering wearing a data costume. It is often useful. It is not the thing that fills a flat direction. And because it frequently does move a number, it is easy to mistake for the thing that fills a flat direction — which is precisely the error I nearly published. If the diagnosis is that some directions are flat because they contain no observations, then the interventions that can help are the ones that change what has been observed: That last option is underrated and unglamorous. If a large part of your output space cannot be estimated from the sample you have, the honest response may be to stop pretending it can be — to tie those parameters together, back them off to a prior, or fold them into a coarser structure — rather than to keep them free and hope the optimizer finds something. None of these are optimizer choices. That is the point. The practical value of this, if there is any, is diagnostic rather than prescriptive. Before reaching for a better optimizer, it is worth asking whether the direction you care about has any curvature at all. If it does and the scales are bad, you have a conditioning problem and the standard toolkit applies. If it does and the signal is smaller than the arithmetic your method carries, you have a precision problem and the fix lives in the numerics. If the curvature is essentially absent, you have a coverage problem, and every hour spent on the first two is an hour spent on a question the data cannot answer. The failure mode I want to warn about is not choosing wrong. It is choosing without looking — and then being rescued by an intervention that appears to work because it quietly changed what “work” was measured against. One programme, one setting, a small model at a small scale. The interventions I ran are the obvious ones, not an exhaustive sweep; “no measurable leverage in what I tried” is weaker than “no leverage exists”, and I do not claim the stronger version. The flat-direction diagnosis is a statement about a sample and a vocabulary, and how large that region is in any particular real training run is an empirical question I have not answered at scale. What I am confident about is narrower and, I think, still worth saying: the regime exists, it is diagnosable by looking at curvature rather than at loss curves, standard optimizer-side and objective-side interventions did nothing in it, and the intervention that looked like it worked did not survive being asked what it was measured against. I nearly published the version of this post with the impressive number in it. The number was real. The comparison was not. This post reports no experimental value, states no formula, and does not identify the subject matter of any manuscript under review.The signature
Everything I tried on the optimizer side did nothing
The claim I had to withdraw
Rows are not information
What would actually count
How to tell which regime you are in
Limits