license: apache-2.0
base_model: windowsxp811203/Qwen3.8-27B-Abliterated
base_model_relation: quantized
pipeline_tag: image-text-to-text
library_name: mlx
tags:
- mlx
- omlx
- oq
- mtp
- native-mtp
- imatrix
- apple-silicon
- qwen3_5
- qwen3.8
- qwen
- abliterated
- uncensored
- vision
- evals
language: - en
- zh
Qwen3.8-27B-Abliterated — MLX + native MTP (project repo)
Everything for running the abliterated (refusal-removed) Qwen3.8-27B
on Apple Silicon with its native MTP draft head kept in the checkpoint and the vision tower unquantized, in one repo:
three oMLX oQ quantizations, the unquantized bf16 MLX conversion, the split-out MTP drafter for mlx-vlm, every raw
measurement behind the numbers (evals/), and the scripts that produced all of it (scripts/, cards/).
Builds
| folder | size | bpw | MMLU-400 | oMLX MTP (M5 Max) | AdvBench / HarmBench-safety refusals |
|---|---|---|---|---|---|
oQ4e/ |
15.81 GiB (16.97 GB) | 4.68 | 81.75 % | ~34 tok/s (depth 4) | 0/80 / 0/119 |
oQ6e/ |
22.09 GiB (23.72 GB) | 6.659 | 82.50 % | ~24 tok/s (depth 4) | 0/80 / 0/119 |
oQ8e/ |
27.94 GiB (30.00 GB) | 8.501 | 82.75 % | ~28 tok/s (depth 3) | 0/80 / 0/119 |
bf16/ |
51.75 GiB (55.56 GB) | 16 | 82.50 % | (reference) | parent: 1/520 / 0/293 |
drafter/ |
810 MiB | bf16 | — | mlx-vlm --draft-model |
— |
Each folder is a complete, loadable checkpoint with its own README (the full model card: what is quantized, MTP sweep with
run-to-run ranges, acceptance by depth, refusal and MMLU protocol, provenance, and the proxy-calibration disclosure).
MMLU is 5-shot on oMLX's seeded 400-question sample, identical for every row, MTP on, thinking off; refusal is greedy,
non-thinking, no prompt prefill (the parent card's protocol). All numbers were measured on a MacBook Pro M5 Max 128 GB.
Download one build
hf download windowsxp811203/Qwen3.8-27B-Abliterated-MLX-MTP --include "oQ6e/*" --local-dir ~/.omlx/models/Qwen3.8-27B-Abliterated-MLX-MTP
omlx serve --model-dir ~/.omlx/models # model id = the folder name
Then enable Lightning MTP in ~/.omlx/model_settings.json (note the models wrapper — a top-level model key is silently ignored):
{"version": 1, "models": {"oQ6e": {"mtp_enabled": true, "mtp_num_draft_tokens": 3, "max_context_window": 262144}}}
For mlx-vlm: python -m mlx_vlm.generate --model <local oQ4e dir> --draft-model <local drafter dir> --prompt "..."
(mlx-vlm 0.6.17 tested; stock mlx-lm / LM Studio are not supported — see the build READMEs).
What is in evals/
Raw artifacts for every number on the cards, so they can be re-derived:
greedy_<build>_mtp_{off,d1..d4}[_r1|_r2].json— the 10-prompt greedy runs (prompts, full outputs, tok/s) used for the MTP tables and the byte-identity checkbench_<build>_mtp_*.json— oMLX's built-in throughput bench (1K / 4K prompts → 256 tokens: gen_tps, ttft, peak memory)refusal_<build>_{advbench80,harmbench160}[_np].json— refusal counts per set / per HarmBench category (_np= no prefill, the primary numbers; the others used the"Sure, here is"prefill). Counts only, no transcripts.mmlu_<build>.json— oMLX accuracy-bench results (400-question stratified sample, 5-shot)vision_<build>.txt— the synthetic vision probe answers;drafter_<build>_{plain,mtp}[_r1|_r2].txt— mlx-vlm transcripts with/without the drafterprobe_*.json,cardvals_*.json,values_*.json— tensor census vs the HF parent (MTP/vision presence, norm offsets), bits histogram / bpw, and the exact values rendered into each cardmlxlm_smoke*.txt— stock mlx-lm output on these checkpoints (garbage; why the cards say "not supported")logs/— quantization logs (oq*e.log, incl. the 4-bit-proxy calibration decision), measurement logs, andmtp_acceptance_summary.txt(per-depth acceptance pooled from the oMLX server logs). Local paths are redacted as<work>/<home>.
Reproduce
scripts/ is the whole pipeline: download_hf.py (sha256-audited download), convert_bf16.py + probe_ckpt.py (bf16+MTP conversion and the tensor probe), quantize_oq.py (oMLX oQ with preserve_mtp=True), measure_mtp.sh / remeasure.sh / omlx_admin.py (MTP sweeps, acceptance parsing, admin bench and MMLU), eval_quant.sh + probe_refusal_openai.py (refusal, vision), test_drafter.sh (mlx-vlm drafter), upload_mlx.py / upload_combined.py (private-first upload with sha256 audit). cards/ holds the templates and the value assemblers that rendered the READMEs. Two venvs are needed (oMLX pins mlx-vlm 0.6.3; the drafter split and the drafter test need mlx-vlm 0.6.17) — see scripts/setup_venv_*.sh.
Support / 打賞
If these models are useful to you, tips are appreciated — they pay for the GPU time.
如果這些模型對你有幫助,歡迎打賞,用於支應算力成本。
USDT (TRC20) · TPTo32r7vKazpTNaFqfFZ2ztoK1DG88888
Disclaimer
These models will not refuse. They are published for alignment and safety research. You are responsible for your use of
them and for complying with applicable law. Inherits the Apache-2.0 license of the base model.