On This Pageexpand_more
Inside DeepSeek: The Architecture Innovations That Shook the AI Industry
Explore DeepSeek's architecture breakthroughs: Multi-Head Latent Attention, auxiliary-loss-free MoE, FP8 training, and GRPO: frontier AI for $5.5M.

In late December 2024, a Chinese AI lab called DeepSeek quietly released a model that sent shockwaves through Silicon Valley. DeepSeek-V3 (a 671-billion-parameter Mixture of Experts model with only 37 billion parameters active per token) matched or exceeded GPT-4o on a wide range of benchmarks. The kicker: it was trained for approximately 5.5 million USD in compute costs, using 2,048 Nvidia H800 GPUs over roughly two months. For context, estimates for training GPT-4 range from 60 million to over 100 million dollars, and more recent frontier models likely cost several times that.
Then, in January 2025, DeepSeek released R1, a reasoning model that rivaled OpenAI's o1 on math and coding benchmarks, and they open-sourced it under an MIT license. DeepSeek has since continued iterating: V3.1 (August 2025) merged reasoning and non-reasoning capabilities into a single hybrid model, and V3.2 (December 2025) introduced DeepSeek Sparse Attention and reached performance levels competitive with GPT-5 and Gemini 3.0 Pro.
Markets reacted. Nvidia's stock dropped nearly 17% in a single day as investors questioned whether the "scaling requires infinite capital" thesis still held. The broader AI industry was forced to reckon with an uncomfortable question: had a lab operating under U.S. export restrictions on advanced chips managed to out-engineer the best-funded labs in the world?
The answer lies not in any single trick, but in a series of compounding architectural innovations, each one shaving away inefficiency, each one building on the others. This article unpacks every major innovation in the DeepSeek family of models, explains why each one matters, and examines what it means for the future of AI development.
DeepSeek-V3 at a Glance
Before diving into individual innovations, it helps to understand the overall design. DeepSeek-V3 is a Mixture of Experts (MoE) Transformer with the following key specifications:
| Specification | Value |
|---|---|
| Total parameters | 671 billion |
| Active parameters per token | 37 billion |
| Number of experts | 256 routed + 1 shared |
| Experts selected per token | 8 |
| Number of layers | 61 |
| Hidden dimension | 7,168 |
| Training tokens | 14.8 trillion |
| Training hardware | 2,048 Nvidia H800 GPUs |
| Training duration | ~2 months |
| Estimated compute cost | ~$5.5 million |
The model uses a standard Transformer decoder architecture as its backbone but introduces innovations at almost every level of the stack: attention, routing, numerical precision, and training objectives. Let us walk through each one.
Multi-Head Latent Attention (MLA)
The Problem: KV-Cache is the Bottleneck
Standard multi-head attention (MHA), as introduced in the original Transformer paper, computes separate key (K), value (V), and query (Q) projections for each attention head. During inference, the model must store the K and V tensors for every previously generated token; this is the KV-cache. For large models with long context windows, this cache becomes enormous.
Consider a model with 64 attention heads, a head dimension of 128, and a context length of 128K tokens. The KV-cache for a single layer would require storing values. Across 60+ layers, this quickly consumes tens of gigabytes of GPU memory per request. At scale, the KV-cache (not the model weights, not the computation) becomes the primary bottleneck for inference throughput.
Grouped Query Attention (GQA), now the default attention mechanism for virtually all major model families (including Llama, Qwen, Mistral, and Gemma), partially addresses this by sharing K and V projections across groups of query heads. If you use 8 KV heads shared among 64 query heads, you reduce the cache by 8x. But GQA trades off representational capacity for memory savings: each group of query heads is forced to attend to the same key-value representation.
MLA: Compressing the Latent, Not the Heads
Multi-Head Latent Attention, first introduced in DeepSeek-V2 and refined in V3, takes a fundamentally different approach. Instead of reducing the number of KV heads, MLA compresses the input into a low-dimensional latent vector and then projects it back up into full keys and values for each head.
Here is the conceptual flow:
The critical insight is that only the compressed latent vector needs to be cached, not the full keys and values. In DeepSeek-V3, the compressed KV dimension is 512, compared to the full KV size of values you would need with standard MHA using 128 heads with dimension 128. That is a compression ratio of over 60x.
Why This Is Better Than GQA
The beauty of MLA is that it preserves the full expressive power of multi-head attention. Every attention head still gets its own unique K and V vectors, simply reconstructed from the shared compressed representation at compute time. GQA, by contrast, forces groups of heads to literally share the same K and V, limiting the model's ability to attend to different aspects of the input simultaneously.
In practice, DeepSeek-V2 demonstrated that MLA achieves better perplexity than GQA at equivalent KV-cache sizes. You get both the memory savings and the representational capacity. The tradeoff is additional computation during inference (the up-projections from the latent), but this is a matrix multiply that maps well to GPU hardware and is far cheaper than the memory bandwidth cost of loading a massive KV-cache.
Handling Rotary Position Embeddings
One subtlety worth noting: Rotary Position Embeddings (RoPE) are incompatible with naive KV compression because they are applied to the keys after projection, meaning the positional information would be lost if you only cache the pre-projection latent. DeepSeek solves this by decoupling the RoPE component. A small additional set of key dimensions carries the positional information and is cached separately alongside the compressed latent. This adds minimal overhead while preserving full positional awareness.
Auxiliary-Loss-Free Load Balancing for MoE
The Expert Collapse Problem
Mixture of Experts models face a well-known pathological failure mode: expert collapse. If the router learns to send most tokens to a small subset of experts, the remaining experts receive too few tokens to learn effectively, and the model degenerates into a much smaller dense model that wastes most of its parameters.
The standard fix, used in models from Switch Transformer to Mixtral, is an auxiliary load-balancing loss. You add a penalty term to the training objective that punishes uneven token distribution across experts. This works, but it introduces a fundamental tension: the auxiliary loss fights against the primary language modeling objective. Setting the auxiliary loss coefficient too low allows collapse; setting it too high degrades model quality by forcing tokens to experts that are suboptimal for processing them.
DeepSeek's MoE approach is part of a broader trend; see Mixture of Experts Demystified for a deeper introduction to MoE fundamentals.
DeepSeek's Solution: Bias Terms Instead of Loss Terms
DeepSeek-V3 introduces an auxiliary-loss-free load balancing strategy that eliminates this tension entirely. Instead of adding a loss term, the method adds a learnable bias term to each expert's routing score. Here is how it works:
- The router computes affinity scores between each token and each expert as usual.
- A bias term is added to each expert's score for the purpose of routing decisions (selecting which experts handle the token).
- Crucially, the bias is only used for the routing decision; it is not added to the gating weight that determines how much the expert's output contributes to the final result.
- After each training step, the biases are adjusted: if an expert received more tokens than the average, its bias is decreased slightly; if it received fewer, its bias is increased.
This is elegant because it completely decouples load balancing from the training objective. The gradients flowing through the model are never contaminated by a balancing penalty. The biases act as a control mechanism that nudges the routing toward balance without distorting what the model is learning.
DeepSeek also introduces complementary sequence-level balancing: they impose a limit on how many tokens from a single sequence can be sent to any one expert. This prevents pathological cases where an entire sequence about, say, Python programming is routed entirely to a single "code expert," causing memory hotspots during training.
Fine-Grained Experts
DeepSeek-V3 uses 256 routed experts (plus 1 shared expert that processes every token), with 8 selected per token. This is a much finer granularity than models like Mixtral (8 experts, 2 active) or GPT-4's rumored architecture (16 experts, 2 active). Fine-grained experts offer two advantages:
- Better specialization: with more experts, each can develop tighter specialization for particular token types or knowledge domains.
- More flexible load distribution: with 256 experts and 8 chosen per token, the combinatorial space of possible expert combinations is vastly larger, allowing the model to compose expert capabilities more precisely.
The combination of fine-grained experts with auxiliary-loss-free balancing is particularly powerful: you can scale to hundreds of experts without the auxiliary loss becoming an increasingly dominant and disruptive term in training.
FP8 Mixed-Precision Training
The Precision Challenge
Training large language models has traditionally required FP32 (32-bit floating point) or BF16 (brain floating-point 16-bit) precision for numerical stability. Lower precision means faster computation and lower memory usage (GPUs can process more FP8 operations per clock cycle than BF16) but it also means less numerical range and precision, which can cause training instabilities, gradient underflow, or outright divergence.
DeepSeek-V3 was one of the first frontier-scale models to successfully train with FP8 (8-bit floating point) mixed precision from the very beginning of training, not just for inference quantization after the fact. Since then, the push toward lower precision has continued: NVIDIA's Blackwell architecture natively supports FP4, and research projects like Quartet (2025) and NVFP4 have demonstrated that FP4 training at billion-parameter scale can match BF16 quality, suggesting the next generation of frontier models may push precision even lower.
How DeepSeek Makes FP8 Work
FP8 training is not simply a matter of casting all tensors to 8 bits. DeepSeek employs a carefully designed mixed-precision strategy:
What runs in FP8:
- The forward pass matrix multiplications (the bulk of compute)
- The linear projection weights in the attention and feed-forward layers during forward computation
What stays in higher precision:
- The master copy of all weights (stored in BF16 or FP32)
- Gradient accumulation
- Optimizer states (Adam moments)
- Normalization layers, embedding layers, and the attention softmax computation
- The router/gating computations in MoE layers
The key enabler is fine-grained quantization with per-tile scaling factors. Rather than applying a single scale factor to an entire tensor (which would mean the scale must accommodate both the largest and smallest values, wasting precision), DeepSeek divides tensors into small tiles and computes a separate scale factor for each tile. This dramatically improves the effective dynamic range of FP8 representation.
DeepSeek also implements online quantization: scale factors are computed from the current tensor values rather than being estimated from previous iterations. This is more computationally expensive than using delayed scaling (as NVIDIA's Transformer Engine does), but it avoids the staleness problem where a scale factor computed from a previous step is inappropriate for the current step's values, leading to overflow or underflow.
The Impact
By running the dominant computation (matrix multiplies) in FP8, DeepSeek approximately doubles the effective FLOPS utilization of each GPU compared to BF16 training. This is a major factor in how they achieved frontier-level performance with "only" 2,048 H800 GPUs. The H800, it should be noted, is already a downgraded chip: it is the export-compliant version of the H100 with reduced interconnect bandwidth. Squeezing more useful computation from each FLOP is not just optimization for DeepSeek; it is a strategic necessity.
These efficiency innovations directly impact inference as well; see LLM Inference Optimization for more on how architectural choices affect serving costs.
Multi-Token Prediction (MTP)
Beyond Next-Token Prediction
Standard language model training uses a next-token prediction objective: given all preceding tokens, predict the next one. DeepSeek-V3 extends this to multi-token prediction, where the model is trained to predict multiple future tokens simultaneously.
In DeepSeek's implementation, the model has additional prediction heads (lightweight modules attached to the final layers) that predict not just token but also tokens , , and so on. During training, the loss is computed as a weighted sum of the prediction losses for each future position:
where is a decay factor that reduces the weight of predictions further into the future.
Why Multi-Token Prediction Helps
Multi-token prediction provides several benefits:
- Richer training signal: predicting multiple future tokens forces the model's internal representations to capture longer-range dependencies. The hidden state at position must encode enough information to predict not just the immediately next token but several steps ahead. This acts as a form of implicit planning.
- Better sample efficiency: each training example contributes more gradient signal, effectively multiplying the information extracted from each token in the training corpus. For a 14.8 trillion token training run, this is significant.
- Speculative decoding compatibility: at inference time, the additional prediction heads can be used for speculative decoding. The model generates draft predictions for multiple tokens in parallel, which are then verified by the main model in a single forward pass. Tokens that match are accepted; those that do not are discarded and regenerated. This can increase inference throughput by 1.5-2x with no quality degradation.
- Improved reasoning chain coherence: by training the model to "look ahead," multi-token prediction encourages more globally coherent generation, which is particularly valuable for reasoning and code generation tasks.
Implementation Detail
DeepSeek implements MTP using sequential prediction modules rather than independent heads. Each additional prediction module takes the output of the previous one as input, creating a chain:
This sequential design allows each prediction module to condition on the predictions of previous modules, producing more coherent multi-step forecasts. During inference, only the main model and optionally the first MTP module are used; the additional modules are discarded after training has completed.
DeepSeek-R1 and GRPO: Reasoning Without Human Traces
The Reasoning Challenge
When OpenAI released o1 in September 2024, it demonstrated that LLMs could dramatically improve on reasoning tasks by generating explicit chains of thought before producing a final answer. But o1's approach, as widely understood, relied on supervised fine-tuning on human-written or curated reasoning traces: step-by-step solutions that showed the model how to "think."
This creates a data bottleneck: producing high-quality reasoning traces at scale requires either expensive human annotation or distillation from an already-capable model. DeepSeek-R1 took a radically different path.
DeepSeek-R1 pioneered a new reasoning paradigm; see Reasoning Models for the broader context of how LLMs learned to think step by step.
Group Relative Policy Optimization (GRPO)
DeepSeek-R1 was trained primarily using reinforcement learning, specifically a novel algorithm called Group Relative Policy Optimization (GRPO). The core idea is remarkably simple:
- Generate a group of responses: for each problem (e.g., a math question), sample multiple candidate responses from the current model (say, 16-64 responses).
- Score each response: use a verifiable reward: for math, check if the final answer is correct; for code, run it against test cases. This avoids the need for a learned reward model, which introduces its own biases and errors.
- Compute relative advantage: within each group, compute how much better or worse each response is relative to the group average. Responses that got the right answer receive a positive advantage; those that did not receive a negative one.
- Update the policy: use these relative advantages to update the model, reinforcing strategies that led to correct answers and discouraging those that did not.
The "group relative" part is what makes GRPO efficient. Standard policy optimization methods like PPO require a separate value function (critic) that estimates the expected reward from any given state; this essentially doubles the memory and compute cost by requiring a model-sized critic network. GRPO eliminates the critic entirely by using the group average as the baseline. If you sampled 32 responses and 8 were correct, the baseline is roughly 8/32 = 25% success rate, and each correct response gets a positive advantage relative to that baseline.
The "Aha Moment"
One of the most striking findings from DeepSeek-R1's training was the emergence of sophisticated reasoning behaviors purely from RL, without any supervised reasoning examples. The model spontaneously learned to:
- Re-examine its own work ("Wait, let me reconsider...")
- Try alternative approaches when stuck
- Break complex problems into subproblems
- Verify its answers before committing
DeepSeek's researchers described observing an "aha moment" during training where the model's reasoning chains suddenly became qualitatively more structured and self-reflective. This was not programmed or demonstrated; it emerged as the model discovered that these strategies improved its success rate on verifiable problems.
The Training Pipeline
The full R1 training pipeline has several stages:
- Cold start with small SFT dataset: a small amount of supervised fine-tuning data (thousands, not millions, of examples) teaches the model basic formatting: how to use
<think>tags, how to structure a response with reasoning followed by a final answer. - Large-scale RL with GRPO: the main training phase, using GRPO on math, code, and logic problems with verifiable rewards.
- Rejection sampling and SFT: the RL-trained model generates solutions for a broader set of problems. Correct solutions are filtered and used as supervised training data for a new round of fine-tuning on the base model, combining reasoning data with general-purpose instruction-following data.
- Final RL alignment: a last round of RL fine-tuning that balances reasoning capability with helpfulness, safety, and format adherence.
This pipeline is notable for how little human-labeled reasoning data it requires. The bulk of the "thinking" examples are self-generated through RL, then distilled back into the model. It is a self-improvement loop where the model bootstraps its own reasoning ability.
The $5.5 Million Question
Breaking Down the Cost
DeepSeek reported that the total training compute for DeepSeek-V3 required approximately 2.788 million H800 GPU-hours. At an estimated rental cost of roughly 2 USD per H800 GPU-hour (a reasonable estimate for cloud pricing of H800 clusters at the time), this yields the widely cited figure of approximately 5.5 million USD.
This figure accounts only for the final training run and does not include:
- Research and development costs (architecture search, ablations, failed experiments)
- The cost of training DeepSeek-V2, which informed V3's design
- Data collection and curation
- Infrastructure development
- Personnel costs
The true total cost of developing DeepSeek-V3 is certainly higher, perhaps by an order of magnitude. But the 5.5 million USD figure for the training run itself is still remarkable when compared to the estimated 60 to 100+ million USD for GPT-4's training, or the multi-hundred-million-dollar budgets rumored for subsequent frontier models.
How Did They Do It?
The cost savings come from the compounding effect of every innovation described above:
- MoE architecture: only 37B of 671B parameters are active per token, reducing compute by roughly 18x compared to a dense model of equivalent total parameter count.
- FP8 training: approximately doubles FLOP utilization compared to BF16.
- MLA: reduces memory pressure, enabling larger batch sizes and better GPU utilization.
- Auxiliary-loss-free balancing: enables the fine-grained 256-expert MoE without quality degradation from balancing losses, maximizing the benefit of the MoE architecture.
- Multi-token prediction: improves sample efficiency, meaning the model learns more from each training token.
- Engineering discipline: DeepSeek reported almost no irrecoverable loss spikes or training failures during the V3 training run, suggesting mature infrastructure and careful hyperparameter selection. Wasted compute from failed runs is a significant hidden cost at other labs.
Additionally, the H800's reduced interconnect bandwidth (compared to the H100) forced DeepSeek to innovate on communication-efficient parallelism strategies. Their custom pipeline parallelism and expert parallelism schemes minimize cross-GPU communication, turning a hardware constraint into an engineering advantage.
Implications for the Industry
The cost analysis challenges the prevailing narrative that frontier AI development is an arms race that only the best-capitalized organizations can compete in. If a model matching GPT-4o can be trained for $5.5 million in direct compute, then:
- Startups and academic labs are not necessarily locked out of frontier model development.
- Algorithmic efficiency may be as important as, or more important than, raw compute scaling.
- Hardware export restrictions may be less effective than assumed if they motivate efficiency innovations that partially compensate for hardware limitations.
DeepSeek helped shift the open-source landscape; see The Open-Source LLM Power Shift for more on how open models are reshaping the competitive dynamics of AI.
What Other Labs Are Adopting from DeepSeek
DeepSeek's innovations have not gone unnoticed. Their techniques have moved from research curiosities to industry-adopted standards at a remarkable pace.
Multi-Head Latent Attention has crossed the adoption threshold. Beyond DeepSeek's own V3.1 and V3.2, MLA has been adopted by Kimi K2 (Moonshot AI), GLM-5, and Ling 2.5, among others. The research community has developed techniques like TransMLA (2025) that can convert existing GQA-based models (such as Llama and Qwen) into MLA-based architectures post-training, compressing 93% of the KV cache while preserving output quality. GQA remains the default for most model families, but MLA is increasingly the choice for models optimizing for inference efficiency at scale.
Auxiliary-loss-free MoE balancing has been adopted by multiple MoE model builders. The bias-term approach is simple to implement and directly addresses a pain point that every MoE practitioner has experienced. As more models move to fine-grained expert architectures with hundreds of experts, this technique has become essential for stable training.
FP8 training has become mainstream for frontier-scale training, with DeepSeek's demonstration at scale serving as proof of concept that accelerated industry-wide adoption. The specific techniques around fine-grained tile-based quantization with online scaling have been incorporated into training frameworks, and the frontier has already shifted toward FP4 (see above).
GRPO and RL-based reasoning has arguably been DeepSeek's most far-reaching contribution. GRPO is now the dominant RL optimizer for open-source reasoning models, preferred over PPO for its simplicity and memory efficiency (no critic network required). The broader paradigm it popularized, reinforcement learning with verifiable rewards (RLVR), has become the standard training methodology for reasoning models across the industry. Open-source projects like Open-R1 and models from Qwen and others have adopted GRPO directly, while closed-source labs have embraced the underlying principle that reasoning can emerge from RL without supervised traces.
Putting It All Together: The DeepSeek Design Philosophy
What makes DeepSeek's work remarkable is not any single innovation in isolation; each one, taken alone, is a clever but incremental improvement. The insight is in the system-level thinking: every innovation was designed to compound with the others.
MLA reduces memory, which enables larger batch sizes. FP8 doubles compute throughput, which means those larger batches can be processed faster. Fine-grained MoE with auxiliary-loss-free balancing maximizes the parameter-to-compute ratio. Multi-token prediction squeezes more learning from each training example. And GRPO enables post-training reasoning improvements without expensive human data.
The result is a model that achieves frontier performance not by brute-forcing scale, but by systematically eliminating inefficiency at every level of the stack. This represents a philosophical contrast to the "scaling laws are all you need" approach that dominated the field from 2020 to 2024.
Whether this philosophy will continue to yield compounding returns, or whether it hits diminishing returns that force a return to scale, is one of the most important open questions in AI today.
Beyond V3: DeepSeek Sparse Attention and the Road to V4
DeepSeek's innovations did not stop with V3. The subsequent releases demonstrate the same compounding philosophy applied to new bottlenecks.
DeepSeek-V3.1 (August 2025) merged the V3 base model and R1 reasoning model into a single hybrid architecture. Rather than maintaining separate models for "fast" and "thinking" modes, V3.1 supports both through a chat template switch, eliminating the deployment complexity of running two models. V3.1 also introduced significantly improved tool calling and agent capabilities.
DeepSeek-V3.2 (December 2025) introduced the most architecturally significant post-V3 innovation: DeepSeek Sparse Attention (DSA). While MLA addressed the memory bottleneck of attention (compressing what gets cached), DSA addresses the compute bottleneck (reducing how many tokens participate in attention at all).
DSA uses a two-stage approach. First, a lightweight "lightning indexer" computes relevance scores between each query token and all preceding tokens in the context. Then, a fine-grained token selection mechanism picks only the most relevant tokens for full attention computation. This reduces attention complexity from quadratic O(L^2) to linear O(Lk), where k is the number of selected tokens and is much smaller than L.
The critical difference from prior sparse attention methods (local windows, block patterns, random/global selection) is that DSA is fully content-adaptive. It does not rely on hand-tuned sparsity patterns; the indexer learns which tokens matter for each query. The indexer itself runs in FP8, continuing DeepSeek's theme of squeezing maximum efficiency from low-precision computation. In practice, DSA achieves 50-75% lower inference costs on long-context tasks with virtually no degradation in output quality.
DeepSeek also published research on Manifold-Constrained Hyper-Connections (mHC) (December 2025), a framework for improving the residual path in Transformers that could make pretraining more stable and cost-effective. This suggests that future DeepSeek models will continue innovating on components that most labs treat as settled.
As of early 2026, DeepSeek V4 has been widely anticipated but not yet released. Reports suggest it will be a native multimodal model with image, video, and text generation capabilities, potentially trained on Huawei's domestic accelerators rather than NVIDIA hardware. If confirmed, this would represent DeepSeek's most ambitious step yet toward hardware independence.
Key Takeaways
- Multi-Head Latent Attention (MLA) compresses the KV-cache by up to 60x by caching a low-dimensional latent vector instead of full key-value pairs, while preserving the expressive power of per-head attention. This is strictly better than Grouped Query Attention for the memory-quality tradeoff.
- Auxiliary-loss-free load balancing replaces the traditional auxiliary loss in MoE routing with adaptive bias terms, completely decoupling load balancing from the language modeling objective. This enables scaling to 256 fine-grained experts without quality degradation.
- FP8 mixed-precision training approximately doubles effective FLOPS by running matrix multiplications in 8-bit precision while keeping critical components (optimizer states, normalization, etc.) in higher precision. Fine-grained per-tile quantization with online scaling is what makes this numerically stable.
- Multi-token prediction provides richer training signal, improves sample efficiency, and enables speculative decoding at inference time. Each training example teaches the model to plan ahead, not just predict the next token.
- GRPO (Group Relative Policy Optimization) enables reasoning capabilities to emerge from reinforcement learning without human reasoning traces or a learned critic model. Reasoning behaviors (self-correction, backtracking, problem decomposition) emerge spontaneously from optimizing for verifiable correctness.
- The $5.5M training cost reflects the compounding effect of all these innovations. The true lesson is not the dollar figure but the principle: algorithmic efficiency and engineering discipline can substitute for, and potentially outpace, raw compute scaling.
- DeepSeek Sparse Attention (DSA), introduced in V3.2, reduces attention complexity from quadratic to linear by using a learned indexer to select only the most relevant tokens for each query. Unlike fixed sparsity patterns, DSA is fully content-adaptive, cutting long-context inference costs by 50-75% with no meaningful quality loss.
- The competitive implications are significant. DeepSeek demonstrated that frontier AI is not exclusively the domain of organizations spending hundreds of millions on training. Efficiency innovations can compress the cost curve dramatically, and hardware constraints can be a catalyst for better engineering rather than an insurmountable barrier.
DeepSeek's work represents an inflection point in AI development methodology. The question is no longer just "how much compute can you throw at the problem?" but "how efficiently can you use the compute you have?" For researchers, engineers, and organizations at every scale, that is an empowering shift.