DeepSeek-V4-Flash (W8A8)
deepseek_v4-architecture model — a 256-expert MoE with MLA + DSA sparse attention
and a native MTP speculative head, served as W8A8 (int8 attention + expert,
~280 GB weights, 70 shards, 43 layers). At ~280 GB the weights do not fit a single
8 × 32 GB node, so it was validated on Ascend 910B3 (64 GB/card) across two
nodes = 16 cards as a single aggregated DP2 × TP=8 + EP16 service, with the
vLLM-Ascend nightly engine through Alauda AI's InferNex surface. It adds a mooncake
cross-rank KV store so the two data-parallel ranks share prefix KV, and both benchmark
scenarios were driven through the MaaS gateway (API-key) ingress as a concurrency
sweep (8 / 16 / 32).
TOC
Model identityValidated hardware × stackModel configurationDeployment specDeployBenchmark resultsModel identity
The W8A8 ModelCar is distributed as an OCI Image Layout tar on the internal package
store, not a public Docker Hub image. Replace <model-package-host> in the link above
with the package store address supplied by Alauda for the environment. The cluster pulls an OCI image, not
the tar, so import it into your own registry once and point model.uri at that —
see the Deploy section below. The benchmark itself was run with the weights staged on a
node-local PVC per node; the ModelCar is the same weights repackaged (the manifest
header documents that PVC alternative).
Validated hardware × stack
The nightly-main image carries the full deepseek_v4 stack and the DP2 cross-node
graph + DSA-CP prefix-cache fixes. enable_dsa_cp is intentionally on — it is a
prerequisite for a non-zero prefix-cache hit, and this build is stable with it. With the
full hit gate satisfied (see the config table), prefix caching works — ~90.9 %
single-rank hit at a 21k prefix.
Model configuration
Deployment spec
Served as agg-mc-kv — a single DP2 × TP=8 aggregation plus a mooncake KV store
shared by the two DP ranks. DP2 random routing scatters each user's growing history
across the two ranks, so per-rank local multi-turn hit is only ~41 %; the mooncake store
lets one rank pull prefix KV the other already computed, lifting merged effective
prefix reuse to ~84 %. The router stays random and the cache-indexer is off: a
single aggregated endpoint needs no global KV index or KV-cache-aware routing — this
matches the GLM-5.2 / Qwen3-8B aggregation paradigm (store shares KV; router stays
random).
The store writes asynchronously (~30–60 s to land a 21k prefix). Cross-rank hits
land for multi-turn agent sessions with turn gaps of roughly a minute or more;
back-to-back sub-second reuse only hits the same rank's local prefix cache. A separate
attempt at KV-cache-aware routing (to steer follow-ups back to the rank holding the
cache) was evaluated and reverted — it gave no benefit on this stack at this scale,
so the production form stays random + mooncake store.
Deploy
Self-contained InferNex manifest (engine inlined in the LLMInferenceService leader +
worker templates + hermes-router preset, DP2 × TP=8 across two nodes with the mooncake
store):
Benchmark results
Closed-loop aiperf 0.7.0, DP2 × TP=8 (16 × 910B3 64 GB), driven through the product
MaaS gateway. Concurrency sweep 8 / 16 / 32, 480 requests per tier (all tiers
0 error / 0 mismatch). The headline numbers are the production agg-mc-kv
configuration — FULL_DECODE_ONLY graph + mooncake cross-rank KV store, the exact config
the manifest above deploys — on scenario ② (multi-turn nested long context), the
agent-style workload the store targets. TTFT / E2E in s, ITL in ms; decode = output-only
tok/s (measured), TPS = total tokens/s (input + output, computed; prefill-dominated).
Scenario ② — multi-turn dialogue, production agg-mc-kv (ISL ~17.5k / OSL 128)
The mooncake cross-rank KV store is what makes this fast: it lifts multi-turn prefix reuse from ~41 % (per-rank local) to ~84 % (merged effective). Stepping the same scenario ② at concurrency 32 through the configs the deployment evolved from shows where the gain comes from:
Config evolution — Scenario ②, concurrency 32
→ graph + store together are TTFT ~5.3× / E2E ~4.8× / TPS ~4.8× better than the base aggregation at the same concurrency.
Scenario ① — fixed-length system-prompt reuse (ISL ~8k / OSL 128), base agg
The 8k fixed-prompt scenario was measured only on the base aggregation config (graph
- mooncake were not separately re-run for it), so treat these as a lower bound — the production config would lift them much like scenario ②:
How to read these. Every tier completed 480/480 with zero errors and zero output mismatches. As concurrency rises, system throughput (decode / TPS) climbs (sub-linear, saturating) while tail latency (TTFT / ITL / E2E) also climbs — the queueing cost of more in-flight requests. TPS is the total-token (input + output) caliber and is prefill-dominated (ISL 8k / 17.5k, OSL 128); the decode-only output rate is the separate "Decode" column.
These numbers are not directly comparable to the other models in this guide: it is a concurrency sweep (not the fixed concurrency-4 run the Qwen models use), on 910B3 64 GB cards (not 910B4 32 GB), with a 16-card DP2 × TP=8 topology. Treat them as the operating envelope of this specific large-MoE deployment, not a cross-model ranking.