Optimizing Effective Training Time for Large-Scale Recommendation Systems
Listen
Radio episode about this paper
Transcript
Introduction to the show: ident: Computer Science. The day in computer science: software, systems and theory on arXiv.
Tom: I'm Tom.
Jane: And I'm Jane, here with Lu, Meng and our in-house large language model, Lalam.
Tom: We're looking at the paper: "Optimizing Effective Training Time for Large-Scale Recommendation Systems".
Jane: Here's the gist of the paper. Optimizing Effective Training Time for Large-Scale Recommendation Systems presents an operational framework called Effective Training Time (ETT%) to measure and reduce wasted GPU capacity across large-scale recommendation training fleets This analysis guides optimizations like communication elimination and pipeline overlap during trainer initialization; dynamic-shape handling, autotuning pruning, and reusable PyTorch 2 compilation caches; asynchronous checkpointing; standalone model publishing; and reductions in recovery cost ETT% improves on every benchmark, by 15.5% on average, and reaches 85% on our largest workload.
Tom: Operational Framework Definition The central idea is the hierarchy behind the scalar At Level 1, ETT% attributes lost time to Time to Start (TTS), Time to Recover (TTR), and Number of Failures (NoF).
Jane: At Level 2, instrumented phase boundaries localize the loss to six components, each mapped to an infrastructure system and an owning team.
Tom: Decomposition of Overhead Components The Level-1 decomposition of ETT% is defined as follows 1.
Title and authors: Tom: So we talked about what ETT percent is and how it breaks down. Now let’s look at the actual title and who wrote this paper, "Optimizing Effective Training Time for Large-Scale Recommendation Systems." It’s by Ding Mingming, Chen Ruilin, Huang Yuzhen, Qi Hang Qi, Yu Menglu, Tan San Tan.
Jane: It's a big group of people involved in this work. When you see this many authors on a paper about training fleets at scale, it tells you the problem is definitely complex and requires deep expertise from different areas.
Lu: They’re bringing together compiler folks, scheduler experts, and trainers who actually ship models to production. That breadth suggests they know that fixing one piece isn't enough for this kind of system.
Meng: From my side, I'm worried about the complexity of coordinating all those different teams to fix a single metric like ETT percent. It’s going to be hard to get everyone aligned on what needs fixing.
Lalam: The paper claims their contribution is an operational metric framework with this ETT percent and its two-level decomposition, along with a set of specific optimizations they suggest across initialization, compilation, checkpointing, model publishing, and failure handling.
The paper's summary: Tom: So what they actually propose is these specific fixes. They’re not just talking about the problem; they are proposing concrete changes to how the training pipeline runs. They cover everything from how you start a job to how you handle failures during training.
Jane: It’s about making those small operational tweaks that, when added together, give a big improvement in efficiency for these massive jobs. It’s less about inventing a whole new model and more about making the existing infrastructure run smarter.
Lu: They look at several areas: trainer initialization optimizations like communication elimination or pipeline overlap to speed up the start time, PyTorch two compilation optimizations to reduce cold cache time, and checkpoint optimization to minimize saving time <ref:2610.02057#pg2>.
Meng: I’m paying attention to those initialization fixes. Reducing the Time to Start from thirty-one point eight minutes down to twenty-three point one minutes sounds like a massive win for deployment speed on our end.
Lalam: They also suggest things like standalone model publishing, which separates the final training state from the GPU allocation, and scheduling knobs to handle preemption better. These are tangible steps that directly impact wall time.
The paper's improvements: Tom: Let's dig into the numbers they found for these improvements. They show that by applying these optimizations, they reduced Time to Start from thirty-one point eight minutes down to twenty-three point one minutes on Model D alone, which is a twenty-seven percent reduction.
Jane: That twenty-seven percent reduction in the start time is significant because every job has to go through that initialization phase at least once. So faster starts mean more GPUs available sooner for other work.
Lu: The recovery path reductions were particularly telling; they found that those reductions accounted for fifty-eight percent of the total time saved, and Time to Recover fell by a factor between one point eight and eight point six times the corresponding TTS reduction.
Meng: Fifty-eight percent of the savings coming from recovery is huge. It shows that fixing how we handle failures is where most of our time is being lost across the fleet. That's where I need to focus my engineering efforts right now.
Lalam: The paper also showed that the cumulative effect of these techniques decreased Time to Start from thirty-one point eight minutes to twenty-three point one minutes, which is a twenty-seven percent reduction overall for that specific component.
Conclusion: Tom: So, wrapping up on "Optimizing Effective Training Time for Large-Scale Recommendation Systems," the main implication is that by breaking down the overhead into TTS, TTR, and NoF, we can pinpoint exactly where to spend our engineering effort for maximum return.
Jane: It suggests that optimizing a single part of the pipeline isn't as effective as fixing a whole sequence of things—like improving initialization and handling failures together.
Lu: The paper provides the framework, but they also stress that this decomposition is useful because different teams own different layers, so remediation has to happen across team boundaries.
Meng: For production, it means we need better visibility into these component-level metrics rather than just looking at the total wall time for a job and hoping for the best.
Lalam: They confirmed that this metric framework works by showing how fleet-wide ETT percent rose from about eighty percent to above ninety percent after deployment, proving the methodology has value in practice.
Tom: So, we’ve seen how they use concrete numbers like a twenty-seven point eight percent reduction on Model D and a fifty-eight point eight percent saving coming from recovery path reductions. That was the core of this paper.
Jane: It’s important to remember that the fleet composition changes over time, so these metrics are measured for the fleet as it is operated, not just a fixed group of models.
Lu: The limitation they mentioned is that Goodput measures the full job lifetime but doesn't decompose it into infrastructure phases, which means we still have to manually connect those dots between the layers.
Meng: And I think that’s fair; if we can’t automatically map our infrastructure components to this ETT percent framework, then all this beautiful decomposition just stays in the research papers.
Meta Platforms, Inc.
cs.IR
Submitted: 2026-10-01
Updated: 2026-10-29
Code: https://github.com/pytorch/pytorch
Importance score: 86/100
The gist: Optimizing Effective Training Time for Large-Scale Recommendation Systems presents an operational framework called Effective Training Time (ETT%) to measure and reduce wasted GPU capacity across
Key concepts
- Effective Training Time (ETT%)
- A metric used to quantify wasted GPU capacity during model training. It breaks down lost time into three main parts: Time to Start (TTS), Time to Recover (TTR), and the Number of Failures (NoF). This helps teams pinpoint exactly where their GPUs are being wasted.
- Time to Start (TTS)
- This component measures the time from submitting a job until it reaches the first step that advances the data cursor. It includes setup tasks like scheduling, hardware initialization, and model compilation. Optimizing TTS directly speeds up when training can begin.
- Time to Recover (TTR)
- This measures the time spent recovering after a failure occurs. It covers everything from detecting an error to restoring a checkpoint and replaying training steps. Reducing TTR is critical because failures force costly restarts, and minimizing this time directly improves overall efficiency.
Terminology
Summary
Optimizing Effective Training Time for Large-Scale Recommendation Systems presents an operational framework called Effective Training Time (ETT%) to measure and reduce wasted GPU capacity across large-scale recommendation training fleets This analysis guides optimizations like communication elimination and pipeline overlap during trainer initialization; dynamic-shape handling, autotuning pruning, and reusable PyTorch 2 compilation caches; asynchronous checkpointing; standalone model publishing; and reductions in recovery cost ETT% improves on every benchmark, by 15.5% on average, and reaches 85% on our largest workload.
Operational Framework Definition
The central idea is the hierarchy behind the scalar At Level 1, ETT% attributes lost time to Time to Start (TTS), Time to Recover (TTR), and Number of Failures (NoF). At Level 2, instrumented phase boundaries localize the loss to six components, each mapped to an infrastructure system and an owning team.
Decomposition of Overhead Components
The Level-1 decomposition of ETT% is defined as follows
-
Time to Start (TTS) covers
Submission to the first step that advances the data cursor; covers scheduling, hardware setup, launcher init, and compilation
. -
Time to Recover (TTR) is defined as
Per failure: detection to the next step that advances the cursor; covers shutdown, checkpoint restore, replayed training, and repeated startup
. -
Number of Failures (NoF) is the
Count of interruptions over the job lifecycle
.
System-Specific Optimization Techniques
The study identifies several areas for systematic optimizations across the full training stack
**- Trainer initialization optimizations include communication optimizations, pipeline optimizations, and parallel component initialization. For instance, communication optimizations reduced TTS from 31.8 to 30.2 minutes. Pipeline optimization involved supplying a synthetic fast-batch at trainer startup
to remove the dependency of PT2 compilation on the DPP, decreasing TTS from 30.2 to 25.4 minutes. Parallel component initialization reduced TTS from 25.4 to 23.1 minutes. PyTorch 2 (PT2) compilation optimizations focused on fewer compiled graphs, less autotuning search, and reusable artifacts
. For example, the cumulative cold-cache PT2 compilation ablation fell from 2,050 to 254 seconds. Checkpoint optimization involves tuning the checkpoint interval to minimize WTT = UTT + NoS × CSBT. Standalone model publishing was implemented to separate the final training state from the GPU allocation, reducing shutdown time by approximately 30 minutes per job. Scheduling optimizations included Stage-aware preemption
and Tenant scheduling knobs
to reduce preemption costs. The cumulative effect of these techniques decreased TTS from 31.8 to 23.1 minutes, a reduction of 27 percent. Recovery path reductions accounted for 58% of the total time saved, and TTR fell by 1.8–8.6 times the corresponding TTS reduction. The shutdown contribution to savings was 23%, checkpoint 11%, and TTS 8%. Recovery dominates because a job pays TTS once and pays TTR at every failure. The ratio of the two reductions ranged from 1.8–8.6 for TTR relative to TTS. Fast-batch and compilation interaction resulted in a reduction where the critical path contained the longer of the two, so the reduction is ∆fb = min(DPP, PT2). The two effects compose differently, and across restarts each reduction carries the factor (1+NoF) of Equation (3). The fleet-wide ETT% rose from about 80% to above 90% after deployment. The fleet gain is therefore smaller than the mean gain of 15.5 points in Figure 6 because the fleet contains models that received no optimization work in this period. The decomposition also falsified the first hypothesis, which blamed application failures because their absolute daily count rose once attempts per job were normalized and preemption excluded. The owning teams then acted on the attributed components, and ETT% recovered over time. The fleet trend measures the fleet as operated, not a fixed cohort because a subset of models migrated between training platforms during the window. The population at the end of the window differs from the population at the start because the fleet composition changed over time. The internal ETT% dashboard serves as a control loop that holds gains, and each Level-2 component carries a service level. The decomposition also falsified the first hypothesis, which blamed application failures because their absolute daily count rose once attempts per job were normalized and preemption excluded. Once attempts per job were normalized and preemption excluded, attempts stayed flat and the application failure rate fell. The owning teams then acted on the attributed components, and ETT% recovered over time. The fleet gain converts directly into released capacity because a job that spends less wall time outside the training loop returns its GPUs to other workloads sooner. The threat to the fleet measurement is that a subset of models migrated between training platforms during the window, making their ETT% unstable across the migration. The fleet composition changed over time, so the population at the end of the window differs from the population at start. The trend therefore measures the fleet as operated, not a fixed cohort. The internal ETT% dashboard is the control loop that holds gains, and each Level-2 component carries a service level. The decomposition also falsified the first hypothesis, which blamed application failures because their absolute daily count rose once attempts per job were normalized and preemption excluded. Once attempts per job were normalized and preemption excluded, attempts stayed flat and the application failure rate fell. The owning teams then acted on the attributed components, and ETT% recovered over time. The fleet gain converts directly into released capacity because a job that spends less wall time outside the training loop returns its GPUs to other workloads sooner. The threat to the fleet measurement is that a subset of models migrated between training platforms during the window, making their ETT% unstable across the migration. The fleet composition changed over time, so the population at end of window differs from population at start. The trend therefore measures the fleet as operated, not a fixed cohort. The internal ETT% dashboard is the control loop that holds gains, and each Level-2 component carries a service level. The decomposition also falsified the first hypothesis, which blamed application failures because their absolute daily count rose once attempts per job were normalized and preemption excluded. Once attempts per job were normalized and preemption excluded, attempts stayed flat and the application failure rate fell.
Improvements for AI systems
-
Trainer initialization optimizations reduce Time to Start (TTS) by 27 percent by enabling communication optimizations, pipeline parallelization, and parallel component initialization, leading to a TTS reduction from 31.8 minutes to 23.1 minutes on Model D. This makes job startups significantly faster across the entire training fleet.
-
PyTorch 2 compilation time is reduced by up to 87 percent through techniques like autotuning configuration pruning and symbolic hash fixing, decreasing cold cache compilation from 2,050 seconds to 254 seconds on a representative model. This drastically lowers the overhead associated with preparing the model for training steps.
-
Checkpoint optimization reduces Wasted Training Time by tuning checkpoint frequency to minimize UTT plus NoS times CSBT, leading to a 77 percent reduction fleet-wide in checkpoint save blocking time and allowing the training loop to resume sooner. This minimizes GPU idle time caused by saving checkpoints.
-
Standalone model publishing is implemented, which reduces GPU-held shutdown time by approximately 30 minutes per job, cutting it from over 25 minutes down to 3.3 minutes or less. This allows GPUs to be released for other workloads much faster after training completion.
-
Scheduling optimizations address preemption by implementing stage-aware preemption and tenant scheduling knobs, aiming to reduce the NoF x TTR term in ETT%, which grows wall time during fleet congestion. This prevents mid-flight job kills that force costly restarts and recoveries.
Sources
- The Llama 3 Herd of Models
- Deep Learning Recommendation Model for Personalization and Recommendation Systems
- Machine Learning Fleet Efficiency: Analyzing and Optimizing Large-Scale Google TPU Systems with ML Productivity Goodput
- Learning to Optimize Tensor Programs
Related papers
- UniSGR-V2: Stepwise Target-Side Feature Anticipation and Crossing for Generative Recommendation
- QProtFuse: Query-Guided Layer Fusion for Retrieval-Augmented Protein Function Prediction
- The Price of Isolation: Estimating the Ecosystem Cost of Symmetric Two-Sided A/B Testing
- SCAR: Semantic Continuity-Aware Retrieval for Efficient Context Expansion in RAG
- MixLoRA-DSI: Dynamically Expandable Mixture-of-LoRA Experts for Rehearsal-Free Generative Retrieval over Dynamic Corpora
- DualView: Adaptive Local-Global Fusion for Multi-Hop Document Reranking