Aviation history shows that an airline’s survival depends on how many hours each plane spends flying rather than on the ground.
In this article
Costs accrue by the calendar hour. Financing, depreciation, insurance, maintenance schedules, and crew contracts all run regardless of whether the aircraft is in the air. Revenue only happens during flight hours. Every hour spent on the ground reduces output while costs continue unchanged. Utilization sits downstream of nearly every other operational decision. Turnaround discipline, network design, maintenance planning, crew rostering, and spare parts availability all feed into that single number. A broken operation underneath keeps planes grounded no matter what else goes right.
A larger fleet increases capacity, but two airlines flying comparable fleets on similar routes can end up with very different economics. Most of that gap traces back to one measurement rather than fleet size.
Enterprise AI is running into the same structure, on a different piece of hardware. A GPU accrues cost by the calendar hour through financing, depreciation, power, and cooling, whether or not it is doing anything useful in a given moment. Its output only accrues by the compute hour. More GPUs helps in roughly the way a bigger fleet helps an airline: real capacity, a genuine advantage, and still no guarantee of the result that actually decides who wins. Two companies with comparable GPU budgets increasingly diverge based on how much of that hardware is doing something useful at any given moment, not on how much of it either one owns. That same number, like an airline’s utilization rate, sits downstream of nearly every other infrastructure decision a company makes. Intelligence has carried the industry this far. Utilization is where the next real constraint is forming.
The bottleneck moved from models to compute
The scarcity did not disappear as AI scaled. It moved up the chain, landing on a different resource entirely.
The first wave of enterprise AI was won on model quality. Bigger models, trained on more compute, evaluated against tougher benchmarks: parameter count and leaderboard position dominated the conversation, and the race produced models genuinely good enough to run real enterprise workloads. That capability arrives bundled with a dependency, though. Production AI runs on specialized hardware, and today that hardware is almost entirely GPUs.
GPUs are expensive, supply constrained, and in demand far beyond what is available, and this holds even at the very top of the market. In 2020, Microsoft built OpenAI a dedicated supercomputer: over 10,000 GPUs and 285,000 CPU cores, reported at the time as one of the five largest systems in the world, assembled to train what became GPT-3. At the time, it looked like an almost unimaginable concentration of hardware, the kind of number that made compute look like a solved problem for whoever could get access to it. Six years later, that number reads more like a starting point than a ceiling. By 2026, even the best capitalized labs on the planet were treating compute access as a live strategic constraint rather than a settled one. Anthropic alone was running simultaneous multi-gigawatt commitments across four separate hardware platforms, Amazon, Google, Microsoft, and AMD, layered within months of one another, while Meta signed a comparable multi-gigawatt deal of its own. Spreading commitments across four vendors at once is what compute scarcity looks like when a buyer has effectively unlimited capital and still cannot get enough from any single source.
Six years apart, both events marked the frontier of what a lab needed just to stay competitive. What changed in between has less to do with AI getting more capable, and everything to do with capability no longer being the binding constraint.
The same pattern shows up downstream of the labs, in a different form. Enterprises consuming these models through an API run into a pricing problem more than a hardware one. Cost scales linearly with tokens used, and that single fact separates the economics of a proof of concept from the economics of production almost completely. A PoC processing a few thousand requests a month looks affordable. The same workload at production volume can turn into a cost line that never quite clears. The alternative gaining ground is straightforward enough: enterprises acquiring their own GPUs and running models locally, trading a variable, linearly scaling cost for a fixed capital one.
API cost rises with usage, while owned infrastructure stays close to fixed. Past the breakeven point, the trade reverses.
That shift turns the GPU into infrastructure rather than a line item, sized for growth, sized for demand peaks, and therefore sized above what any given week actually needs. Which means the purchase does not close the problem. It opens a new one. The day the cluster comes online, the question stops being can we get accelerators and becomes can we keep them busy, and only the first question had a procurement team assigned to it. Signing for the hardware is the part with a deadline and an owner. Keeping it off the ground is the part that quietly decides whether the deal was worth signing.
These deals describe capacity commitments, not efficiency. How well that capacity gets used is a separate question, owned by different people, measured far less rigorously, and considerably further from being solved.
Why busy clusters still waste capacity
A cluster full of busy GPUs can still be wasting most of its potential, and the reason is almost always the same one. GPUs run continuously, day and night, while the demand placed on them does not. Infrastructure has to be sized for the peak, the moment training runs, batch jobs, and real time traffic all land at once, which leaves a meaningful share of capacity provisioned and unused outside that peak. Better forecasting could solve that on its own if every GPU could absorb every kind of work equally well. Few can, and that turns out to be the harder half of the problem.
The mismatch begins one layer deeper.
In the first generation of enterprise AI, a GPU’s job was largely singular: run inference. Today the same hardware supports training, fine-tuning, quantization, real-time inference, batch inference, embedding generation, and model evaluation, often for the same organization, sometimes for the same model, on the same cluster. Each of these workloads wants something different from the hardware, and the differences run deep. Real-time inference needs low latency above nearly everything else, because a slow response counts as a failed one. Batch work cares about throughput and tolerates delay, sometimes for hours. Training can occupy a GPU continuously for a stretch measured in hours or days. Quantization needs a large amount of capacity, but only briefly. A scheduler tuned for one of these will misallocate the other three almost by default. The failure does not always show up on a utilization dashboard either. A cluster can report high average occupancy while several queued jobs wait for a GPU shape that happens to be busy running something else entirely.
The exact workload mix varies by organization. The shape of the problem does not. This is also where the aircraft analogy runs into its limit, and the limit teaches something rather than just qualifying the comparison. An idle aircraft can usually be redeployed to any route in the fleet: a 737 sitting in Chicago can fly to Denver instead of Dallas without much penalty. An idle GPU can only absorb a workload whose memory, latency, and duration profile it can actually serve. That difference makes orchestration harder than fleet scheduling, and it is why the question stops being whether GPUs are occupied and turns into which workload should run on which GPU, at what time, with what priority. Buying another rack of GPUs adds capacity and cost, not a fix for the mismatch, and that new capacity can sit in the wrong shape at the wrong moment just as easily as the capacity already installed.
Intelligence moves into the infrastructure
Maximizing GPU ROI takes more than a one-time provisioning decision. It calls for continuous, active management of the infrastructure itself, running every hour rather than only at procurement time. What is emerging in response is a distinct discipline, GPU Management, an orchestration layer sitting between workloads, models, and hardware. Its job is to decide, continuously, which workload runs, when it runs, how it runs, and on which specific GPU in the cluster. None of this is exotic in concept. It is closer to what a good operations team already does by instinct, just formalized and running continuously instead of depending on someone noticing a problem.
Intelligence does not stop at the model boundary. The orchestration layer is making real-time allocation decisions the model itself has no visibility into.
Intelligence used to sit almost entirely in the model: bigger, better trained, more capable, and that was most of the game. Now it also has to sit in the infrastructure, in the layer deciding, moment to moment, which of several competing workloads gets the GPU that just freed up, and at what priority relative to everything else waiting in the queue. Keeping GPUs busy stops being the goal on its own, since busy is easy to fake by running low priority work that could have waited. Maximizing the return generated by each installed GPU becomes the actual target, and that turns out to be a far more continuous problem than the provisioning question that came before it.
Provisioning well does not make this go away so much as change its shape. A provisioning decision gets made once, at purchase time. An allocation decision gets made constantly: every time a job finishes, every new request that arrives, every shift in priority between a customer facing service and an internal training run. That frequency explains why the decision has moved from something a person handles case by case into something that has to run automatically. No engineer is watching a dashboard at three in the morning to decide whether a finished training run should hand its GPU to a queued batch job or hold it for an incoming burst of customer traffic. Something else has to make that call, continuously, and make it correctly often enough that nobody needs to check.
The discipline is new enough that its tooling and conventions are still forming, and no single playbook has emerged yet for what a mature GPU Management practice looks like. What has settled, at least, is where the constraint moved.
Specialization frees capacity; orchestration spends it
Specialization and orchestration solve different halves of the same problem.
Specialized, smaller models can perform specific tasks at a fraction of the resource cost a large generalist model would need for the same job, without giving up the quality the task requires. That has a direct effect on utilization. Workloads that once required a single, large model, occupying a large share of a cluster’s capacity for the full duration of the job, can instead run on smaller, task-specific models occupying a fraction of that footprint. Capacity that used to be entirely spoken for is suddenly free.
How much capacity specialization frees varies by workload and model, but the freed capacity still has to go somewhere or it just sits there. A smaller specialized model only converts
What it means
For people building and running these systems, the focus shifts from buying more hardware to managing what they already have. Procurement teams sign deals for capacity, but operations teams must decide how to use it. The goal is not simply to keep GPUs occupied, but to ensure they are running high-value work. This requires an automated layer that constantly reallocates resources based on workload needs, rather than relying on engineers to manually monitor dashboards.




