Files
DS4Server/docs/QWEN38_ARTIFACTS.md
2026-09-03 19:15:53 +02:00

3.8 KiB

Qwen3.8 Flash Next Bare Speed artifacts

DS4Server uses the text artifacts published at Youssofal/Qwen3.8-Flash-Next-MTPLX-Bare-Speed revision 74559cdf34fbfc0b593de72d17e93f37fd4f9ea7. The upstream base is Qwen/Qwen3.8-Flash-Next revision de4b8e4d43b917e7706784d8bb445c9af86a3540, under the Qwen Community License 1.0 included in the artifact set.

The source already separates the 71,742,682,599-byte resident text core, 32,000,154,008-byte PLE table, and 1,672,575,532-byte MTP head. DS4Server's artifact conversion is therefore deliberately byte-preserving: the Rust tool validates and materializes the selected files without changing their tensor containers or numerical interpretation. The complete selected download is 105,438,842,430 bytes.

The manifest at assets/models/qwen38-flash-next-bare-speed.json pins every selected file by byte size and SHA-256. Its companion TSV records all 2,527 text, PLE, and MTP tensors with their source file, name, dtype, shape, quantization parameters, and byte range. Validation also compares the 2,466 core tensors with the source index, rejects duplicate names, invalid byte ranges, and precision-map drift, and checks the fixed qwen4_exp architecture and MTPLX serving contract before any payload is accepted.

The precision contract follows the pinned files and their per-tensor quantization_config: affine 4-bit matrices use 64-weight groups; router matrices and QSA index_qk_proj use the source's declared 8-bit groups; GDN convolution and recurrent parameters, norms, hyper-connection parameters, and the MTP mixing/norm parameters remain BF16. The MTP layer's attention and MoE matrices remain in their published 2-, 4-, or 8-bit affine representation; they are not up-converted to satisfy a broader prose description. The PLE sidecar's own header pins its 4-bit rows to 32-weight groups. No Python, MLX, llama.cpp runtime, or foreign converter is part of the tool or product.

model-vision.safetensors and its image/video processor configs are explicitly excluded. The full config is retained because its text_config is the loader authority. llama.cpp commit b356fa2624643b6d5753162ae43efff8cdd4d8cb is not used as a converter because its reviewed path did not preserve this separate MTP artifact.

Download and authenticate every selected file without loading tensors:

cargo run --release --bin qwen38-artifacts -- \
  fetch assets/models/qwen38-flash-next-bare-speed.json OUTPUT_DIRECTORY

Interrupted downloads remain as resumable .part files. The fetcher uses the manifest's immutable revision URLs, validates resumed ranges, authenticates each completed file, and then runs the complete inventory and precision verifier.

Verify a pinned checkout:

cargo run --release --bin qwen38-artifacts -- \
  verify assets/models/qwen38-flash-next-bare-speed.json SOURCE_DIRECTORY

Materialize a clean, authenticated artifact directory:

cargo run --release --bin qwen38-artifacts -- \
  materialize assets/models/qwen38-flash-next-bare-speed.json \
  SOURCE_DIRECTORY OUTPUT_DIRECTORY

The output directory must not already exist. Materialization uses hard links when possible and otherwise copies bytes, then re-runs the same full verifier against the output.

Verification receipt

On 2026-09-03 the pinned source passed full authentication and inventory, precision, and representative-row verification. Two separately empty output directories were then materialized and independently verified. Each contained the same 29 selected files and 105,438,842,430 artifact bytes; normalized SHA-256 listings for all 31 output files (artifacts, manifest, and inventory) were byte-identical and had list digest 3e0233c2356b26859de43b25b2a3df08169dd8263071432bdf2fc497da74007c. The six dequantized-row receipts are pinned directly in the manifest.