Instructions to use l2dy/Qwen3.8-27B-MXFP4-mlx with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use l2dy/Qwen3.8-27B-MXFP4-mlx 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("l2dy/Qwen3.8-27B-MXFP4-mlx") config = load_config("l2dy/Qwen3.8-27B-MXFP4-mlx") # 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
- Unsloth Desktop
- Pi
How to use l2dy/Qwen3.8-27B-MXFP4-mlx with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "l2dy/Qwen3.8-27B-MXFP4-mlx"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "l2dy/Qwen3.8-27B-MXFP4-mlx" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent
How to use l2dy/Qwen3.8-27B-MXFP4-mlx 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 "l2dy/Qwen3.8-27B-MXFP4-mlx"
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 l2dy/Qwen3.8-27B-MXFP4-mlx
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use l2dy/Qwen3.8-27B-MXFP4-mlx with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "l2dy/Qwen3.8-27B-MXFP4-mlx"
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 "l2dy/Qwen3.8-27B-MXFP4-mlx" \ --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"
Qwen3.8-27B — Unsloth MXFP4 + MXFP8 (MLX)
Brooooooklyn/Qwen3.8-27B-MXFP4-mlx
is an Apple Silicon MLX quantization of
Qwen/Qwen3.8-27B. The model has a
64-layer dense Qwen3.5-family language backbone with 48 linear-attention and 16
full-attention layers, a BF16 vision tower, and one preserved MTP layer.
This model is part of the Unsloth NVFP4 Tensor-Class Recipe for MLX — macOS + DGX collection.
The source was the all-BF16 checkpoint at revision
1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0.
Quantization recipe
This is a data-free, weight-only Apple translation of the Unsloth Qwen3.6 NVFP4 recipe, applied to Qwen3.8's matching dense Qwen3.5-family tensor layout:
- tensors assigned NVFP4 by the recipe are stored as MXFP4, 4-bit with group size 32;
- tensors assigned FP8 by the recipe are stored as MXFP8, 8-bit with group size 32;
- every excluded tensor stays BF16.
Both MXFP classes use MLX weight-only quantized matmul with BF16/A16 activations. This ports the recipe's tensor-class selection; it does not claim numerical or performance parity with NVIDIA NVFP4, calibrated W4A4/W8A8 execution, or FP8 KV-cache quantization.
No imatrix, calibration dataset, AWQ-style pre-scaling, activation calibration, NVFP4 global scale, or FP8 KV-cache calibration was used.
| Tensor class | Stored format |
|---|---|
Dense FFN {gate,up,down}_proj, layers 0–55 |
MXFP4 4/32 |
Dense FFN {gate,up,down}_proj, layers 56–63 |
MXFP8 8/32 |
Full-attention {q,k,v,o}_proj |
MXFP8 8/32 |
Linear-attention in_proj_qkv, in_proj_z, out_proj |
MXFP8 8/32 |
lm_head |
MXFP8 8/32 |
Embeddings; in_proj_a/b; GDN state, convolution, and norm tensors; all other norms |
BF16 |
Entire 15-tensor mtp.* subtree |
BF16 |
| Vision tower and merger tensors | BF16 |
The allocation contains 168 MXFP4 modules and 233 MXFP8 modules. The
final eight dense FFNs intentionally use the higher class. The MTP subtree is
kept inline in the main shards; mlx-node detects it at load and enables native
MTP speculative decoding by default unless enableMtp: false is requested.
Compatibility and usage
This checkpoint requires @mlx-node/lm and @mlx-node/core 0.0.10 or a newer
release that supports the same Qwen3.5-family MXFP and inline-MTP formats.
npm install @mlx-node/lm@^0.0.10 @mlx-node/core@^0.0.10
import { loadSession } from '@mlx-node/lm';
const session = await loadSession('./Qwen3.8-27B-MXFP4-mlx');
const result = await session.send('Explain the purpose of a unit test in one sentence.');
console.log(result.text);
Reproduction
Converter checkout:
mlx-node e281f0bb
(package version 0.0.10). The invocation was:
mlx convert \
--input /Users/brooklyn/.mlx-node/models/qwen3.8-27b \
--output /Users/brooklyn/.mlx-node/models/qwen3.8-27b-unsloth-mxfp4-mlx \
--model-type qwen3_5 \
--dtype bfloat16 \
--quantize \
--q-recipe unsloth \
--q-mxfp
No --imatrix-path was supplied. The converter therefore applied the fixed
tensor-class map without AWQ pre-scaling.
Validation
The five-shard SafeTensors index contains 1,600 entries and reports
metadata.total_size = 23,277,610,464 bytes. Header and index validation
confirmed exact shard closure, valid physical offsets, 168 MXFP4 groups, 233
MXFP8 groups, 401 scale sidecars, no bias sidecars, and identical
quantization and quantization_config blocks.
All 333 vision/merger tensors and all 15 mtp.* tensors remain BF16 without
quantization sidecars. No imatrix or calibration artifact is present. The
tokenizer, chat template, generation config, and preprocessor assets are
byte-identical to the pinned source snapshot.
A one-token mlx-node smoke test loaded the checkpoint and produced OK. A
second explicit native-MTP smoke detected hasMtpWeights() = true, completed a
four-token deterministic generation with enableMtp: true, and reported an MTP
decode cycle. These plumbing checks do not validate model quality, long-context
behavior, vision quality, or benchmark performance.
License and attribution
The source model card declares the Apache-2.0 license. Model capability and training credit belong to the Qwen Team. The tensor-class recipe is credited to Unsloth. This repository converts the pinned BF16 source weights into the mixed MXFP4/MXFP8 MLX representation described above.
- Downloads last month
- 23
3-bit
Model tree for l2dy/Qwen3.8-27B-MXFP4-mlx
Base model
Qwen/Qwen3.8-27B