Skip to content
All articles
AI infrastructure

Dense or mixture of experts: what the architecture costs the buyer

A mixture-of-experts model promises more people on the same card. Two published configuration files say by how much. One number in them also says why the promise shrinks as more people use it at once.

By Bastion, Cluj-NapocaPublished 8 min read

Two words decide the shape of a private AI server: dense, or mixture of experts. A buyer meets them on a spec sheet, with no way to tell what either costs. The honest answer is in the model's own configuration file, which every open-weight vendor publishes, and it takes about ten minutes to read.

Concede the headline first. A mixture-of-experts model is a genuine memory win, and for high-volume, low-complexity work it is the better buy. The question is how big the win is, and where it stops.

What the two words mean

A dense model reads every weight it has to produce one token. A mixture-of-experts model splits most of its weights into experts and reads only a few of them per token. Qwen3.6-35B-A3B publishes 256 experts and 8 experts per token. So it carries 36 billion parameters and reads about 3 billion at a time.

That is the promise: the memory bandwidth cost of a small model, with the knowledge of a large one.

The two configuration files, read on the same day

Both files were read on 2026-09-23. They are the vendor's own, machine-readable, and they hold every number that decides capacity.

From the published config.json of each model, read 2026-09-23
FieldQwen3.8-27B, denseQwen3.6-35B-A3B, MoE
Hidden layers6440
Of which full attention1610
Key-value heads42
Head dimension256256
Experts, active per tokennone256, 8
From the published config.json of each model, read 2026-09-23

Three of every four layers in both models hold a fixed recurrent state instead of a growing cache. Only the full-attention layers pay per token. That is why the layer count alone tells you nothing.

The cache arithmetic, from those numbers

Each full-attention layer stores a key and a value for every token. The cost of one token is 2, for the key and the value, times the full-attention layers, times the key-value heads, times the head dimension, times the bytes per number.

Cache for one conversation, calculated from the configurations above
Dense 27BMoE 35B-A3B
Bytes per token, fp832,76810,240
Bytes per token, bfloat1665,53620,480
One 8k conversation, fp8268 MB84 MB
One 8k conversation, bfloat16537 MB168 MB
Cache for one conversation, calculated from the configurations above

The MoE holds under a third of the cache per conversation. It wins twice: it has 10 full-attention layers against 16, and 2 key-value heads against 4. Memory is the seat constraint on a single card, so this is the part of the promise that holds.

Where the promise starts to fail

The weight saving is the other half of the promise, and it is the half that does not survive a crowd.

Eight experts per token is true for one token. A server answers many people in one batch, and the batch has to read every expert that any of its tokens routed to. With 256 experts and 8 per token, 32 tokens can already reach all 256. Above that batch size the model reads something close to its whole expert set on every step, and the saving that justified the architecture is gone.

This is the reason a MoE throughput figure quoted from the single-token case is not a capacity figure. It describes one person using the machine.

The quality side of the trade

Each vendor publishes its own model's scores on its own model card. Both cards were read on 2026-09-23, and two benchmarks appear on both.

Vendor-reported scores, each from that model's own card, read 2026-09-23
BenchmarkDense 27BMoE 35B-A3B
LiveCodeBench v690.380.4
SWE-bench Pro61.749.5
Vendor-reported scores, each from that model's own card, read 2026-09-23

The two cards compare against different sets of rival models, so read each number as the vendor's own claim for its own model, not as a controlled head-to-head. Even read that way, the gap on both coding benchmarks is about ten points.

What this means for a buyer

The choice is not which architecture is better. It is which of the two constraints binds in your building.

  • Many people, simple work: classification, summarising, document question answering, overnight batches. The MoE wins on memory and the quality gap costs you little.
  • Fewer people, hard work: drafting, analysis, code, research. The dense model wins, and the seat count is rarely the thing the department feels.
  • Ask any vendor for a capacity figure with four terms attached: how many concurrent users, at what context length, at what tokens per second each, with what cache precision. A number missing any of the four cannot be checked.
  • For an MoE quote, ask one more thing: at what batch size was it measured. A figure taken at one request tells you nothing about thirty.

With Bastion

What Bastion changes

Bastion is a private AI system delivered as one sealed appliance that runs inside your building. One monthly fee covers the hardware, the model, the hardened operating system and support, and nothing your team types leaves the building.

Bastion sells the dense model as its default, because a sealed box that runs the second-best open model is the wrong box for reasoning work.

The published capacity quote is the Reasoning node: 35 concurrent users, at 8,000 tokens of context, at 30 tokens per second each, with an fp8 key-value cache. It is calculated from arithmetic of exactly the kind above, not measured on a machine.

We publish no capacity number for a mixture-of-experts node. The first calculation we made ignored the expert-union effect described above, so it was withdrawn rather than corrected quietly. It stays withdrawn until the first box is built and measured.

Questions this article answers

What is the difference between a dense and a MoE LLM?
A dense model reads all its weights for every token. A mixture-of-experts model reads only a few experts per token: Qwen3.6-35B-A3B publishes 256 experts with 8 active per token, read 2026-09-23. The MoE therefore reads less memory per token, at the cost of quality on hard work.
Does a MoE model serve more concurrent users?
On memory, yes. Read on 2026-09-23, the MoE holds 10,240 bytes of fp8 cache per token against the dense model's 32,768, so one 8k conversation costs 84 MB against 268 MB. On compute the win shrinks with the batch: at 8 experts of 256 per token, 32 tokens can already reach every expert.
Which architecture should a company choose for a private AI server?
It depends on which constraint binds. High-volume, low-complexity work suits the MoE. Reasoning work suits the dense model: on its own vendor card, read 2026-09-23, the dense Qwen3.8-27B scores 90.3 on LiveCodeBench v6 against the MoE's 80.4, and 61.7 on SWE-bench Pro against 49.5.

On the record

  1. 1

    Hugging Face

    Qwen/Qwen3.8-27B, config.json

    read 2026-09-23

  2. 2

    Hugging Face

    Qwen/Qwen3.6-35B-A3B, config.json

    read 2026-09-23

  3. 3
  4. 4
  5. 5

    vLLM

    Expert Parallel Deployment

    read 2026-09-23