If you build vision systems for retail shelves, security cameras, or robots, you've probably never searched for an LLM VRAM guide. You don't need one. You need to know which GPU actually trains an object detection model without wasting money on headroom you'll never use. Ultralytics released YOLO26 in January 2026, and it's a good moment to answer that question with real numbers instead of vibes.
This guide covers what changed architecturally in YOLO26, how much VRAM and how many GPUs you actually need at different dataset scales, and which GPU cloud tier makes sense for your training job, with live pricing. For the equivalent LLM-side guide, see the best open-source LLMs by VRAM tier post, which mirrors this format for language models.
Why YOLO26 Changes the GPU Math for Vision Training
YOLO26 (Ultralytics, January 2026) removes non-maximum suppression (NMS) as a post-processing step, producing end-to-end predictions directly instead of running a separate filtering pass (Roboflow). It also drops Distribution Focal Loss (DFL), which broadens export compatibility across TFLite, CoreML, OpenVINO, TensorRT, and ONNX. Neither change moves the needle on training-side GPU requirements: they simplify inference and deployment, not the memory footprint of the training loop itself.
What does affect training is a new optimizer and two new loss components, and they're worth understanding before you size a GPU for the job.
What's New: NMS-Free Architecture, MuSGD Optimizer, ProgLoss and STAL
MuSGD is a hybrid SGD/Muon optimizer, borrowing an optimization approach from the Kimi K2 LLM's training recipe and applying it to vision, aimed at more stable convergence during training (Roboflow). ProgLoss (Progressive Loss Balancing) reweights the loss function over the course of training so the model doesn't overfit to large, easy objects early and ignore small ones. STAL (Small-Target-Aware Label Assignment) biases label assignment toward small and partially occluded targets during training. Ultralytics points to IoT, robotics, and aerial imagery as the use cases that benefit most.
None of this changes the parameter count. Across the five sizes, YOLO26 ranges from 2.4M parameters (YOLO26n) to 55.7M (YOLO26x), with COCO mAP(50-95) running from 40.9 to 57.5 (Ultralytics docs). For comparison, the smallest widely-used open-source LLM most teams self-host starts around 1-2 billion parameters, two orders of magnitude larger than YOLO26x. That gap is the whole reason a VRAM guide written for vision teams needs to say different things than one written for LLM teams.
Small-Object Accuracy Gains and What They Cost in Training Compute
The accuracy gains from ProgLoss and STAL come from how labels get assigned and weighted during training, not from a bigger backbone. That's good news for cost: you get better small-object detection without a proportional VRAM increase. DigitalOcean published a hands-on tutorial fine-tuning YOLO26n on the SKU-110K retail shelf dataset (100 epochs, 640px images) on an H200 GPU Droplet (DigitalOcean). It's a solid walkthrough of the training command, but it doesn't publish training duration, batch size, or cost, which is exactly the gap a retail or security team needs filled before they commit budget to a training run.
Ultralytics' own training loop gives you the tools to answer that gap yourself without guessing: batch=-1 auto-fits batch size to roughly 60% of available VRAM, and the trainer will auto-retry with a halved batch size (up to three times) if it hits an out-of-memory error on the first epoch (Ultralytics docs). That auto-fit behavior is the actual mechanism you should rely on to size a GPU, more on that in the next section.
VRAM and Multi-GPU Requirements for Training at Production Scale
The direct answer to "how much VRAM does YOLO26 training need": for the model weights alone, almost none. YOLO26x at FP32 is 55.7M params × 4 bytes ≈ 223MB. Even at unquantized precision, every YOLO26 size fits comfortably in the smallest cloud GPU you can rent. The constraint that actually determines your GPU tier is activation memory, which scales with image resolution squared and batch size, not with model parameters.
VRAM by Model Size, YOLO26n Through YOLO26x
| Model | Parameters | COCO mAP (50-95) | FP32 weight memory | Practical GPU floor |
|---|---|---|---|---|
| YOLO26n | 2.4M | 40.9 | ~10MB | Any modern GPU |
| YOLO26s | 9.5M | 48.6 | ~38MB | Any modern GPU |
| YOLO26m | 20.4M | 53.1 | ~82MB | Any modern GPU |
| YOLO26l | 24.8M | 55.0 | ~99MB | Any modern GPU |
| YOLO26x | 55.7M | 57.5 | ~223MB | Any modern GPU |
(Parameter counts and mAP figures from Ultralytics docs.)
Notice the "practical GPU floor" column is identical across all five sizes. That's not an oversight, it's the point. The variable that actually changes your GPU requirement is dataset scale and image resolution, which is where the next two sections matter more than the model-size table does.
How Dataset Scale Changes the Math: COCO vs Objects365 vs a Custom Retail/Security Dataset
COCO 2017's training set has 118,287 images across 80 categories (Ultralytics docs). Objects365 has roughly 2 million training images across 365 categories and 30 million bounding boxes (Objects365), about 17x more training images than COCO. That's the real driver of GPU tier: more images per epoch means more wall-clock time per epoch at a fixed batch size, and the incentive to run a bigger batch (and therefore more VRAM) to keep training time reasonable.
A custom retail shelf dataset (SKU-110K-style, densely packed similar-looking products) or a security camera dataset typically lands somewhere between COCO and Objects365 in scale, but often needs higher resolution than 640px, since small or partially occluded objects (a security camera's distant subject, a shelf's back-row SKU) lose detail when downscaled. STAL was built specifically for this case, but higher resolution costs VRAM quadratically: doubling image size roughly quadruples activation memory at a fixed batch size. This is the actual number to plan around, more than dataset image count alone.
Here's the math worked through on a scenario we see a lot: a retail shelf dataset in the SKU-110K style, trained at 1280px instead of 640px because the back-row SKUs need the extra detail. Whatever batch size a 24GB card like the RTX 4090 fits comfortably at 640px on YOLO26s or YOLO26m, expect it to drop to roughly a quarter of that at 1280px, since activation memory scales with resolution squared while the GPU's VRAM stays fixed. That's the point where teams either accept a smaller batch and slower convergence, or move up to a 48GB L40S to hold the batch size steady. Run model.train(data=..., imgsz=1280, batch=-1) and let Ultralytics' auto-fit logic find the exact number for your card in the first epoch, which is faster and cheaper than guessing from a spec sheet.
When One GPU Stops Being Enough: Data-Parallel Training and NVLink Bandwidth
Ultralytics supports multi-GPU training natively with device=[0, 1] for explicit GPU selection (Ultralytics docs). The question isn't whether it's supported, it's when it's worth the added cost. Three scenarios justify it:
- Objects365-scale pretraining, where a single epoch over 2 million images takes long enough that splitting the batch across GPUs meaningfully cuts training time.
- High-resolution training (1280px or larger) for small-object or aerial detection, where per-GPU batch size drops so low that data-parallel scaling recovers throughput.
- Video pipeline training, where you're processing frame sequences instead of static images and need the aggregate memory to hold larger effective batches.
When you do scale to multiple GPUs, interconnect bandwidth matters for how much of that scaling you actually get back. NVIDIA's H100 SXM has 900GB/s of NVLink bandwidth between GPUs, versus 600GB/s on the PCIe H100 NVL variant, which uses a more limited NVLink bridge rather than a full mesh (NVIDIA). For data-parallel training, that bandwidth difference shows up directly in gradient-sync overhead between steps. If you're running a genuinely multi-GPU training job rather than a single card, SXM-form-factor GPUs are the better fit. The distributed training guide covering FSDP, DeepSpeed, and Megatron goes deeper on data-parallel scaling mechanics, and while it's written for LLM training, the gradient-sync and interconnect bottleneck concepts transfer directly to CNN detection models.
Best GPU Cloud Options for CV Training Jobs, Ranked by Cost
Here's where dataset scale turns into an actual GPU choice and a dollar figure. Pricing below is Spheron on-demand and spot, split by instance type per the marketplace API.
Budget Tier: RTX 4090 / RTX 5090 for Prototyping and Small Custom Datasets
If you're validating a detection pipeline on a few thousand labeled images, an early-stage retail pilot, or testing STAL's small-object gains on a sample of your own footage, RTX 4090 on Spheron starts at $0.58/hr on-demand. Its 24GB of GDDR6X is far more than any YOLO26 size needs for weights, so the entire budget goes toward batch size and resolution headroom. For teams that want the newer Blackwell-generation card, you can rent RTX 5090 at $0.68/hr on-demand, with 32GB of GDDR7 giving extra room if you're prototyping at 1280px instead of 640px.
One caveat worth knowing before you build a production pipeline on either card: NVIDIA's GeForce EULA restricts data center use of GeForce GPUs. That's a fine tradeoff for prototyping and short-lived training jobs, but if you're running a standing production training pipeline, the L40S below is the enterprise-certified equivalent. The H100 vs RTX 4090 comparison breaks down the consumer-vs-data-center tradeoff in more depth if you're deciding between the two for a specific workload.
Mid Tier: L40S and A100 for Production Fine-Tuning Runs
Once you're fine-tuning on COCO-scale data (118K+ images) or a real production retail/security dataset, the L40S is the practical sweet spot at $0.96/hr on-demand: 48GB VRAM, data-center reliability, and enough headroom to run larger batches at 640px or step up to 1280px without hitting OOM retries constantly.
For teams that want more raw throughput per training run, on-demand A100 80GB capacity runs about $1.48/hr, with spot pricing dropping to roughly $1.19/hr for training jobs you can checkpoint and resume (spot instances can be reclaimed without notice, so save checkpoints every 15-30 minutes if you go this route). The larger 80GB pool matters most if you're training at higher resolution or with a larger batch than the L40S comfortably fits.
Scale Tier: H100 (and Multi-GPU H100) for Objects365-Scale or Video Pipelines
Once your training job is genuinely Objects365-scale (roughly 2 million images) or you're processing video frame sequences at production volume, single-GPU H100 PCIe capacity starts at $2.01/hr on-demand, a large step up in memory and throughput over the mid tier without moving to multi-GPU yet.
For actual multi-GPU data-parallel training, an 8-GPU H100 SXM5 node (NVLink-connected at 900GB/s) runs about $5.01/hr per GPU on-demand, roughly $40/hr for the full node, or about $23.26/hr on spot pricing for fault-tolerant training runs. That's a meaningful cost jump from the mid tier, and it should only be the choice once dataset scale or resolution has actually pushed you past what a single 48-80GB GPU can iterate through in reasonable wall-clock time. Teams building vision pipelines alongside robotics foundation models often hit this scale together. The OpenVLA deployment guide covers GPU sizing for the vision-language-action side of that stack, and the SAM 3 deployment guide covers the adjacent segmentation workload if your pipeline needs pixel-level masks alongside bounding boxes.
Quick Decision Table by Dataset Size and Budget
| Scenario | Dataset scale | GPU | On-demand price | Why this tier |
|---|---|---|---|---|
| Prototyping, pipeline validation | Few thousand images | RTX 4090 (24GB) | $0.58/hr | Weights are trivial; you're paying for iteration speed, not memory |
| Higher-res prototyping | Few thousand to ~20K images | RTX 5090 (32GB) | $0.68/hr | Extra VRAM headroom for 1280px experiments |
| Production fine-tuning, COCO-scale | ~100K-150K images | L40S (48GB) | $0.96/hr | Data-center reliability plus batch/resolution headroom |
| Higher-throughput production training | Same scale, faster iteration | A100 (80GB) | $1.48/hr ($1.19/hr spot) | Larger memory pool for bigger batches |
| Objects365-scale or video pipelines | ~500K-2M+ images | H100 PCIe (single) | $2.01/hr | Step up in memory/throughput before multi-GPU |
| Objects365-scale, time-constrained | ~2M+ images, tight deadline | 8x H100 SXM5 (NVLink) | ~$5.01/hr per GPU (~$40/hr total) | Data-parallel scaling with high-bandwidth interconnect |
Pricing fluctuates based on GPU availability. The prices above are based on 9 Jul 2026 and may have changed. Check current GPU pricing → for live rates.
Whatever tier you land on, the actual training workflow doesn't change: pick your GPU, launch a container with a CUDA/PyTorch image via Spheron's docs, install Ultralytics, and run model.train() with batch=-1 so the auto-fit logic sizes your batch to the card instead of you guessing. If it stops fitting mid-training, the OOM auto-retry will halve the batch for you before it fails outright.
Common Mistakes That Waste Money on CV Training GPUs
A few patterns show up again and again in how teams pick (and overpay for) GPUs for vision training.
Sizing for the model instead of the batch. Since YOLO26's weights top out at 223MB even for the largest variant, the model itself is never what fills your VRAM. Teams that reserve an A100 or H100 "to be safe" on model size alone are usually paying for headroom the weights don't need. Size for your target resolution and batch, not the parameter count.
Skipping batch=-1 and guessing instead. Ultralytics' auto-batch logic targets roughly 60% VRAM utilization and halves the batch automatically (up to three retries) if it hits an OOM. Manually picking a batch size and hand-tuning it after crashes burns GPU-hours you're paying for. Let the auto-fit find the ceiling first, then adjust from there if you need more conservative headroom for long unattended runs.
Going multi-GPU before the dataset justifies it. An 8-GPU H100 SXM5 node is roughly 40x the hourly cost of a single RTX 4090. That jump only pays off at Objects365-scale data, high-resolution (1280px+) small-object work, or when wall-clock time genuinely matters more than cost. Fine-tuning on a few hundred thousand images at 640px rarely needs it.
Running spot jobs without a checkpoint cadence. Spot pricing on A100 and H100 SXM5 capacity is meaningfully cheaper, but spot instances can be reclaimed without notice. If your training script isn't checkpointing every 15-30 minutes, a reclaim mid-run costs you more in lost compute time than the spot discount saved.
Defaulting to data-center cards for short-lived prototyping. The GeForce EULA restriction on data center use matters for standing production pipelines, not for a weekend spent validating whether STAL actually helps your small-object recall on a sample dataset. Prototyping work is exactly where the RTX 4090 or 5090 price point earns its keep.
If your team is training YOLO26 or another detection model on retail, security, or robotics footage, matching GPU tier to dataset scale is the single biggest cost lever you have. Spin up a card and test your own training throughput before committing to a bigger tier than you need.
Frequently Asked Questions
It depends on dataset size, not model size. YOLO26's largest variant, YOLO26x, has only 55.7M parameters, so weight memory is trivial on any modern GPU. An RTX 4090 (24GB) or RTX 5090 (32GB) handles prototyping and small custom datasets fine. Once you move to COCO-scale data (118,287 training images) or larger, an L40S (48GB) or A100 (80GB) gives you the batch size and throughput headroom to iterate faster. Objects365-scale pretraining or multi-camera video pipelines are where a single H100 or a multi-GPU H100 cluster starts to matter.
Less than most people assume, and for a different reason than LLM training. YOLO26's weights range from about 10MB (YOLO26n) to 223MB (YOLO26x) at FP32, so the model itself never fills a GPU. The real VRAM consumer is activation memory, which scales with image resolution squared and batch size, not parameter count. Ultralytics' training loop supports batch=-1 to auto-fit around 60% of available VRAM, and it will auto-halve the batch size (up to three retries) if it hits an out-of-memory error, so the practical answer is: pick a GPU for your target batch size and resolution, not for the model.
Only past a certain dataset and resolution scale. A single 24-48GB GPU comfortably handles COCO-scale fine-tuning (118K images) at 640px. Multi-GPU data-parallel training earns its cost when you're training on Objects365-scale data (2 million images, 365 categories), running higher resolutions like 1280px for small-object or aerial work, or need to cut wall-clock training time for iteration speed. Ultralytics supports multi-GPU natively via `device=[0, 1]`, and NVLink-connected GPUs (like SXM-form-factor H100s at 900GB/s) reduce the gradient-sync overhead that limits scaling efficiency on PCIe-only setups.
For prototyping and small custom datasets, an RTX 4090 is the lowest-cost entry point on Spheron at $0.58/hr on-demand. For production fine-tuning on COCO-scale or larger custom datasets, the L40S at $0.96/hr on-demand is the practical sweet spot: 48GB VRAM, data-center reliability, and enough headroom for larger batches at 640px or 1280px. Spot pricing brings the A100 down to roughly $1.19/hr for fault-tolerant training jobs you can checkpoint.
Not meaningfully at the hardware level. YOLO26 keeps parameter counts in the same range as prior YOLO generations (2.4M to 55.7M across the n/s/m/l/x sizes), so it doesn't require a bigger GPU tier by itself. The added training-time components, MuSGD, ProgLoss, and STAL, run during the forward/backward pass Ultralytics already handles, and don't change the memory footprint materially. The GPU decision is still driven by your dataset size and target resolution, not by which YOLO generation you're on.
