Views
No views yet
Qwen/Qwen3.8-27B. It is not a fine-tune,
merge, ablation, alignment change, or chat-template modification. The source
weights are pinned to commit 1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0.Qwen3_5ForConditionalGeneration / qwen3_5 as
its internal architecture identifier. That string does not mean these
weights came from a Qwen3.5 model.1{
2 "algorithm": "oMLX oQ8 near-uniform mixed-precision quantization with protected tensors",
3 "bit_width": "mixed around 8.6 bpw",
4 "group_size": "mode-specific; MXFP8 base uses group size 32",
5 "calibration_source": "local fixed representative prompts; no benchmark answers"
6}oMLX and standard MLX loaders / 71b9d52039c3058041c5029fdb3d3e833d13d624.sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 at
e8f8c211226b894fcb81acc59f3b34ba3efd5f42
as a measured proxy, not as ground-truth accuracy.1{
2 "release_gate": "PASS",
3 "text": [
4 true,
5 true,
6 true,
7 true,
8 true,
9 true,
10 true,
11 true,
12 true,
13 true
14 ],
15 "tools": [
16 true,
17 true,
18 true,
19 true,
20 true
21 ],
22 "vision": [
23 true,
24 true,
25 true
26 ],
27 "mtp": {
28 "passed": true,
29 "backend": "oMLX Lightning MTP (integrated source MTP head)",
30 "output_equivalent_temperature_zero": true,
31 "baseline": {
32 "text": "Here are the first ten square numbers, listed with commas:\n\n1. 1\n2. 4\n3. 9\n4. 16\n5. 25\n6. 36\n7. 49\n8. 64\n9. 81\n10. 100",
33 "finish_reason": "stop",
34 "usage": {
35 "prompt_tokens": 21,
36 "completion_tokens": 71,
37 "total_tokens": 92,
38 "input_tokens": 21,
39 "output_tokens": 71,
40 "prompt_tokens_details": {
41 "cached_tokens": 0
42 },
43 "total_time": 8.91
44 },
45 "wall_seconds": 8.91301712510176,
46 "generation_tps": 7.968574635241302
47 },
48 "mtp_measurement": {
49 "text": "Here are the first ten square numbers, listed with commas:\n\n1. 1\n2. 4\n3. 9\n4. 16\n5. 25\n6. 36\n7. 49\n8. 64\n9. 81\n10. 100",
50 "finish_reason": "stop",
51 "usage": {
52 "prompt_tokens": 21,
53 "completion_tokens": 71,
54 "total_tokens": 92,
55 "input_tokens": 21,
56 "output_tokens": 71,
57 "prompt_tokens_details": {
58 "cached_tokens": 0
59 },
60 "total_time": 3.68
61 },
62 "wall_seconds": 3.687670208979398,
63 "generation_tps": 19.293478260869563
64 },
65 "baseline_tps": 7.968574635241302,
66 "mtp_tps": 19.293478260869563,
67 "speedup": 2.4211956521739126,
68 "measured_improvement": true,
69 "advertise_acceleration": true,
70 "native_stats": {
71 "finish_reason": "stop",
72 "tokens": 72,
73 "cycles": 21,
74 "tokens_per_cycle": 3.43,
75 "accepted_drafts": 51,
76 "drafted_tokens": 51,
77 "acceptance_rate": 1.0
78 },
79 "failure": null
80 },
81 "bf16_source_comparison": {
82 "passed": true,
83 "mean_semantic_similarity": 0.8972687065601349,
84 "exact_matches": 4,
85 "measurements": {
86 "average_generation_tps": 13.513484058818289,
87 "peak_memory_gb": 27.20964608,
88 "artifact_bytes": 30024788604,
89 "maximum_prompt_tokens_tested": 73,
90 "loop_rate": 0.0
91 },
92 "evaluator": {
93 "repo_id": "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2",
94 "revision": "e8f8c211226b894fcb81acc59f3b34ba3efd5f42",
95 "pooling": "attention-mask mean pooling followed by L2 normalization",
96 "maximum_tokens": 256
97 }
98 },
99 "bf16_fixed_logit_comparison": {
100 "positions": 106,
101 "inputs_sha256": "f1a0af6b9580739ebc9efa9375ae31aa6940dafe7ff6446097ed6cf8d9ab37de",
102 "mean_kl_divergence": 0.0007939068249092912,
103 "reference_perplexity": 9.84727010437735,
104 "candidate_perplexity": 9.89084181958065,
105 "perplexity_delta": 0.043571715203301054,
106 "top1_token_agreement": 1.0,
107 "selection": "selected",
108 "warnings": [
109 "KL is measured on fixed original text, not a public benchmark.",
110 "BF16 log-probabilities are stored in float16 after float32 log-softmax; reported KL therefore has finite-storage approximation error.",
111 "The stock MLX-VLM logit scorer ignored 29 strict-loader extras, all proven to be under language_model.mtp; native oMLX validation separately loaded and tested MTP."
112 ]
113 }
114}1python -m pip install "omlx @ git+https://github.com/jundot/omlx.git@71b9d52039c3058041c5029fdb3d3e833d13d624"
2hf download Chungulus/Qwen3.8-27B-MLX-oQ8 --local-dir ./models/Qwen3.8-27B-MLX-oQ8
3mkdir -p ./omlx-state
4python - <<'PY'
5import json
6from pathlib import Path
7model_id = 'Qwen3.8-27B-MLX-oQ8'
8Path('omlx-state/model_settings.json').write_text(json.dumps({
9 'version': 1, 'models': {model_id: {
10 'mtp_enabled': True, 'mtp_num_draft_tokens': 3
11 }}
12}, indent=2) + '\n')
13PY
14omlx serve --model-dir ./models --base-path ./omlx-state --port 8000http://127.0.0.1:8000/v1/chat/completions.enable_thinking,
reasoning_effort, and preserve_thinking) and the native Qwen tool format.validation_result.json; untested context lengths
must not be inferred from the architectural maximum.