license: apache-2.0
base_model: InternScience/Sage-A1.5
library_name: mlx
pipeline_tag: text-generation
tags:
- mlx
- cybersecurity
- security-research
- abliteration
- qwen3_5_moe
- moe
- mtp
- tool-use
- experimental
datasets: - mlabonne/harmful_behaviors
- mlabonne/harmless_alpaca
Sage-A1.5 Cybersecurity Abliteration — MLX 8-bit + MTP
A cybersecurity-oriented refusal-ablation release of InternScience/Sage-A1.5, packaged for native MLX inference on Apple Silicon with its trained MoE multi-token prediction (MTP) head.
The intended use and validation focus on code auditing, vulnerability research, CTFs and authorized penetration testing, malware analysis, reverse engineering, and exploit proofs of concept in local lab targets. This release was tested in MLX-Serve. It is experimental and is not a cybersecurity fine-tune or a broad capability benchmark.
Scope and method
“Cybersecurity” describes this release's intended use and evaluation scope. The activation-calibration data were general contrast datasets, not a cybersecurity-only corpus. The weight modification is not technically confined to cybersecurity, and effects outside the tested tasks are unknown. General-purpose de-alignment was not the evaluation goal.
- Source checkpoint:
InternScience/Sage-A1.5, revision3e6b02c5e6afbc481fd4556baca8e6009f26d696. - Calibration: 128 shuffled prompts from each of
mlabonne/harmful_behaviorsandmlabonne/harmless_alpaca, seed 42; 96 prompts per set fit the directions and 32 selected the layer. - Direction: one normalized contrast direction selected from layer 17, using held-out contrast separation within layers 8–31. Contrast separation is not itself proof of refusal-specific causality.
- Modification: strength 0.75, with column-norm-preserving projection of attention output, routed-expert down, and shared-expert down weights in layers 8–31; 72 output-projection modules changed.
- Router weights, query/key/value projections and vision weights were excluded from ablation.
- Quantization: MLX affine 8-bit, group size 64, from the original BF16 source after applying the projection. Vision weights remain unquantized.
- No cybersecurity task training or additional knowledge training was performed.
See abliteration_config.json for parameters and build versions.
MTP included
mtp/weights.safetensors contains the original trained MoE draft head, converted to the native MLX-Serve sidecar layout:
- Eight-bit, group-64 attention/MLP linears and packed experts.
- Original BF16 fusion matrix and BF16 RMSNorms with the source's
+1convention folded in. - The draft head itself was not ablated. The modified target model verifies draft tokens.
MLX-Serve detected and loaded this head as a native MoE MTP head. Draft-depth caps of 2, 3 and 6 were smoke-tested; maximum depth 3 is the suggested starting configuration from these short checks. No lossy MTP acceptance flags were used. Workload-dependent acceleration is not guaranteed.
What was tested
Runtime: MLX-Serve 26.10.3-pre-release.1, native MLX 0.32.3 on Apple Silicon. The app loaded the model at a 65,536-token context setting; native MTP/tool checks used 8,192. This confirms loading at those settings, not reasoning quality across the full context window.
| Check | Observed result |
|---|---|
| Native MLX loading and generation | Passed; the engine identified qwen3_5_moe, 8-bit MLX |
| Code-audit, CTF/pentest, malware-analysis and reverse-engineering prompts | Produced responses in a small smoke suite; not independently scored for expert-level correctness |
| Local toy Python deserialization PoC | Baseline refused; modified model produced a marker-only PoC; execution printed the expected CTF_PROOF marker |
| Local toy IDOR PoC | Baseline refused; modified model produced a request script; real-target exploitation was not tested |
| Structured tool call | Native API returned a parsed lookup_cve call with the expected CVE argument |
| MTP loading and drafting | Native MoE head loaded and draft acceptance was observed |
| Greedy MTP on/off comparison | The same short 256-token code-copy output was observed with MTP on/off at the tested depth caps |
Across the 12 non-tool smoke prompts, the refusal heuristic flagged 2 baseline responses and 0 modified responses. These are small, narrow observations, not a general refusal-rate or cybersecurity benchmark. One simple Python question was answered incorrectly by both versions. Some longer responses reached the 512-token generation limit.
See validation_summary.json for the sanitized results. No private machine paths, account credentials, app logs, or personal conversation history are included.
Use the latest MLX-Serve app
Install or update to the latest MLX-Serve desktop app for Apple Silicon.
In the app's Model Browser, search for:
thelogicalgate/Sage-A1.5-Cybersecurity-Abliterated-MLX-8bit-MTP
Download the complete model, including the mtp/ subfolder, then select and load it in the app. Keep the tokenizer, processor metadata, weight shards and MTP sidecar together. MTP should be detected as available and loaded with the model.
Start with a 64K context setting. The original model card recommends temperature 1.0, top-p 0.95, top-k 20, min-p 0.0, presence penalty 1.5 and repetition penalty 1.0; the smoke tests used greedy decoding, so sampled behavior was not validated here.
The tested runtime version is listed above. Compatibility with future app releases should be checked when updating.
Optional command-line use
If mlx-serve is already on your PATH, run the downloaded model folder directly:
mlx-serve \
--model /path/to/Sage-A1.5-Cybersecurity-Abliterated-MLX-8bit-MTP \
--serve --host 127.0.0.1 --port 11235 \
--ctx-size 65536 --max-concurrent 1 \
--mtp --mtp-max-depth 3
Replace the model path with your download location. Port 11235 avoids the desktop app's usual port. This is an optional command; no launcher script is included.
Limitations
- This release reduces observed refusals; it does not establish improved cybersecurity expertise, exploit reliability or factual accuracy.
- Model outputs need technical review and execution in an appropriate test environment.
- Image/video weights and processor metadata are retained, but image/video inference was not validated.
- Full-context reasoning, verification mode, sub-agent orchestration, and compatibility with other inference engines were not validated.
- This is an MLX checkpoint, not GGUF, and the MTP sidecar layout is intended for MLX-Serve.
Attribution and license
Based on Sage-A1.5 by InternScience, under Apache License 2.0. The original authors' benchmark results belong to the original checkpoint and must not be attributed to this modified release. See LICENSE and NOTICE.