On July 31st, DeepSeek shipped DeepSeek-V4-Flash-0731. The model is genuinely excellent. The name is internal engineering language that escaped into public view. So I rebuilt the whole thing — four generations, four role suffixes, one whale that evolves — and mapped it onto every model DeepSeek has actually shipped since 2023.

DeepSeek has, by any reasonable measure, one of the best engineering track records in the industry. Multi-head Latent Attention. Auxiliary-loss-free load balancing. FP8 training at frontier scale. An open-weights reasoning model that reset global expectations overnight. Sparse attention that halved their own API prices. They ship real architectural innovation at a cadence most labs cannot match, and they publish it under MIT.
And then they name it DeepSeek-V4-Flash-0731.
Say that out loud. Now imagine explaining to a product manager why it is better than the thing they were using last week. Imagine it on a billboard. Imagine a teenager telling a friend they use it. Every one of those is impossible, and none of that is a technical failure. It is a branding failure, and it is costing DeepSeek far more distribution than any benchmark point ever won them.
Four segments, thirty characters, and almost no transferable information. Here is the audit, piece by piece.
That last segment deserves a closer look, because it is the perfect illustration of the whole problem. -0731 encodes exactly one fact: this checkpoint was post-trained on July 31st. The architecture did not change. The parameter count did not change. What actually changed is that DeepSeek retrained the April preview on a new agentic and coding pipeline, and the result reportedly jumped from 72.1 to 82.7 on Terminal-Bench 2.1 — a Flash-tier model overtaking its own flagship on agentic coding.
That is a genuinely big deal. The name conveys none of it. The one thing encoded in those four digits is the one thing a user can least act on, while the actual headline — the small fast model now beats the big one at agentic work — is nowhere in the string.
DeepSeek-V4-Flash-0731 fails both.DeepSeek is the example, not the outlier. Version soup is an industry-wide disease.
The pattern is the same everywhere: internal build identifiers get promoted to public product names because shipping is fast and naming is somebody else's job. The result is a category where the products are extraordinary and the names sound like SKU numbers for industrial fasteners.
| Pattern | What it does to a buyer |
|---|---|
| Point releases as product names | x.1 vs x.2 vs x.2-Exp reads as a patch note, not a product. Nobody can tell which is the one to use. |
| Date-stamped checkpoints | Forces every user to diff two model cards to answer a yes/no question. |
| Reused tier words across labs | Flash, Mini, Turbo and Pro now mean four different things depending on whose model you are holding. |
| Suffix stacking | Base, Instruct, Exp, Preview, Terminus, Speciale. Each is meaningful internally and noise externally. |
| Letter prefixes with no story | V for version, R for reasoning. Fine as a code, useless as a brand. |
The labs that broke out of this did one thing: they gave the product a name a human would say out loud, and pushed the build identifier down into the API layer where it belongs. That split — public name versus machine name — is the entire fix, and it is the foundation of everything below.
Before proposing anything, the criteria it has to be judged against.
A model name is not decoration. It is a compression format for the three questions every user asks in the first four seconds.
Instant hierarchy
Is this more powerful than the thing I am using? A number that only goes up answers this with zero explanation.
Instant role
Is this the fast one, the cheap one, or the one that thinks hard? One word, always in the same position.
Brand memory
Will anyone still feel something about this in two years? This is the one every lab skips, and the only one that compounds.
Job three is the one worth dwelling on. Duolingo has an owl. GEICO has a gecko. GitHub has a cat-octopus that has been on more laptop stickers than most companies have customers. None of those characters explain the product. They do something more valuable: they make an abstract, hard-to-differentiate service into something a person feels a flicker of affection for. DeepSeek already has a whale in its logo. It is currently doing none of this work.
Generation number carries power. One suffix carries role. Everything else moves to the API layer.
The proposal is deliberately small. The public surface is a generation number and, at most, one role word.
Deep <generation> [<role>]
Deep 4 flagship — the strongest general model
Deep 4 Blitz fast and efficient
Deep 4 Code coding specialist
Deep 4 Reason deep reasoning specialist
Everything else lives in the API layer, not on the box:
deepseek-v4-pro-20260731 exact checkpoint
1.6T total / 49B active parameter counts
mHC + CSA/HCA, Muon architecture notesThree properties make this work. The generation number only goes up, so hierarchy needs no explanation — Deep 4 beats Deep 3, and nobody has to be told. The role word is always in the same slot, so it is scannable, and the flagship is marked by the absence of a suffix, which quietly makes it the default. The date stamp does not disappear — it moves to the API identifier and the model card, where a developer pinning a specific checkpoint can still find it and everyone else never has to look at it.
Which raises the obvious objection, and it deserves a direct answer: if the date stamp goes away, several different releases end up sharing a public name. V3 and V3-0324 both become Deep 3. R1 and R1-0528 both become Deep 3 Reason. V4-Flash and V4-Flash-0731 both become Deep 4 Blitz. Is that not just a different kind of ambiguity?
No — and the reason is the single rule the whole system rests on.
A new public name requires a capability leap. A retrain, a post-training refresh, or an efficiency win keeps the name and increments the build id.
So Deep 4 Blitz is the product, and deepseek-v4-flash-0731 is the build. Both exist. Only one of them belongs on the website.
This is not a novel idea. It is how essentially all consumer software already works. Chrome is on version 142 and has shipped thousands of builds, and you have never once been asked to care. It patches, the version number moves, and the product stays “Chrome.” Nobody markets Chrome 142.0.6367.92. Nobody writes a blog post about migrating from 142.0.6367.91.
A model retrained on a better post-training pipeline is a patch. An architecture that cuts inference cost by 70% and extends context to a million tokens is a new product. DeepSeek currently announces both the same way, in the same format, with the same kind of name — which means users have no way to tell a Tuesday patch from a generational leap without reading a model card. The naming system exists to make that distinction for them.
A naming system that only works going forward is a half-system. Here it is applied to the real history.
This is the part that tests whether the scheme actually holds. Below is DeepSeek's public release history, with each model assigned to a generation. The research line — OCR, Janus, Prover, Math, Engram — deliberately stays outside the consumer naming, because those are papers with weights, not products, and forcing them into a product ladder would break the one property that makes the ladder useful.
Repo-level code pretraining, fill-in-the-middle, 16K context. The start of the coding line.
The scaling-law study. Dense decoder-only, the first general-purpose flagship.
Fine-grained expert segmentation and shared experts — the MoE recipe every later model inherits. Weaker than the 67B flagship; a proof of recipe, not a product.
Introduced GRPO — the RL algorithm that later made R1 possible.
Multi-head Latent Attention. 236B total / 21B active, ~93% KV-cache reduction.
V2 architecture continued on 6T code tokens, 338 languages.
V2-Chat and Coder-V2 merged back into a single model.
671B / 37B active. Auxiliary-loss-free load balancing, Multi-Token Prediction, FP8 training.
Pure-RL reasoning with open chain-of-thought. The release that put DeepSeek on every front page.
Post-training refresh of V3.
Longer thinking budget, fewer hallucinations, function calling.
First hybrid checkpoint — thinking and non-thinking modes in one model, switched by chat template.
DeepSeek Sparse Attention. API prices cut by more than half.
Contexts optical compression — text as vision tokens at 7–20x compression.
The production sparse-attention release. Thinking with tools.
1.6T total / 49B active. Manifold-constrained hyper-connections, hybrid compressed attention, Muon optimizer, 1M context.
284B total / 13B active. The efficient sibling on the same architecture.
Post-training only. Same architecture, retrained on a new agentic and coding pipeline.
The V3 era does not fit in one slot. V3.1 introduced hybrid thinking, V3.2 introduced sparse attention and cut prices by half. Those are big enough to deserve their own tier, hence Deep 3.5. A clean scheme that lies about the history is worse than a slightly messier one that does not.
Deep 4 Code is an empty slot. The coding line ended at Coder-V2 in June 2024. There is no V4-era coding model, so the card later in this post is a proposal, not a rename. I have marked it as such rather than quietly implying it exists.
There is no R2. Despite persistent rumours, no DeepSeek-R2 has shipped — no repo, no API identifier, no announcement. The reasoning line did not get a sequel; it got absorbed into V4's thinking modes, which is exactly what the next chapter is about.
The most interesting finding in the whole exercise, and the one place I would overrule the obvious design.
The tidy version of this naming system has four SKUs per generation: flagship, Blitz, Code, Reason. It is symmetrical, it fills the grid, and it matches what every other lab does. It is also, for DeepSeek specifically, wrong.
Here is the architectural fact that changes the answer. In January 2025, R1 was a separate model because reasoning was a separate model — a distinct checkpoint, distinct weights, distinct API identifier. By August 2025, V3.1 had folded thinking and non-thinking into a single checkpoint switched by the chat template. And V4 ships with three effort modes built into one model: non-think, think-high, and think-max.
Reasoning stopped being a product and became a dial. Shipping “Deep 4 Reason” as a separate name in 2026 would mean inventing a SKU to describe a checkbox — the exact mistake this whole exercise is meant to fix, just with prettier words.
| Era | How reasoning shipped | Correct naming |
|---|---|---|
| Jan–May 2025 | R1 / R1-0528 — a genuinely separate checkpoint | Deep 3 Reason (a real model) |
| Aug–Dec 2025 | V3.1 / V3.2 — one checkpoint, two modes | Deep 3.5 · Think (a mode) |
| Apr 2026 onward | V4 — one checkpoint, three effort levels | Deep 4 · Think Max (a setting) |
The naming system solves hierarchy and role. This is the part that solves memory.
A number tells you which model is stronger. It does not make you care. The second half of this proposal is that DeepSeek's whale stops being a logo and becomes a character that visibly grows up across generations — the same creature, four life stages, so the progression is legible before anyone reads a single word.
›Deep 1
2023
Origin. Cute starter form.
›Deep 2
2024
First real leap. Adolescent.
›Deep 3
2024–25
Full adult. Scaled up.

Deep 4
2026
Leviathan. Awakened.
Look at that strip and you already know the ordering, the relative power, and roughly how big a leap each step was. No numbers required. That is the whole argument for a mascot in one image: it moves brand hierarchy out of the text layer and into the visual layer, where it survives being scrolled past at speed.
The craft constraint that makes it work is consistency. Same anatomy, same palette family, same lighting, same three-quarter pose across all four. Change too much and it reads as four different mascots; change too little and the evolution does not land. Growth is expressed through size, silhouette complexity, and colour depth — the baby is round and sky-blue, the leviathan is heavy, indigo, and has crystalline plates along its spine it did not earn until Deep 4.
Each variant gets the generation's whale, treated for its role. Same character, different energy.
Once the generation has a face, the variants become trivially easy to communicate. Each one is the Deep 4 whale with a role treatment: pose, accent colour, and one visual motif. A user who has seen the flagship card once can identify Blitz at a glance, before reading the word.

The strongest general model. The main character.

Same generation, tuned for speed and cost.

Reserved slot — nothing has shipped here yet.

Argued against below — this one should be a toggle.
Two of those four carry an honest asterisk, and it is worth repeating rather than burying. Deep 4 Code maps to nothing — the coding line has been dormant since 2024, and this card is an argument for reviving it, not a rename of something that exists. Deep 4 Reason is the card Chapter 06 argues against shipping: it is drawn here because the visual system supports it, but the architecture no longer justifies it as a separate product.
That is the useful thing about designing the full grid. It makes the gaps visible. A naming system is not only a way to label what you have shipped — it is a map of what you have not, and the two empty slots in the Deep 4 generation are a clearer product roadmap than any of the version strings ever were.
The full system, one line each
A naming system is only worth as much as the launch post it enables. Here is the same release, announced twice.
All of the above is theory until it hits a launch post. So here is the concrete test: the actual July 31 release, announced the way it was, and announced the way the system above would let you announce it. Same model, same benchmarks, same day.
DeepSeek
@deepseek_ai
🚀 DeepSeek-V4-Flash-0731 is now available.
Terminal-Bench 2.1: 82.7
DeepSWE: 54.4
API: deepseek-v4-flash
Weights: huggingface.co/deepseek-ai
DeepSeek
@deepseek_ai
🐋 Deep 4 Blitz just got a major upgrade.
Our small, fast model now beats our own flagship at agentic coding.
Terminal-Bench 2.1: 72.1 → 82.7
DeepSWE: 54.4
Same architecture, same speed, same price — this is a post-training upgrade, not a new model.
API: deepseek-v4-flash (already points to it)
Build: deepseek-v4-flash-0731
Price: $0.14/M in · $0.28/M out
Weights: MIT, huggingface.co/deepseek-ai
Notice what the rewrite did not require: no new benchmarks, no spin, no marketing adjectives. Every fact in it was already true on July 31. The only thing that changed is that the name stopped consuming the first line, which freed the first line to carry the actual news — a Flash-tier model overtaking its own flagship, which is a genuinely remarkable result that shipped as a footnote to a date stamp.
Notice also what it did not remove. The rewrite is longer than the original, and deliberately so. The API identifier, the exact build id, the price, the license, and the weights link all survive — and get their own scannable lines rather than being buried in a sentence. Those are the things a developer actually opens the post for, and an announcement that trades them away for narrative is not an improvement, it is just a different kind of bad. The goal is not a shorter post. The goal is that the first line is worth reading and the last four lines are worth acting on.
One small honesty note on the benchmarks: show a delta wherever a comparable prior number exists, and an absolute where it does not. Terminal-Bench has a directly comparable predecessor score, so it gets the arrow. DeepSWE does not, so it stays a bare number rather than being dressed up as an improvement nobody can verify.
This is the compounding cost of bad naming, and it is much larger than the aesthetic complaint. The name is not just hard to read. It sets the template for every announcement, chart axis, changelog entry, and conference slide that follows it — and each one inherits the same defect, which is leading with what the build is called instead of what it does.
The reason labs skip this is that renaming feels risky. It is cheaper than it looks.
The objection to any naming change is breakage: pinned model identifiers, running integrations, published benchmarks. But that objection assumes the public name and the machine name are the same string — which is precisely the bug this proposal fixes.
Keep every API identifier exactly as it is. deepseek-v4-flash keeps resolving, forever. Add an alias table, put the human name on the website, the app, the announcement post, and the model card header, and let the machine name live where machines read it. Nothing breaks, because nothing that machines touch changed.
# API layer — unchanged, permanently
deepseek-v4-pro → Deep 4
deepseek-v4-flash → Deep 4 Blitz
deepseek-v4-flash-0731 → Deep 4 Blitz (Jul 2026 build)
deepseek-reasoner → Deep 4 · Think Max
# Human layer — this is the only thing that changes
Website, app, launch posts, model card titles, chartsThat is the entire migration. One alias table and a copy pass. Against that: a lineup any person can say out loud, a hierarchy that needs no explanation, a character people might actually get attached to, and announcements that lead with what changed instead of when it was compiled.
DeepSeek has spent three years building an argument that open weights and clever architecture can compete with anything on earth, and they have largely won it. The substance is not in question. This is just about giving that substance a face people can remember — because right now the models are unforgettable and the names are unrepeatable, and that asymmetry is doing real damage to the best open-source AI story in the industry.
Deep 5 is presumably in training somewhere right now. There is still time.
What to take away
You might also like
The industry that produces the models this post is busy renaming — where the bottlenecks actually are, and who captures the value.
Choosing a model is the cheap decision. This is where the recurring bill actually comes from, and the architecture that cuts it.
What it takes to actually put one of these models into production — services, schemas, governance, and the serving layer.

Shashank Padala
Founder, Kirak Labs · AI Product Leader
AI Product & Transformation Leader with 8+ years building production LLM systems. Previously led GenAI integration into an internal content-authoring platform at a Fortune 500 enterprise, serving millions of employees globally — an AI assistant embedded in the CMS that surfaced grounded, cited insight from engagement and support-ticket data to inform what the team published next.