DeepSeek V4 on Mac Studio: Where Does 192GB RAM Hit Its Limit?

M2 Ultra Mac Studio benchmarks DeepSeek V4 Flash Q8 locally, revealing the real limits of desktop-scale LLM deployment.
Bilibili creator Xiong Miao ran the 162GB DeepSeek V4 Flash Q8 model on a 192GB M2 Ultra Mac Studio and found it can stably handle ~355K context at ~20 tokens/sec — but prefill latency is the true dealbreaker, topping 100 minutes at 256K context. DSpark speculative decoding gained only 2.7% due to memory constraints. After factoring in device depreciation, local costs nearly match cloud API pricing. Model quality is intact and the 0731 version is notably more efficient on coding tasks. The real value of local deployment is data control and offline capability, not cost savings.
Punching Above Its Weight: Can a Desktop Machine Handle a 100GB+ Model?
When cloud API pricing is cheap and response times are fast, why would anyone insist on running a 100GB+ model on a desktop computer? Bilibili creator Xiong Miao put a M2 Ultra Mac Studio — equipped with a 76-core GPU and 192GB of unified memory — through a comprehensive benchmark of DeepSeek V4 Flash (version 0731) at Q8 quantization, and came back with a remarkably grounded answer.
This wasn't a simple "if it runs, it's a win" flex. It was a deep evaluation across five dimensions: generation speed, long-context capability, real-world coding tasks, power consumption, and cost. The core conclusion: this machine does earn its "entry ticket" to running very large models — but the real value isn't saving money. It's about data control, offline capability, and privacy.
With the model's 162GB of Q8 weights fully loaded into unified memory, Cloud Code can still read and write project files locally, call tools, and execute commands. It works fine with the network disconnected. That's the actual point of local deployment.
Hardware Limits: The Context Ceiling of 192GB RAM
The most critical finding: this 192GB Mac Studio can stably support approximately 355K context (tested with ~365K input tokens, with successful output). As for the officially advertised 1 million token context window — the creator puts it plainly: "absolutely not happening." While you can start the process, asking for output at that length will simply crash the system.
Speed follows a clear degradation pattern:
- Short context: ~20 tokens/sec output
- 200K+ context: output drops to ~13 tokens/sec
- Prefill speed: gradually declining from 262.55 tokens/sec down to 40.9 tokens/sec

Runtime stats paint an equally vivid picture: with a frontend Agent active, GPU utilization hits 100%, RAM usage sits around 181GB, and SoC power draw is approximately 147 watts. The model file itself occupies 162GB, leaving the remaining capacity to be split among macOS, the inference runtime, the compute graph, context cache, and KV Cache. So while 192GB sounds generous, once the weights are loaded, there's almost nothing left.
The practical reality is even harsher: running this model essentially renders the entire machine unusable for anything else. The creator shared a real experience — while testing long-context performance, they tried to play a YouTube video and got hit with "audio module failed to load." When the context climbed toward 400K, Cloud Code itself started lagging so badly they had to emergency-terminate the session.
What is KV Cache? It's the key to understanding context memory bottlenecks. When a Transformer model generates each new token, it needs to reference attention information from all previous tokens. KV Cache stores the already-computed Key and Value matrices to avoid redundant computation — but the tradeoff is that memory usage grows linearly with context length. For a MoE (Mixture of Experts) architecture like DeepSeek V4 Flash, while only a subset of expert parameters are activated per inference step (making the weights more compact), the KV Cache growth pattern is unchanged. This explains why loading 162GB of weights into 192GB of memory leaves the usable context strictly capped at around 355K — the remaining ~30GB must simultaneously accommodate the OS, the inference engine's compute graph, and an ever-expanding KV Cache.
The Biggest Bottleneck: Prefill Latency Is the Real Dealbreaker
If there's one most important finding from this test, it's this: time-to-first-token is the single most discouraging factor in local large model deployment.
The numbers are brutal: at 256K context, the first response takes over 100 minutes; at 300K+, you're waiting two to three hours. The creator's assessment is blunt: "No matter what you're doing with it, it's not worth waiting that long. No amount of cost savings justifies it."
The ironic contrast: once generation actually begins, output speed holds steady at over ten tokens per second — which is faster than humans can read. In other words, all the suffering happens before the answer starts, during the prefill phase.

This directly defines when local deployment makes sense: for single-turn Q&A, customer service AI, or scenarios where you're not stuffing in long context and instead using RAG to retrieve documents, local deployment is both fast and economical — the user experience is indistinguishable. But for complex coding tasks that require long context, cloud API is the more rational choice.
Why DeepSeek's Official DSpark Fails to Deliver Here
DeepSeek's official DSpark (essentially speculative decoding / multi-token prediction) is nearly ineffective on this machine. In principle, DSpark requires a smaller drafter model to draft a sequence of tokens first, then the main model verifies multiple candidates in a single forward pass. Both the drafter and two sets of KV Caches need to reside in fast memory to work well.
But the Q8 main model already occupies 162GB, leaving no room in unified memory for a drafter. The creator tried offloading three layers of MoE experts to CPU, but the extra data-transfer overhead nearly wiped out any gains — output speed only improved from 22.87 to 23.49 tokens/sec, a mere 2.7% speedup, while prefill actually dropped from 95.38 to 76.65.
The technology itself is valid — this particular Q8 configuration just doesn't have "enough room to let it work." The creator noted wistfully that even an extra 10GB bringing total memory to 210GB would be enough to run DSpark properly.
Speculative Decoding is one of the most important LLM inference acceleration techniques in recent years. The core idea: a much smaller "drafter" model rapidly generates several candidate token sequences, then the main model verifies all of them in parallel during a single forward pass. If the draft is accepted, the main model effectively generates multiple tokens in one step, significantly boosting throughput. Multi-Token Prediction takes a complementary approach — training the model to predict multiple future token positions simultaneously. Both techniques share the same prerequisite: the drafter model and the main model's KV Caches must both reside in fast memory, since the verification process requires frequent cross-referencing of both. The moment either is forced onto slower storage, data-transfer latency eats the gains whole — which is exactly why DSpark failed in this test.
Prefill vs. Decode are two fundamentally different computational phases in LLM inference. The prefill phase processes all input tokens in a single forward pass through every layer of the model to build the complete KV Cache — it's compute-bound, and its duration scales roughly linearly with input length. The decode phase, by contrast, processes just one new token at a time; its bottleneck is reading the massive model weights and KV Cache from memory, making it memory-bandwidth-bound. This explains the observed behavior of "wait two hours for the first word, then get a steady stream afterward" — prefilling 256K tokens requires the model to complete attention computations across 250,000 tokens at every layer, which takes hours on the Mac Studio's limited GPU compute. Once the KV Cache is established, decode only needs to handle one token per step, shifting the bottleneck to memory bandwidth — and the M2 Ultra's 800GB/s unified memory bandwidth is plenty to sustain over ten tokens per second.
Mac vs. NVIDIA: Two Competing Philosophies
The creator cited community benchmark comparisons that clearly illustrate where Mac fits in the landscape:
- M2 Ultra (this test): ~20 tokens/sec
- M3 Ultra 512GB: 39.8 tokens/sec
- Single B200: 119.7 tokens/sec
- 8× RTX Pro 6000: ~204 tokens/sec
- Custom RTX 4090 with modified 48GB VRAM backend: 367 tokens/sec
- Dual H200: ~375 tokens/sec
Mac's unique advantage is unified memory architecture, which lets oversized weights run on a single desktop machine. NVIDIA multi-GPU platforms, leveraging VRAM bandwidth and CUDA backend optimizations, reach speeds Mac simply cannot touch.
This reveals a fundamental positioning judgment: DeepSeek V4 Flash isn't designed for individual developers — it's aimed at enterprise applications. For companies that can't afford high-end GPUs but need data security, running DeepSeek locally with an appropriate backend and DSpark offers near-zero marginal cost with on-premise deployment.
Model Capability: Intelligence Intact, Efficiency Improved
The good news: model intelligence is essentially uncompromised. The creator ran five real Coding Agent tasks covering edge-case bug fixing, interface constraints, cross-file tracing, SQL injection patching, and large-repo search. Both the Preview and 0731 versions eventually passed all five.

Notably, the version update brought meaningful efficiency gains: with the same underlying model and similar output speeds, the 0731 version compressed total time across the five tasks from 24.8 minutes to 17.2 minutes (another data point cited as 11.2 minutes) — a significant improvement, and why the creator later removed the Preview version and kept only 0731.
In frontend webpage generation comparisons, the cloud Flash version produced more polished results on ocean scenes, dashboards, and other tasks requiring Three.js lighting, water surface materials, and complex composition — though it also had quirks like "mobile menu expanded by default." The local model occasionally had color rendering issues, but the output was overall close to deliverable quality. The creator's verdict: "Generating more output and thinking longer doesn't automatically replace actually opening the page and checking it."
The Cost Math: Does Local Deployment Actually Save Money?
The answer is sobering: basically, no.
On the cloud side, three frontend tasks consumed roughly 30+ million tokens, with actual charges of just ¥3.12 — approximately ¥1 per million tokens. DeepSeek's low cost comes from extremely high cache hit rates: the vast majority of typical conversational inputs hit the cache, which is why users keep choosing it.
On the local side, three tasks consumed about 108.9 watt-hours of electricity, costing roughly ¥0.07. That looks microscopic. But factor in device depreciation (refurbished price ¥58,199, 5-year lifespan, 25% cost allocation, 1,000 hours of use per year), and the depreciation plus electricity for those three tasks comes to approximately ¥2.86 — almost identical to the cloud's ¥3.12.

So local deployment has never really been about saving money. What it actually provides is control and choice: users decide where the model runs, who controls the data, and how costs are structured (hardware purchase vs. API calls).
The Data Moat: An Underestimated Competitive Advantage
The video closes with a notably sharp industry observation. Using DeepSeek and Kimi as a case study, the creator explores the importance of post-training and data — DeepSeek's post-training is widely regarded as a benchmark for Chinese-developed models, while Cursor simply fine-tuned Kimi K2 into a Composer model and saw benchmark scores skyrocket well above the original, largely because they had access to far more user data.
The creator is direct: the logic behind free tiers, discounts, and free trials is data collection. "Once you have enough data, the product starts charging." This explains why many enterprises refuse to use cloud services and are increasingly cautious about the data boundaries of domestically-developed models.
Post-Training refers to the process of taking a pretrained base model and applying supervised fine-tuning (SFT), reinforcement learning from human feedback (RLHF), or direct preference optimization (DPO) to make its outputs more aligned with real-world application needs. The quality and diversity of data used in post-training typically matter more than quantity — high-quality conversational data, professional domain annotations, and genuine user feedback can create enormous experiential differences between two models with identical base capabilities. The case of Cursor fine-tuning Kimi K2 into a Composer model with dramatically improved benchmark scores illustrates this precisely: Cursor had accumulated massive real-world user interaction data from actual coding scenarios, data that precisely captured developer intent patterns in code completion, refactoring, and debugging — making the fine-tuning results far superior to anything trained on general-purpose datasets.
Who Is This Review For?
Zooming out, the full production chain is now visible: model companies handle training, the community (such as Unsloth, which the creator rates as the highest-quality quantization option) handles quantization and adaptation, chips and inference frameworks determine runtime speed, and Agent tools like Cloud Code handle last-mile delivery. Industry competition has expanded from single benchmark rankings to the entire deployment stack.
For everyday users, the most practical advice is to route tasks accordingly: choose cloud for low-frequency, time-sensitive, vision-dependent, or highest-quality tasks; run locally for high-frequency, privacy-sensitive tasks where you can tolerate queuing. Most people don't need to permanently pick a side.
This M2 Ultra benchmark is ultimately a boundary exploration — proving that running oversized models on desktop hardware is feasible, while honestly exposing the hard ceilings of prefill latency, memory constraints, and cost. For users who already own a large-memory Mac and are curious what they can do with it, this data saves considerable trial-and-error time.
Related articles

DeepSeek V4 Pro Burning Through Credits Too Fast? The Hidden Logic Behind AI Model Pricing
Why does DeepSeek V4 Pro drain credits so fast while Flash barely moves? A deep dive into AI token billing, Pro vs. Flash pricing differences, and cost optimization tips.

RealPDE Competition Breakdown: The Frontier Challenge of AI-Powered Real-World Fluid Dynamics PDE Solving
A deep dive into the NeurIPS 2026 RealPDE Competition, covering the Sim2Real and LTTTA tracks, and how neural operators tackle real-world PIV and CFD fluid PDE challenges.

Building a Production-Grade 3DGS Training Library from Scratch: A Deep Dive into Full-GPU Residency and the Vulkan Stack
A veteran graphics engineer builds a production-grade 3DGS training library from scratch using C++23, CUDA, and Vulkan, achieving 60fps with 5M splats. Deep dive into its architecture and design.