Skip to content

deepseek: admit supported dsq-1 checkpoint metadata - #1641

Merged
ashhart merged 2 commits into
ashhart:mainfrom
jayleaton:dsv41-up/dsq-admission
Oct 30, 2026
Merged

ashhart merged 2 commits into
ashhart:mainfrom
jayleaton:dsv41-up/dsq-admission

Conversation

@jayleaton

Copy link
Copy Markdown
Contributor

What this changes

The public Flash-1017 EXL3 pack declares quantization_config as dsq-1 metadata with a producer annotation, so main refuses it as UnsupportedCheckpoint before reading any tensor. This admits the supported format independently of the producer name. Geometry, tensor-layout, scale and marker checks stay as they are.

Regression fixtures: DeepSeek's public 1017 configuration, and the pack's published metadata. Host admission tests cover the real Config.read metadata path. Malformed-storage tests check the native refusals.

Issue: none open upstream. Stacked on: #1640 (asset generators), whose Config.parseMetadata the admission test uses. Review only ddde40de8812..69537d14db7c.

Receipt

  • Environment, with the TensorFold commit, MLX or PyTorch version, machine and GPU, checkpoint and revision: head 69537d14db7c on main 3f0a715c4; Zig 0.17.0; host checks on a Linux aarch64 DGX Spark (GB10, CUDA 13.0). Real-pack boot on two GB10s, TP=2 over RoCE, checkpoint jayleaton/DeepSeek-V4.1-Flash-1017-EXL3-2.8bpw revision 859396591c34, TF_EXPERIMENTAL=deepseek.
  • Exactness: n/a; only admission changes.
  • Decode speed before and after: n/a; main refuses this checkpoint.
  • Prompt speed before and after: n/a; main refuses this checkpoint.
  • Real-pack evidence: the series' TP=2 boot below reads this pack's metadata through the new path.
  • Tests run, with pass, fail and skip counts:
    zig fmt --check build.zig zig                      exit 0
    git diff --check 3f0a715c4..HEAD                    exit 0
    python3 tools/zig/lean_check.py                     base 425 problems, head 425, new 0 (lean_new.py)
    zig build test-cuda-host --summary all              exit 0, 271/271 steps, 3906/3915 tests passed, 9 skipped (with test-server-cpu)
    zig build test-dsv41-shared test-dsv41-state test-dsv41-forward test-dsv41-kv test-dsv41-device-host test-dsv41-draft test-dsv41-cuda-host test-draft-dsv41-host test-dsv41-assets-host test-checkpoint-security  exit 0, 62/62 steps, 622/624 tests passed, 2 skipped
    control (neg-dsq, fix reverted, tests kept): zig build test-dsv41-shared  exit 1 (fails, as required)
    
  • Real-pack TP=2 boot of main + every PR in this series (and the DeepSeek image path that is not yet proposed), at 83ba53298924: passed. Both ranks reached readiness; the recipe smoke, the canary and a strict tool call passed; MissingTritonVariant 0 in both rank logs; 2048 greedy tokens in 51.1 s with token_sha256 7538b20557b1…, the same as the downstream build of this series.
  • Not run, and why: Metal.

Checklist

  • Every token still goes through the lane rounds. No serial path, and nothing that needs drafts off.
  • Drafted output equals "draft": false, a resumed prompt equals a fresh one, and concurrent equals solo. (Not measured for this change alone.)
  • No precision traded for speed. If the bits change, the description says which sums change and why.
  • A new or changed GPU kernel is registered with the kernel contract (docs/kernel-contract.md); each backend's SUMMARY line is in the receipt. (No kernel changes.)
  • Prompt processing is no slower than the last release. (Admission only.)
  • The description says which platforms I ran, Metal M1 to M5 and CUDA, and which I could not.
  • New tests fail before the change, pass after it, and skip cleanly without their dependency. (Control: the old admission restored with the tests kept fails test-dsv41-shared.)
  • Comments and docstrings are one line. No measurements or history in the source.
  • No personal data, machine names, internal hosts or local paths. No AI attribution lines.

@ashhart

ashhart commented Oct 30, 2026

Copy link
Copy Markdown
Owner

Thanks, this looks good. Keeping the dsq-1 check to the format identifier plus the codebook and output-scale policy, and leaving the trellis, scale and marker checks with the loader, is the right split, and the refusal and legacy tests cover it well. It builds on #1640 (its admission test uses Config.parseMetadata), so we'll land it straight after #1640 rather than on its own. Nothing is needed from you for now; we'll follow up here if #1640 needs any changes.

jayleaton and others added 2 commits October 30, 2026 16:26
The public EXL3 pack published by jayleaton uses dsq-1 metadata with a producer annotation. Preserve DeepSeek's public configuration and jayleaton's pack metadata as a regression fixture. Admit the supported format independently of producer name while retaining geometry, tensor-layout, scale and marker checks. Host admission and malformed-storage tests do not qualify the real checkpoint or GPU execution.

(cherry picked from commit 98f2a38)
@ashhart
ashhart force-pushed the dsv41-up/dsq-admission branch from 69537d1 to e250820 Compare October 30, 2026 16:26
@ashhart
ashhart merged commit cfc388f into ashhart:main Oct 30, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants