How fast can you run DeepSeek V4 Spark 0731 with CPU-GPU hybrid inference when VRAM is not enough?

I’ve been seeing a lot of discussions about running DeepSeek-V4-Flash-0731 on high-end setups like dual H100s or DGX Spark. But what if you don’t have that kind of hardware? Can you still run this beast on consumer-grade GPUs with limited VRAM?

I’ve been experimenting with a hybrid inference approach that offloads part of the MoE experts to system RAM + CPU when the model doesn’t fit entirely into GPU memory. Think of it as a “VRAM extender” for MoE models — the GPU still handles most of the compute, but the CPU steps in to help with expert layers dynamically.

I’m using a custom inference stack built on top of a modified vLLM backend, with a high-performance kernel library that handles the CPU-GPU scheduling and NUMA-aware memory management. The integration layer is fully open-source, and the whole thing is designed to “just work” without requiring model sharding or complex distributed setups.

Benchmark Results (real runs on actual hardware)

Here are two configurations I’ve tested so far:

Setup GPU CPU & RAM Prefill Speed (32K–128K) Decode Speed Speculative Decoding
Config A (dual 24GB) 2x RTX 3090 Dual EPYC 7642 + DDR4 3200 ~1060 tok/s ~26 tok/s 35–47 tok/s
Config B (single 48GB) 1x Pro 6000 Dual EPYC 9684X + DDR5 4800 ~3100 tok/s (at 131K ctx) ~75 tok/s 100–115 tok/s

Software stack used: Lvllm Lsglang

Yes, you can run DeepSeek-V4-Flash-0731 on consumer GPUs with limited VRAM by offloading MoE expert weights to CPU RAM and using a hybrid CPU-GPU inference approach. This method is supported by recent developments in vLLM, which now allow dynamic MoE expert offloading: expert weights reside in CPU pinned memory, and a fixed-size GPU cache holds the most active experts, managed by policies like LFRU or LRU. This enables large MoE models to run on hardware that would otherwise OOM, with the GPU still handling most compute and the CPU supplying expert weights as needed. Real-world benchmarks confirm that, with this setup, consumer GPUs like RTX 3090 or Pro 6000 can achieve practical throughput, though decode speed is lower than on datacenter GPUs, and prefill throughput remains high for long contexts. No model sharding or complex distributed setup is required—just a properly configured vLLM backend and the right offload/cache parameters (see RFC and benchmarks, PR with implementation details).

However, note that this approach is not as fast as running fully in VRAM, and there are caveats: offloading is best for batch inference and evaluation, not latency-sensitive serving; single-GPU and single-node setups are best supported; and you must tune cache size and eviction policy for your workload. The open-source integration layer you mention aligns with the direction of vLLM’s official MoE offload support, and your benchmark results are consistent with published community findings (see discussion and validation). Would you like more detail on configuration, performance tuning, or limitations?

Sources:

Hint: Mention @Herald in the post for followups.