Learn how hybrid cloud storage combines local NVMe performance with scalable object storage to improve ML training speed, scalability, and efficiency.
A stalled training run is the most expensive kind of idle. The accelerators are rented by the hour, the schedule is already committed, and the job sits there waiting on a shard that has not landed yet. The usual reaction is to add more GPUs. The real constraint often sits one layer below, in how training data is held and delivered to the node. Hybrid cloud storage answers that problem directly: park the working set on local NVMe, where reads are close to instant, and park the full corpus in object storage, where capacity is cheap and effectively unlimited. Get the split right and ML storage stops deciding how fast your team can ship a model.
A cloud storage architecture becomes hybrid when two or more tiers with different cost and latency profiles serve the same workload behind one access path. For machine learning, that usually means three layers: NVMe drives attached to the training node, a shared cache or parallel file system in the same region, and durable cloud object storage holding every version of every dataset.
The point is not redundancy. Each tier is priced and engineered for a different job. NVMe buys microsecond latency and several gigabytes per second of sequential read, at a cost per terabyte nobody would accept for a petabyte archive. Object storage buys durability and elasticity at a first-byte latency your data loader cannot absorb inside a tight training loop. A hybrid design lets each tier do the part it is actually good at.
Training is a read-amplification workload. A single epoch touches the entire dataset, and a full run touches it dozens of times. Augmentation, tokenization, and decode work sit between the read and the accelerator, so the loader has to stay ahead of the GPU rather than keep pace with it. Sustained data throughput across the whole run matters far more than a benchmark peak.
Put that corpus only on object storage and every epoch pays network latency and per-request cost again. Put it only on local disk and you are capped by what fits on one node, with no version history and nothing left when the instance is reclaimed.
NVMe holds up under concurrency. Dozens of loader workers hitting the same device still get predictable service times, which is what keeps the queue in front of the GPU full. It is also the right home for anything written repeatedly during a run: intermediate features, decoded frames, and augmentation scratch space.
Treat it as a cache, not a home. Node-local drives are ephemeral, sized in single-digit terabytes, and invisible to the rest of the cluster. Anything that only exists there is one preemption away from gone.
Cloud object storage is where the dataset actually lives. It gives you versioning, lifecycle rules, cross-region replication, and a flat cost curve as the corpus grows to petabytes. Several training clusters, an evaluation job, and a labeling team can all read it at once.
The constraints are real and worth designing around. First-byte latency runs in the tens of milliseconds, request rates are throttled per prefix, and egress is billed. Using object storage for ML training works when access is sequential, batched, and prefetched well ahead of the compute that needs it.
Four numbers tell you whether your ML storage design is working: samples per second at the loader, accelerator wait time per step, cache hit rate on the local tier, and bytes egressed per epoch. Watch them together. A high hit rate with rising wait time points at CPU-bound preprocessing. Falling hit rates with steady egress usually means the working set outgrew the node.
ML infrastructure rewards this kind of accounting. Storage is the one layer where a modest design change buys back hours of accelerator time every week, and a well-planned hybrid cloud storage tier pays for itself long before the next hardware refresh.
It is an architecture that combines two or more storage tiers with different performance and cost profiles, typically fast local drives alongside durable cloud object storage, presented to the workload through one access path.
Yes, as a cache tier. NVMe delivers the low latency and high concurrency that data loaders need to keep accelerators fed. Because node-local drives are small and ephemeral, they should hold the working set, not the full dataset.
No single tier wins. Most production setups pair NVMe on the training node with object storage as the system of record, and add a regional cache when several clusters read the same corpus.
NVMe is block storage attached directly to a machine, with microsecond latency and limited capacity. Object storage is accessed over the network via HTTP APIs, with higher latency but near-unlimited capacity, durability, and versioning.
It holds the full versioned dataset that training, evaluation, and labeling all read from, and it scales as the corpus grows. Sequential access patterns and prefetching keep its latency off the critical path.