Image-Text-to-Text
MLX
Safetensors
qwen3_5
mtplx
qwen3.6
speculative-decoding
multi-token-prediction
Qwen/Qwen3.6-27B
conversational
8-bit precision
Instructions to use Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality with MLX:
# Make sure mlx-vlm is installed # pip install --upgrade mlx-vlm from mlx_vlm import load, generate from mlx_vlm.prompt_utils import apply_chat_template from mlx_vlm.utils import load_config # Load the model model, processor = load("Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality") config = load_config("Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality") # Prepare input image = ["http://images.cocodataset.org/val2017/000000039769.jpg"] prompt = "Describe this image." # Apply chat template formatted_prompt = apply_chat_template( processor, config, prompt, num_images=1 ) # Generate output output = generate(model, processor, formatted_prompt, image) print(output) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality
Run Hermes
hermes
- OpenClaw new
How to use Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Repair optimized quality vision compatibility
Browse filesReplace the broken optimized-quality root trunk with the official mlx-community/Qwen3.6-27B-8bit VLM trunk, move the MTPLX draft sidecar to mtp/weights.safetensors, and remove stale root files that generic VLM loaders misread. Local mlx_vlm text/image/video checks passed before upload; MTPLX can load the nested sidecar under the existing conservative runtime contract.
- README.md +5 -1
- config.json +0 -0
- merges.txt +0 -0
- model-00001-of-00006.safetensors +2 -2
- model-00002-of-00006.safetensors +2 -2
- model-00003-of-00006.safetensors +2 -2
- model-00004-of-00006.safetensors +2 -2
- model-00005-of-00006.safetensors +2 -2
- model-00006-of-00006.safetensors +2 -2
- model-vision-00001-of-00001.safetensors +0 -3
- model.safetensors.index.json +0 -0
- mtp.safetensors → mtp/weights.safetensors +0 -0
- mtplx_build_metadata.json +0 -0
- mtplx_upload_manifest.json +26 -20
- tokenizer.json +2 -2
- tokenizer_config.json +2 -3
README.md
CHANGED
|
@@ -31,7 +31,7 @@ This is intended as the higher-quality sibling to `Qwen3.6-27B-MTPLX-Optimized-S
|
|
| 31 |
mtplx start --model Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality
|
| 32 |
```
|
| 33 |
|
| 34 |
-
The artifact includes `mtplx_runtime.json` and `mtp.safetensors`, so MTPLX can inspect and route it through the native Qwen MTP backend.
|
| 35 |
|
| 36 |
## Local bakeoff snapshot
|
| 37 |
|
|
@@ -51,3 +51,7 @@ This row is a local release-readiness check, not a broad public hardware claim.
|
|
| 51 |
- Base model: `Qwen/Qwen3.6-27B`
|
| 52 |
- INT8 MTP source: `cyankiwi/Qwen3.6-27B-AWQ-BF16-INT8`
|
| 53 |
- MTPLX staging manifest: `mtplx_upload_manifest.json`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
mtplx start --model Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality
|
| 32 |
```
|
| 33 |
|
| 34 |
+
The artifact includes `mtplx_runtime.json` and `mtp/weights.safetensors`, so MTPLX can inspect and route it through the native Qwen MTP backend while generic MLX vision loaders only glob the base model shards.
|
| 35 |
|
| 36 |
## Local bakeoff snapshot
|
| 37 |
|
|
|
|
| 51 |
- Base model: `Qwen/Qwen3.6-27B`
|
| 52 |
- INT8 MTP source: `cyankiwi/Qwen3.6-27B-AWQ-BF16-INT8`
|
| 53 |
- MTPLX staging manifest: `mtplx_upload_manifest.json`
|
| 54 |
+
|
| 55 |
+
## Vision compatibility
|
| 56 |
+
|
| 57 |
+
This revision keeps the optimized MTPLX draft sidecar at `mtp/weights.safetensors` so generic VLM loaders see only the normal Qwen vision/text weight shards at the repository root. The base trunk is the MLX 8-bit Qwen3.6 vision layout; MTPLX reads the draft sidecar through `config.json`.
|
config.json
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
merges.txt
DELETED
|
The diff for this file is too large to render.
See raw diff
|
|
|
model-00001-of-00006.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f824099df8957f3d5e773c2faad5316ed6e43cdc8e41497e4f6c96bb87bb160d
|
| 3 |
+
size 5317707349
|
model-00002-of-00006.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6b0ac8faafe5ed25f5c19ffe74b5ea9980c18d04baf4d98169db1c67a2ed35e5
|
| 3 |
+
size 5354102528
|
model-00003-of-00006.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4923f72bbfcfab5749a9a8d88f654515bbf15e3f6f01f3199ff67a5f50c58f85
|
| 3 |
+
size 5354184654
|
model-00004-of-00006.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e0ee725dd0fc3cc7ca2a94734f18f9ab5ea3bdfa0c749353687d6f3442c0ab64
|
| 3 |
+
size 5337309675
|
model-00005-of-00006.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e6731a152f2ec3773526354b7104e9be1231b2bc9b1ec9cd033e2cc4470480ec
|
| 3 |
+
size 5292848520
|
model-00006-of-00006.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5c8550886d4bd9249079cf1cb1e4cd572e8e491f5db60ae8a78e957be1dadb24
|
| 3 |
+
size 2845065535
|
model-vision-00001-of-00001.safetensors
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:2be2da5032ebb3f56ccd3738ba1f93f78c61b5f29ae118197559b009a802cddd
|
| 3 |
-
size 921497261
|
|
|
|
|
|
|
|
|
|
|
|
model.safetensors.index.json
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
mtp.safetensors → mtp/weights.safetensors
RENAMED
|
File without changes
|
mtplx_build_metadata.json
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
mtplx_upload_manifest.json
CHANGED
|
@@ -1,31 +1,24 @@
|
|
| 1 |
{
|
| 2 |
-
"
|
| 3 |
-
|
| 4 |
-
0.9556737588652481,
|
| 5 |
-
0.852575488454707,
|
| 6 |
-
0.7406749555950266
|
| 7 |
-
],
|
| 8 |
-
"artifact": "/tmp/mtplx-flat8-maxfan-bakeoff-20260510-040405/flat8-int8-flappy2k.json",
|
| 9 |
-
"peak_gib": 27.615886019542813,
|
| 10 |
-
"suite": "flappy 2k depth3 max-fan",
|
| 11 |
-
"tok_s": 33.6276837588148,
|
| 12 |
-
"verify_ms_per_call": 88.13897531140259
|
| 13 |
-
},
|
| 14 |
-
"created_from": "/Users/youssof/Documents/MTPLX/models/Qwen3.6-27B-MTPLX-Flat8-Quality-TargetBase",
|
| 15 |
"linked_files": [
|
|
|
|
|
|
|
| 16 |
"chat_template.jinja",
|
|
|
|
| 17 |
"configuration.json",
|
| 18 |
"generation_config.json",
|
| 19 |
-
"merges.txt",
|
| 20 |
"model-00001-of-00006.safetensors",
|
| 21 |
"model-00002-of-00006.safetensors",
|
| 22 |
"model-00003-of-00006.safetensors",
|
| 23 |
"model-00004-of-00006.safetensors",
|
| 24 |
"model-00005-of-00006.safetensors",
|
| 25 |
"model-00006-of-00006.safetensors",
|
| 26 |
-
"model-vision-00001-of-00001.safetensors",
|
| 27 |
"model.safetensors.index.json",
|
|
|
|
| 28 |
"mtplx_build_metadata.json",
|
|
|
|
|
|
|
| 29 |
"preprocessor_config.json",
|
| 30 |
"processor_config.json",
|
| 31 |
"tokenizer.json",
|
|
@@ -34,13 +27,26 @@
|
|
| 34 |
"vocab.json"
|
| 35 |
],
|
| 36 |
"mtp": {
|
| 37 |
-
"
|
| 38 |
-
"policy": "INT8 affine group128, BF16 aux preserved",
|
| 39 |
"sha256": "dff5112ffdeff420d38f9227cc00f40dc302e009e70a3e8dc85c3c443b6364ab",
|
| 40 |
-
"
|
| 41 |
-
"
|
| 42 |
"tensor_count": 29
|
| 43 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
"repo_id": "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality",
|
| 45 |
-
"target": "flat8 affine group64"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"base_repo": "mlx-community/Qwen3.6-27B-8bit",
|
| 3 |
+
"base_revision": "c5a593c1475a746e43a543b0a02bd2b357e5745f",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
"linked_files": [
|
| 5 |
+
".gitattributes",
|
| 6 |
+
"README.md",
|
| 7 |
"chat_template.jinja",
|
| 8 |
+
"config.json",
|
| 9 |
"configuration.json",
|
| 10 |
"generation_config.json",
|
|
|
|
| 11 |
"model-00001-of-00006.safetensors",
|
| 12 |
"model-00002-of-00006.safetensors",
|
| 13 |
"model-00003-of-00006.safetensors",
|
| 14 |
"model-00004-of-00006.safetensors",
|
| 15 |
"model-00005-of-00006.safetensors",
|
| 16 |
"model-00006-of-00006.safetensors",
|
|
|
|
| 17 |
"model.safetensors.index.json",
|
| 18 |
+
"mtp/weights.safetensors",
|
| 19 |
"mtplx_build_metadata.json",
|
| 20 |
+
"mtplx_runtime.json",
|
| 21 |
+
"mtplx_upload_manifest.json",
|
| 22 |
"preprocessor_config.json",
|
| 23 |
"processor_config.json",
|
| 24 |
"tokenizer.json",
|
|
|
|
| 27 |
"vocab.json"
|
| 28 |
],
|
| 29 |
"mtp": {
|
| 30 |
+
"path": "mtp/weights.safetensors",
|
|
|
|
| 31 |
"sha256": "dff5112ffdeff420d38f9227cc00f40dc302e009e70a3e8dc85c3c443b6364ab",
|
| 32 |
+
"size": 488790135,
|
| 33 |
+
"source": "previous optimized-quality mtp.safetensors",
|
| 34 |
"tensor_count": 29
|
| 35 |
},
|
| 36 |
+
"removed_remote_files": [
|
| 37 |
+
"mtp.safetensors",
|
| 38 |
+
"model-vision-00001-of-00001.safetensors",
|
| 39 |
+
"merges.txt"
|
| 40 |
+
],
|
| 41 |
"repo_id": "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Quality",
|
| 42 |
+
"target": "flat8 affine group64 vision-compatible MLX trunk",
|
| 43 |
+
"validation": {
|
| 44 |
+
"mlx_vlm_image_passed": true,
|
| 45 |
+
"mlx_vlm_text_passed": true,
|
| 46 |
+
"mlx_vlm_video_passed": true,
|
| 47 |
+
"mtplx_contract_status": "runtime contract remains conservative; exactness_baseline is still candidate-promoted-by-user-decision",
|
| 48 |
+
"mtplx_depth": 1,
|
| 49 |
+
"mtplx_generation_mode": "mtp",
|
| 50 |
+
"mtplx_nested_sidecar_generation_text": "HELLO"
|
| 51 |
+
}
|
| 52 |
}
|
tokenizer.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:87a7830d63fcf43bf241c3c5242e96e62dd3fdc29224ca26fed8ea333db72de4
|
| 3 |
+
size 19989343
|
tokenizer_config.json
CHANGED
|
@@ -10,7 +10,6 @@
|
|
| 10 |
"errors": "replace",
|
| 11 |
"image_token": "<|image_pad|>",
|
| 12 |
"is_local": true,
|
| 13 |
-
"local_files_only": false,
|
| 14 |
"model_max_length": 262144,
|
| 15 |
"model_specific_special_tokens": {
|
| 16 |
"audio_bos_token": "<|audio_start|>",
|
|
@@ -23,9 +22,9 @@
|
|
| 23 |
},
|
| 24 |
"pad_token": "<|endoftext|>",
|
| 25 |
"pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
|
|
|
|
| 26 |
"split_special_tokens": false,
|
| 27 |
-
"tokenizer_class": "
|
| 28 |
-
"tool_parser_type": "qwen3_coder",
|
| 29 |
"unk_token": null,
|
| 30 |
"video_token": "<|video_pad|>",
|
| 31 |
"vision_bos_token": "<|vision_start|>",
|
|
|
|
| 10 |
"errors": "replace",
|
| 11 |
"image_token": "<|image_pad|>",
|
| 12 |
"is_local": true,
|
|
|
|
| 13 |
"model_max_length": 262144,
|
| 14 |
"model_specific_special_tokens": {
|
| 15 |
"audio_bos_token": "<|audio_start|>",
|
|
|
|
| 22 |
},
|
| 23 |
"pad_token": "<|endoftext|>",
|
| 24 |
"pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
|
| 25 |
+
"processor_class": "Qwen3VLProcessor",
|
| 26 |
"split_special_tokens": false,
|
| 27 |
+
"tokenizer_class": "TokenizersBackend",
|
|
|
|
| 28 |
"unk_token": null,
|
| 29 |
"video_token": "<|video_pad|>",
|
| 30 |
"vision_bos_token": "<|vision_start|>",
|