alt.freeweights.gpt-oss / gpt-oss-20b-OptiQ-4bit
From: mlx-community <huggingface.co/mlx-community>Newsgroups: alt.freeweights.gpt-ossSubject:

gpt-oss-20b-OptiQ-4bit

Date: 2026-11-15Commit: 01ca7c6Signed: 2DC28CC7B26A283B ✓

Text generation model with 20.9B parameters. Safetensors weights, 11.7 GB in all. Published by mlx-community under Apache-2.0.

20.9B params11.7GBgpt-oss-20b-OptiQ-4bitsafetensorspermissive
FactsParams20.9BSize11.7 GBFormatssafetensorsTasktext generationLicenseApache-2.0From sourcepermissive
$ fw get mlx-community/gpt-oss-20b-OptiQ-4bit
# manifest sha256 fb4825dec162… · 11.7 GB · 13 files
$ fw verify ./gpt-oss-20b-OptiQ-4bit mlx-community/gpt-oss-20b-OptiQ-4bit
From sourceHosted (signed)mlx-community/gpt-oss-20b-OptiQ-4bitLast check: 2026-11-15 05:02 UTC

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

Quantized of gpt-oss-20b.

Works with

Overview

Size
11.7 GB
Weights
11.6 GB (safetensors)
Parameters
20.9B
Formats
safetensors
Task
text generation
License
Apache-2.0 (permissive)
Files
13, each with a sha256
Publisher
mlx-community
Added
2026-11-15
Section
alt.freeweights.gpt-oss
Lineage

Original release from the publisher.

Base model: openai/gpt-oss-20b

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:02 UTCpassed

Model card

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

mlx-community/gpt-oss-20b-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. All OptiQ quants · Docs

A sensitivity-driven mixed-precision 4-bit MLX quant of OpenAI's gpt-oss-20b, produced by mlx-optiq. OptiQ measures each layer's quantization sensitivity and assigns per-layer bit-widths (4 or 8) under a target budget, instead of quantizing every layer to the same width.

gpt-oss ships natively in MXFP4 (its experts are already 4-bit). That makes a naive uniform-4-bit re-quantization unusually lossy, since it compounds error on top of weights that are already at the 4-bit floor. OptiQ keeps the layers that matter at 8-bit, so it recovers most of what uniform-4 drops.

Capability Score#

Six-benchmark mean (MMLU, GSM8K, IFEval, BFCL, HumanEval, HashHop), measured against a genuine uniform-4-bit baseline built from the same weights.

BenchmarkOptiQ-4bituniform-4Δ
MMLU (5-shot)54.738.0+16.7
GSM8K83.074.3+8.7
IFEval (strict)61.955.3+6.7
BFCL (simple)70.559.5+11.0
HumanEval (pass@1)82.976.8+6.1
HashHop (multi-hop retrieval)78.019.0+59.0
Capability Score71.8453.81+18.03

OptiQ wins all six. The largest gap is HashHop (long-context multi-hop retrieval), where uniform-4 collapses to 19% while OptiQ holds 78%: uniform 4-bit erodes the long-range attention precision that retrieval depends on, and OptiQ's mixed precision keeps those layers at 8-bit.

What it is#

PropertyValue
Baseopenai/gpt-oss-20b (24-layer MoE, 32 experts, 4 active per token, attention sinks)
MethodOptiQ mixed-precision (per-layer sensitivity, 4/8-bit knapsack)
Bit allocation33 layers @ 4-bit, 88 @ 8-bit
Achieved bits-per-weight5.03
On disk11 GB
Resident while running~11.6 GB

Run it#

gpt-oss needs mlx-lm and import optiq (keep it for the rest of the toolkit):

pip install -U mlx-optiq "mlx-lm @ git+https://github.com/ml-explore/mlx-lm.git"
from mlx_lm import load, generate
from mlx_lm.sample_utils import make_sampler

model, tok = load("mlx-community/gpt-oss-20b-OptiQ-4bit")
prompt = tok.apply_chat_template(
    [{"role": "user", "content": "Explain mixed-precision quantization in one sentence."}],
    tokenize=False, add_generation_prompt=True, reasoning_effort="low",
)
print(generate(model, tok, prompt=prompt, max_tokens=512, sampler=make_sampler(temp=0.7)))

gpt-oss is a reasoning model using the harmony response format: it emits an analysis channel before a final channel. Pass reasoning_effort ("low", "medium", "high") to control how much it reasons, and read the answer from the final channel.

Serve it with the OptiQ Lab + OpenAI-compatible API:

optiq serve --model mlx-community/gpt-oss-20b-OptiQ-4bit

Notes#

  • No KV-cache quantization. gpt-oss uses attention sinks, which mlx-lm's quantized-SDPA path does not support, so this quant ships without a kv_config.json. Weight quantization (the OptiQ result above) is unaffected.
  • This is a weight-only quant; it loads under stock mlx-lm as a standard gpt_oss model.
  • The full method is described at mlx-optiq.com/docs.

Files

13 files · 11.7 GBWeights 11.6 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 13 files with their sha256
FileSizesha256
.gitattributes1.57 KB34448b82c17d60fec9b65b1f093c115ddbaadc04beb1b0140b6bfed2e012a930
README.md3.84 KBcde4d568667c81c62b28a91e45836dbffa2302f71af4fbe2b33f0a15aa0baf38
chat_template.jinja16.7 KBa4c9919cbbd4acdd51ccffe22da049264b1b73e59055fa58811a99efbd7c8146
config.json28.9 KBe3c5ef51141bb4d54d4c4ff57f378d39106efda547e779a2559308c8b6fc431a
generation_config.json177 Bf9970ada892d2d1f72e3ed0a6535ccebadd11897318794ca671d8c7014c957da
kv_config.json1.58 KB3b648a1c8cdce1d798ede305afbbcdf2fda1815244b80d952cfb669573eeeea0
model-00001-of-00003.safetensors5.37 GB4eddeaf12ef23b2111c84102ec2ea5f8868181498e5c10d51108226c0f8f18a2
model-00002-of-00003.safetensors5.34 GBa046267a27a072f7808d94edaf27391de92f96bfb123aa40f15b459720d97720
model-00003-of-00003.safetensors919 MBc697e3083205a207119c3bbcb56ee606bf0a48c74e271b5636b6805b0cb79590
model.safetensors.index.json67.0 KB3874399bafc8fc94622ec141e95f8cb02e949aa1b2f536f5629c45eb015b5211
optiq_metadata.json10.8 KB44eb757fece74e6ee26574646cf0e8429b71f5dde1222dc393cc8ff4ec32dea2
tokenizer.json27.9 MB0614fe83cadab421296e664e1f48f4261fa8fef6e03e63bb75c20f38e37d07d3
tokenizer_config.json379 Bc0dc04000bfecd87c3df2fecea68d7460425dc942593db37f59093aef5957541
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
01ca7c698c pinned now2026-11-15 05:02 UTC13 files · 11.7 GB

Use it

$ fw get mlx-community/gpt-oss-20b-OptiQ-4bit
# manifest sha256 fb4825dec162… · 11.7 GB · 13 files
$ fw verify ./gpt-oss-20b-OptiQ-4bit mlx-community/gpt-oss-20b-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/gpt-oss-20b-OptiQ-4bit.json --dir ./gpt-oss-20b-OptiQ-4bit $ python3 fw.py verify ./gpt-oss-20b-OptiQ-4bit ./mlx-community__gpt-oss-20b-OptiQ-4bit.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mlx-community/gpt-oss-20b-OptiQ-4bit --revision 01ca7c698c0108e784c891b2e5916b50ca10c5a9 --local-dir ./gpt-oss-20b-OptiQ-4bit
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForCausalLM, AutoTokenizer tok = AutoTokenizer.from_pretrained("mlx-community/gpt-oss-20b-OptiQ-4bit", revision="01ca7c698c0108e784c891b2e5916b50ca10c5a9") model = AutoModelForCausalLM.from_pretrained("mlx-community/gpt-oss-20b-OptiQ-4bit", revision="01ca7c698c0108e784c891b2e5916b50ca10c5a9", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve mlx-community/gpt-oss-20b-OptiQ-4bit --revision 01ca7c698c0108e784c891b2e5916b50ca10c5a9

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
cde4d568667c81c62b28a91e45836dbffa2302f71af4fbe2b33f0a15aa0baf38
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.gpt-ossSubject: gpt-oss-20b-OptiQ-4bitDate: 2026-11-15Commit: 01ca7c6Signed: 2DC28CC7B26A283B ✓
Upstream
mlx-community/gpt-oss-20b-OptiQ-4bit
Pinned commit
01ca7c698c0108e784c891b2e5916b50ca10c5a9
Manifest
gpt-oss-20b-OptiQ-4bit.json · .minisig
Manifest sha256
fb4825dec162c6d62f377087d09ab571577455754867f8bd080a76126d5af160
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 05:02 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/mlx-community/gpt-oss-20b-OptiQ-4bit.json $ curl -O https://freeweights.allternit.com/manifests/mlx-community/gpt-oss-20b-OptiQ-4bit.json.minisig $ minisign -Vm gpt-oss-20b-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

openai/gpt-oss-20b · 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/gpt-oss-20b-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. gpt-oss-20b-OptiQ-4bit.json. Provenance. Takedown history: none.
From: unsloth <huggingface.co/unsloth>Subject: gpt-oss-120b
From: mlx-community <huggingface.co/mlx-community>Subject: gpt-oss-120b-4bit
From: unsloth <huggingface.co/unsloth>Subject: gpt-oss-120b-BF16
From: lmstudio-community <huggingface.co/lmstudio-community>Subject: gpt-oss-120b-GGUF
From: unsloth <huggingface.co/unsloth>Subject: gpt-oss-120b-GGUF
From: lmstudio-community <huggingface.co/lmstudio-community>Subject: gpt-oss-120b-MLX-8bit