Own the intelligence layer.

Cloud rents tokens.
On prem buys capacity.

Open-weight models have closed most of the intelligence gap. A sustained workload changes the question from “which API is cheapest?” to “when does owned capacity make sense?”

60top open-weight
intelligence score
÷
63overall leading
intelligence score
95%of the frontier score
is available in open weights

Intelligence Index v4.1.1 — Kimi K3 (max) leads open weights at 60; Claude Opus 5 (max) leads overall at 63.

Illustrative monthly workload100M in / 25M out
Hosted GLM‑5.2 API$250/mo
(100 × $1.40) + (25 × $4.40)
On-prem token meter$0

plus your actual infrastructure TCO

Pricing source ↗

On-prem inference is not free — hardware, power, cooling, maintenance, and operator time belong in a real TCO; the meter only shows avoided API charges. Benchmark and pricing figures accessed August 25, 2026. Scores are benchmark composites, not percentages of human ability. Read the GLM‑5.2 analysis ↗

Go on prem when control and sustained utilization outweigh convenience.

On prem wins when
  • sensitive data is routine
  • usage is sustained and predictable
  • model customization matters
  • offline availability is valuable
Cloud wins when
  • usage is bursty or experimental
  • you need the absolute frontier
  • operations time is scarce
  • hardware would sit idle

Field-tested recipes

View all →
Production recipe

Serving DeepSeek-V4-Flash-Vision on 4× DGX Spark: images, DSpark and DCP in one stack

DeepSeek-V4-Flash-Vision-Exp on four GB10 nodes, ported by hand onto the sparkinfer B12X stack before upstream support landed. The interesting part was not the vision tower — it was making DSpark speculative decoding and decode-context-parallel run together, which the stock stack refuses. Decode kept, KV doubled, images cost about a second.

DeepSeek-V4-FlashvLLMmulti-nodeTP4
Production recipe

Serving GLM-5.3-Flash on 4× DGX Spark: the attention route is the whole problem

GLM-5.3-Flash looked blocked on GB10: the sparse-MLA kernel path wanted a rope dimension the model does not have, and every workaround wedged the GPU. The fix was to stop patching that path and take a different one. Decode is now flat from 800 to 93K tokens of context.

GLM-5.3-FlashvLLMmulti-nodeTP4