IDC research, conducted with Lenovo, found that for every 33 AI proof of concepts a company launches, only four reach wide-scale deployment. S&P Global Market Intelligence’s 2025 survey of over 1,000 enterprises found the average organisation scrapped 46% of its AI PoCs before production. Those numbers are not primarily a data science problem. They are an infrastructure problem dressed up as one.
The pattern is consistent: a team validates a model on shared cloud instances, borrowed GPU capacity, or a single beefy workstation. The model works. The business case looks real. Then someone tries to promote it, and the wheels come off inside 30 days. Network throughput is a fraction of what the training cluster had. Storage latency is three times what the inference service needs. A sovereignty requirement surfaces that the original environment never had to satisfy. The PoC was never wrong; it was just never tested against production conditions.
This article is a pre-mortem. Run these checkpoints before you commit to an architecture, not after the first production incident.
The storage flip that surprises almost everyone
Training and inference do not just differ in compute profile; their storage requirements are, in important ways, opposite. Training is dominated by sequential write throughput. A modern large language model generates checkpoint writes of around 350 GB every few hours to preserve training state. If the storage system cannot absorb that burst, GPU resources sit idle at real cost while the write queue drains.
Inference flips the problem entirely. A production inference cluster handling 100 concurrent requests needs upward of 100,000 IOPS at sub-millisecond latency, because the model must load weights and context data before generating any response. NVMe-backed block storage with sub-millisecond latency reduces time-to-first-token by 60 to 80% compared to network-attached storage, according to infrastructure benchmarks from teams running production inference at scale. Double the concurrent requests and you double the IOPS requirement, linearly.
The PoC ran on the same storage tier as the training job. Production inference has completely different physics. That mismatch is not a tuning problem; it is an architecture problem.
A 70B-parameter model in half-precision occupies roughly 140 GB. If you are serving more than one model simultaneously across inference servers, that storage footprint multiplies fast. Some distributed storage architectures silently consume 5 GB of DRAM and 4 CPU cores per GPU node in overhead; at any meaningful cluster size, that is a significant fraction of your compute budget gone before a single inference request lands.
The checkpoint: run your inference storage tier through a realistic concurrent-request simulation before you lock in the architecture. Sequential read speed is not the metric that matters here.
GPU selection: the default is almost never right
Training-class GPUs, H100s and their successors, are designed to maximise throughput across a sustained workload. That is exactly what you want during training. It is often not what you want during inference, where the bottleneck is latency per request rather than aggregate throughput.
Inference-optimised configurations, smaller VRAM, lower power draw, FP8 or INT8 precision support, frequently deliver better cost per request even though their peak FLOPS are lower. The right answer depends on the model size, the latency target, and the concurrency profile. The wrong answer is to default to “use the same GPU we trained on” without running the numbers.
A 2024 State of AI Infrastructure survey found that only 15% of organisations achieve greater than 85% GPU utilisation during peak periods, and 74% are dissatisfied with current GPU scheduling tools. Under-utilisation at that scale is not a scheduling configuration problem; it is usually a sign that the GPU type was chosen for the PoC’s convenience rather than the production workload’s shape.
Network interconnect: the gap between a demo and a cluster
Within a multi-GPU node, NVLink provides around 900 GB/s of bandwidth between GPUs. Between nodes, InfiniBand or RoCE networks typically deliver 400 to 800 Gb/s per node. Those numbers matter because distributed training moves gradients continuously across that fabric; any congestion or latency spike stalls every GPU in the job simultaneously.
A PoC that runs on a single node, or on shared cloud instances where the interconnect is opaque, has never touched this constraint. The team sees good throughput on the training run, assumes the architecture scales, and then discovers on first multi-node promotion that their network tier cannot sustain gradient synchronisation at the required rate. The fix often requires a hardware change, not a software patch.
Inference networking is a different problem: it is about the path from the load balancer to the inference server, and from the inference server to the storage tier. Latency here feeds directly into time-to-first-token and tail latency at the 99th percentile. Both matter for any user-facing application.
Sovereignty constraints that appear only at production scale
A PoC running on borrowed capacity in a hyperscaler region may never surface a data residency question, because the data volume is small and the team controls access informally. Production changes both of those facts. Data volumes grow, access controls need to be auditable, and the legal team starts asking where model weights and training data actually live.
For organisations in finance, healthcare, or defence, the answer to that question has contractual and regulatory weight. Model weights trained on proprietary or sensitive data are themselves sensitive assets; their storage location and access log are subject to the same scrutiny as the underlying data. An architecture that cannot answer “where does this data reside, under whose legal jurisdiction, and who can access it” is not production-ready regardless of its technical performance.
We run GPU inference and training workloads for customers across these sectors on our Bare Metal infrastructure, where the physical isolation, the legal jurisdiction, and the access control chain are explicit from day one rather than retrofitted after a compliance review surfaces the gap.
The architectural readiness checklist
Before promoting any AI PoC, work through these checkpoints explicitly:
- Storage profile: Have you benchmarked random IOPS at your target concurrency, not just sequential throughput? Does your storage tier scale IOPS linearly with concurrent requests?
- GPU selection: Is the GPU type chosen for the production inference latency target, or for the training job that preceded it? Have you modelled cost per request across at least two GPU configurations?
- Network interconnect: Have you tested multi-node gradient synchronisation under realistic data volumes? Do you know the latency profile between your inference servers and your storage tier?
- Utilisation baseline: What is your expected GPU utilisation at peak? If the answer is below 70%, the scheduling or batching architecture needs revisiting before you scale hardware.
- Data residency: Can you answer, with documentation, where every data asset lives, under which jurisdiction, and who holds the encryption keys? Is that answer stable as the workload scales?
- Failure modes: What happens to in-flight inference requests when a node fails? Is checkpoint recovery tested at production data volumes, or only at PoC scale?
Pilot purgatory is an infrastructure problem as much as an organisational one
The industry term “pilot purgatory” describes projects that demonstrate technical validity but never reach production deployment. Most analyses attribute this to organisational readiness, executive sponsorship, or business alignment. Those factors are real. But IDC’s own framing is direct: the low conversion rate from PoC to production indicates low organisational readiness “in terms of data, processes and IT infrastructure.” Infrastructure is named explicitly.
The exponential effort curve between prototype and production is not just about code quality or model accuracy. It is about the physical layer: the storage IOPS, the network fabric, the GPU configuration, the access control model. A PoC that was never tested against those constraints has not validated the architecture; it has validated the model on an architecture that does not yet exist.
Run the infrastructure checkpoint before the business case is locked. The cost of discovering a storage or network gap during a compliance review or a production incident is an order of magnitude higher than discovering it during architecture planning.




