Solar Open2 250B Mixed-Quant GGUF

Built with Solar.

This repository contains the locked MXQ-v1 candidate derived from upstage/Solar-Open2-250B. It preserves the complete topology: 48 layers, all 320 routed experts per layer, one shared expert, and the original [GQA, KDA, KDA, KDA] × 12 schedule. No expert, layer, or parameter pruning, merging, or distillation was performed. This is an independent conversion and is not an official Upstage release.

Support my work

I work on making large language models practical on hardware they were never really designed to fit on — through mixed quantization, inference optimization, custom kernels, and serving experiments.

While much of the development happens on local hardware, calibration, profiling, and large-scale validation often require expensive on-demand GPUs.

Contributions help pay for that compute, storage, and testing infrastructure, so I can keep experimenting and publishing the results openly.

Buy Me a Coffee Sponsor Baekpica on GitHub

Artifact

Variant Split Size Approximate BPW
MXQ-v1 11 shards 95,533,532,160 bytes (88.973 GiB) 3.05

Download the complete 11-file split beginning with Solar-Open2-250B-MXQ-v1-00001-of-00011.gguf. Exact hashes are in MXQ-v1-SHA256SUMS.

The full BF16 and full-model Q8_0 reference conversions are published separately in Baekpica/Solar-Open2-250B-GGUF.

Precision recipe

Module family Precision
Token embedding, LM head Q8_0
GQA q/k/v/o/g projections Q8_0
KDA matrix projections Q8_0
Shared expert gate/up/down Q8_0
Routed gate/up, layers 4–43 IQ2_XXS + imatrix
Routed down, layers 4–43 Q3_K + imatrix
Routed gate/up/down, layers 0–3 and 44–47 Q4_K + imatrix
Router, norms, small KDA control/norm/conv tensors F32

The final GGUF contains 1,083 tensors: 409 F32, 530 Q8_0, 80 IQ2_XXS, 40 Q3_K, and 24 Q4_K tensors. quant-recipe-v1.yaml and verify-v1.json contain the machine-readable recipe and verification result.

Calibration

The Solar chat-template calibration corpus follows the published mix from Baekpica/Solar-Open2-120B-A15B-REAM-148E-Healing-Mix: instruction chat 22%, Cascade stage-1 reasoning 16%, Cascade stage-2 reasoning 16%, Korean 16%, other multilingual 12%, finance 6%, SWE 6%, and algorithmic code 6%.

The imatrix processed 590 × 512-token chunks. Layers 1–47 reached strict 320/320 routed-expert coverage. Layer 0 retained one explicit, pinned exception of 29 zero-activation experts; the exact IDs and gate are recorded in verify-imatrix.json. No precision was lowered to compensate for this exception.

Validation status

  • All 11 shards passed split ordering, bounds, topology, tensor count, tensor family, and exact tensor-type verification with zero errors.
  • The artifact loaded resident across four H100 NVL GPUs and completed 32 deterministic short generations plus eight longer no-think quality checks.
  • Every candidate output was non-empty with valid token IDs. Fatal/content checks passed for Korean, English, Japanese, code, arithmetic, exact JSON, and constrained-list prompts; no NaN or malformed structured output was observed.
  • A development ds4 CUDA runtime mapped the complete artifact on one H100 and passed full-weight, recurrent-state snapshot/restore, replay, and cold invalidation regressions.
  • A native sm_121a ds4 build serves the complete artifact on one DGX Spark GB10 through the OpenAI-compatible server at -c 196608 with three persistent banks. See DGX Spark for the measured point.

H100 timings are development and artifact-sanity evidence only. Do not present them as DGX Spark performance. 1,048,576-token serving on Spark is not claimed.

DGX Spark

One NVIDIA DGX Spark GB10 (128 GB unified memory, driver 610.43.02, CUDA 13.3, sm_121a). Runtime Baekpica/ds4@b2e52b9 on the dfm line. Artifact: this MXQ-v1 11-shard split. A long-lived VMM weight owner (--backend vmm --scope base --reserve-gb 16, 453 derived aligned artifacts) plus a restartable ds4-server worker:

DS4_CUDA_WEIGHT_IPC_MANIFEST="$RUN/weights.manifest" \
DS4_CUDA_WEIGHT_IPC_SCOPE=base \
DS4_SERVER_COALESCE_MAX=3 \
DS4_SERVER_COALESCE_MAX_TOKENS=4096 \
DS4_CONT_PREFILL_CHUNK=4096 \
DS4_METAL_PREFILL_CHUNK=4096 \
./ds4-server -m Solar-Open2-250B-MXQ-v1-00001-of-00011.gguf \
  --cuda -c 196608 -n 1024 -t 6 \
  --host 0.0.0.0 --port 8002 --model-id solar-open2-250b \
  --no-spec --no-update-check --mem-floor-gb 8

OpenAI Chat Completions, thinking disabled, exact-cold (cached_tokens=0), 128 decode tokens, median of three. Loaded SM clocks 2,411–2,561 MHz. banks_total=3 still admitted.

Depth Prompt tokens Prefill Decode p50 Decode API
8K 8,222 1,050.7 tok/s 19.05 tok/s 18.9 tok/s
64K 66,761 804.5 tok/s 13.07 tok/s 14.1 tok/s

On the same host and artifact, before the dfm default-path series that ends at b2e52b9, 8K decode was 17.5 tok/s and 64K average prefill was 710 tok/s. The series kept the production path as: skip width-1 inner CUDA graph capture; walk FATTN KV in 32-key then GQA-pair 64-key tiles; keep the KDA 64 KiB state tile in shared memory; tile grouped GQA decode KV in 32 keys with packed K-FP8/V-FP4 dequant.

test-solar-kv on this binary: 512-token GQA2 vs one-head rel_rms=0; split vs direct rel_rms=8.45e-7. Incremental T(64K)−T(60K) last-4K is not a published figure. Native 1,048,576-token metadata is not a measured Spark pass.

Partial prefix reuse

Runtime Baekpica/ds4@042bcea adds a bounded, shared Solar KDA checkpoint pool to the continuous lane. The 32 slots are demand-mapped, exact forks share references, and long prefills retain roughly 24 periodic checkpoints across the configured context in addition to request boundaries. A divergent prompt restores the nearest safe checkpoint and replays only the gap.

One controlled A/B run used the same GB10, artifact, four-bank worker, -c 65536, 4,096-token prefill chunks, and greedy no-think Chat requests. The control set DS4_SERVER_FORK_PARTIAL=0, which also disables checkpoint reservation. The treatment used the default.

Request Prompt Control cached Treatment cached Control TTFT Treatment TTFT Speedup
Source 12,123 0 0 10,654.0 ms 10,710.7 ms 0.995×
Branch at ~6K 6,079 0 4,096 5,323.7 ms 1,868.8 ms 2.85×
Branch at ~10K 10,148 0 8,192 8,920.2 ms 1,929.8 ms 4.62×

Both branch responses were byte-identical between control and treatment. Treatment reported two partial-fork admits, 12,288 cached tokens, zero failed requests, and zero admission rejects. Source checkpoint capture added 56.7 ms (0.53%) in this single run. After the three requests, device-live memory was 102.04 GiB and system-available memory was 14.59 GiB with an 8 GiB floor.

This is a bounded worker-local cache, not an unbounded radix tree. Token history and GQA prefix rows remain anchored to a retained bank, and the KDA checkpoint pool is not serialized into disk-KV payloads.

Provenance

  • Source: upstage/Solar-Open2-250B@9190fbe63a2ad8e17fc766ccceb36de7c66f004b
  • Official implementation oracle: upstageAI/transformers@ef5c37485091057070b36dd0620798f74988eb01
  • llama.cpp conversion base: ggml-org/llama.cpp@6ea215d171fd31df943bf1ac8227129f2b963160
  • Solar conversion/runtime patch SHA-256: 7c267850de7a08af66a9bd64e9d4a3b33e085a4d2888d94a4c3d919f87283e44
  • Reproduction repository: Baekpica/solar-open2-mixed-ds4

Current upstream runtimes may not yet recognize the solar-open2 GGUF architecture. Use a compatible Solar Open 2 llama.cpp port or the linked ds4 development branch; compatibility claims should be tied to an exact runtime revision.

License and attribution

The source model and this derivative artifact are distributed under the included Upstage Solar License. The model name begins with Solar, and this card prominently states “Built with Solar” as required by that license.

Downloads last month
891
GGUF
Model size
250B params
Architecture
solar-open2
Hardware compatibility
Log In to add your hardware

We're not able to determine the quantization variants.

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Baekpica/Solar-Open2-250B-Mixed-Quant-GGUF

Quantized
(16)
this model

Collection including Baekpica/Solar-Open2-250B-Mixed-Quant-GGUF