alt.freeweights.text / Sage-A1.5-OptiQ-4bit
From: mlx-community <huggingface.co/mlx-community>Newsgroups: alt.freeweights.textSubject:

Sage-A1.5-OptiQ-4bit

Date: 2026-11-15Commit: c7458feSigned: 2DC28CC7B26A283B ✓

Image text to text model with 34.7B parameters. Safetensors weights, 23.5 GB in all. Published by mlx-community under Apache-2.0.

34.7B params23.5GBSage-A1.5-OptiQ-4bitsafetensorspermissive
FactsParams34.7BSize23.5 GBFormatssafetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get mlx-community/Sage-A1.5-OptiQ-4bit
# manifest sha256 d2f652cbb9d1… · 23.5 GB · 19 files
$ fw verify ./Sage-A1.5-OptiQ-4bit mlx-community/Sage-A1.5-OptiQ-4bit
From sourceHosted (signed)mlx-community/Sage-A1.5-OptiQ-4bitLast check: 2026-11-15 05:05 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Quantized of Sage-A1.5.

Works with

Overview

Size
23.5 GB
Weights
23.5 GB (safetensors)
Parameters
34.7B
Formats
safetensors
Task
image text to text
License
Apache-2.0 (permissive)
Files
19, each with a sha256
Publisher
mlx-community
Added
2026-11-15
Section
alt.freeweights.text
Lineage

Original release from the publisher.

Base model: InternScience/Sage-A1.5

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 05:05 UTCpassed

Model card

From the publisher at commit c7458fe. Shown as plain text with links; images open at the publisher.

mlx-community/Sage-A1.5-OptiQ-4bit#

Built with mlx-optiq, the MLX-native toolkit to quantize, fine-tune, and serve LLMs locally on Apple Silicon, no PyTorch and no cloud. Try the Lab · All OptiQ quants · Docs

This repository contains a mixed-precision MLX quantization of InternScience/Sage-A1.5 for Apple Silicon. Sage-A1.5 is a 35B mixture-of-experts agentic model from Shanghai AI Laboratory with approximately 3B active parameters per token, designed for long-horizon scientific problem solving, tool use and code. Its architecture is Qwen3.6-35B-A3B: 40 layers, 256 experts, 8 routed per token, with a Qwen3-VL vision tower.

OptiQ quantizes the language tower to mixed 4-bit and 8-bit precision and keeps the vision tower at bf16 in a sidecar file, so a single checkpoint handles both text and images. The checkpoint is 22 GB on disk, down from about 72 GB in bf16.

What it is#

PropertyValue
BaseInternScience/Sage-A1.5 (Qwen3.6-35B-A3B architecture)
Language towerper-layer 4/8-bit: 118 tensors at 4-bit, 394 at 8-bit (512 total)
Vision towerbf16, kept in optiq_vision.safetensors (333 tensors)
MTP headoptiq/mtp.safetensors
On disk20.6 GB language + 0.9 GB vision + 0.5 GB MTP head
Group size64
Context262,144 tokens

Following llama.cpp's naming for mixed quants, the "4bit" label denotes the predominant precision, not the weighted average.

How the bit-widths were chosen#

The per-layer bit allocation was not measured on this model. It was copied from mlx-community/Qwen3.6-35B-A3B-OptiQ-4bit, whose allocation came from a KL-divergence sensitivity sweep over a six-domain calibration mix.

This is sound because Sage-A1.5 has the same architecture: same layer count, expert count, hidden size 2048, vocabulary 248,320. Its chat template is Qwen3.6's with one addition, an optional verification-protocol switch. All 512 tensors matched the recipe with none unmatched. An unmatched tensor would silently fall back to flat 4-bit.

Sensitivity reflects a layer's role in the architecture. Fine-tuning can shift it, and that was not measured here. Running optiq convert on the model performs the full sweep.

Sampling#

The upstream repository ships no generation_config.json. This repository adds one with the sampling parameters the Sage-A1.5 authors recommend on their model card: temperature 1.0, top_p 0.95, top_k 20, min_p 0, presence_penalty 1.5.

Without presence_penalty, the quant reasoned past 16,384 tokens without answering on two open-ended prompts, a one-sentence explanation and a short coding task. With the recommended values, both prompts finished with correct answers, using about 4,900 and 800 reasoning tokens respectively. optiq serve reads the file automatically. Other runtimes should pass these values explicitly.

What was verified#

Run through this quantized model with optiq serve on Apple Silicon:

InputOutput
Capital of France, one wordParis
17 × 23391
240 km in 3 hours, average speed80
"What's the weather in Paris?" with a get_weather toolget_weather({"city": "Paris"})
An image of an OptiQ release bannerRead the product name, date and listed features correctly
One sentence on why the sky is blueShorter blue wavelengths scatter more
An iterative Fibonacci functionCorrect, with the base cases handled

Also checked: 512/512 tensors matched the recipe, and the artifact layout, sidecars and metadata follow OptiQ's release contract.

Not run for this model: the six-metric Capability Score. The published scores for the Qwen3.6-35B-A3B quant describe that model, not this one, and are not claimed here.

Use it#

pip install mlx-optiq
optiq serve --model mlx-community/Sage-A1.5-OptiQ-4bit --ngram-draft 16

--mtp is not supported on this model yet: the MTP head of the Qwen3.6-35B-A3B family does not load into OptiQ's speculator. N-gram drafting (--ngram-draft 16) is the speed-up to use.

Images through the Python API:

from optiq.runtime.engine import OptiqEngine

eng = OptiqEngine("mlx-community/Sage-A1.5-OptiQ-4bit")
st = eng.generate("What is in this image?", images=["figure.png"], max_tokens=2048)
print(st.text)

Text-only works under stock mlx-lm as well. It globs model*.safetensors and ignores the sidecar, so the same repo loads either way:

from mlx_lm import load, generate

model, tokenizer = load("mlx-community/Sage-A1.5-OptiQ-4bit")
print(generate(model, tokenizer, prompt="Explain KV caching.", max_tokens=2048))

The per-layer bit map is in optiq/metadata.json and in the quantization block of config.json.

Using the head outside optiq serve: optiq/mtp.safetensors holds Qwen's original MTP tensors, so its seven RMSNorm weights (mtp.*norm*) are zero-centred, applied as 1 + w. The main weights have the +1 folded in, as MLX expects. Add 1.0 to all seven norms when loading the head into another runtime.

Files

19 files · 23.5 GBWeights 23.5 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 19 files with their sha256
FileSizesha256
.gitattributes1.57 KB34448b82c17d60fec9b65b1f093c115ddbaadc04beb1b0140b6bfed2e012a930
README.md6.00 KB3f5d7c97e88c6c92c298832da1d820c928573972f849912bc0738c8d1464a458
chat_template.jinja9.03 KB0080393e13df7322bed792a78e75daf8a0374a80928996e5cf3cfd2ab4c1e1be
config.json116 KB5de83f7930ed1b42ba848ec3ae9b65b654f3da1991ed9bf3dc4c90944636a2e6
generation_config.json250 B2116c1553715b06e09ad061d752390376312db80368c85423d45f7fa8acf37e4
model-00001-of-00005.safetensors5.35 GBbe24ab2fcaef039edaa2c972a138671b031561dbc4de8a19f9b71d281eb2e32f
model-00002-of-00005.safetensors5.37 GBc684931102c886e71de49acc36df4cc08ec95af1d742232b113aeb6640ee0e72
model-00003-of-00005.safetensors5.25 GB4dbcb0e8f5dd70fe1c6d0c5aa0c27032e16bd92007e5475fca75a7ceab0593ac
model-00004-of-00005.safetensors5.19 GBa74dd279b6f6355cdaa2a23f7ac840ac34c8e6aa79362ab1f9542880b47124c6
model-00005-of-00005.safetensors980 MBf817eb44559f9dd80de08f434acbec6526c8fa820a148ad23841994c02aa0b22
model.safetensors.index.json205 KB95db55cb3e446a0cd3cfc7ce2260451cd51be000eb82c61e6d470ea8cbaf5e70
optiq/metadata.json56.5 KB8ecbcc642b828ebdd381ea76f81f1794e1ff96db64bbe3f9bf0e5d201d83481c
optiq/mtp.safetensors487 MB3f0e6198686a89177ea7adeb8996aefc15b9e336845198a272e2cd5bbef8196a
optiq_vision.safetensors893 MBed1fb59e17415b0e70cceb5ca5f22068e2fb67ec1ada5686309554011b313e45
preprocessor_config.json390 B27225450ac9c6529872ee1924fcb0962ff5634834f817040f444118116f4e516
processor_config.json1.30 KB14932921ca485d458a04dafd8069fbb0a4505622a48208d19ed247115801385b
tokenizer.json20.0 MB06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
tokenizer_config.json1.16 KB95c557768e6b88a7128befc7bfd3c7de50e5d51af9b8b33a9f4dee0e04f99679
video_preprocessor_config.json385 B7768af27c1fafa9cc9011c1dc20067e03f8915e03b63504550e11d5066986d13
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
c7458fe418 pinned now2026-11-15 05:05 UTC19 files · 23.5 GB

Use it

$ fw get mlx-community/Sage-A1.5-OptiQ-4bit
# manifest sha256 d2f652cbb9d1… · 23.5 GB · 19 files
$ fw verify ./Sage-A1.5-OptiQ-4bit mlx-community/Sage-A1.5-OptiQ-4bit
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/mlx-community/Sage-A1.5-OptiQ-4bit.json --dir ./Sage-A1.5-OptiQ-4bit $ python3 fw.py verify ./Sage-A1.5-OptiQ-4bit ./mlx-community__Sage-A1.5-OptiQ-4bit.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mlx-community/Sage-A1.5-OptiQ-4bit --revision c7458fe4180e892c12e64efebb41e12f3bf40d14 --local-dir ./Sage-A1.5-OptiQ-4bit
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForImageTextToText, AutoProcessor processor = AutoProcessor.from_pretrained("mlx-community/Sage-A1.5-OptiQ-4bit", revision="c7458fe4180e892c12e64efebb41e12f3bf40d14") model = AutoModelForImageTextToText.from_pretrained("mlx-community/Sage-A1.5-OptiQ-4bit", revision="c7458fe4180e892c12e64efebb41e12f3bf40d14", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve mlx-community/Sage-A1.5-OptiQ-4bit --revision c7458fe4180e892c12e64efebb41e12f3bf40d14

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
3f5d7c97e88c6c92c298832da1d820c928573972f849912bc0738c8d1464a458
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: mlx-community <huggingface.co/mlx-community>Newsgroups: alt.freeweights.textSubject: Sage-A1.5-OptiQ-4bitDate: 2026-11-15Commit: c7458feSigned: 2DC28CC7B26A283B ✓
Upstream
mlx-community/Sage-A1.5-OptiQ-4bit
Pinned commit
c7458fe4180e892c12e64efebb41e12f3bf40d14
Manifest
Sage-A1.5-OptiQ-4bit.json · .minisig
Manifest sha256
d2f652cbb9d1fc216f31db9deea0a73be76584440a03d256254f30aa6e2911ba
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 05:05 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/mlx-community/Sage-A1.5-OptiQ-4bit.json $ curl -O https://freeweights.allternit.com/manifests/mlx-community/Sage-A1.5-OptiQ-4bit.json.minisig $ minisign -Vm Sage-A1.5-OptiQ-4bit.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

InternScience/Sage-A1.5 · this model is a quantization of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mlx-community/Sage-A1.5-OptiQ-4bit
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. Sage-A1.5-OptiQ-4bit.json. Provenance. Takedown history: none.
From: laion <huggingface.co/laion>Subject: a2-rl-e2egit_large-50-32B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-large-15-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-v2-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_pymethods2test-large-80-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_unitsyn-python-large-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_mix_h2_language_proportional-65-8B