alt.freeweights.gpt-oss / openai_gpt-oss-20b-GGUF
From: bartowski <huggingface.co/bartowski>Newsgroups: alt.freeweights.gpt-ossSubject:

openai_gpt-oss-20b-GGUF

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

Text generation model. Gguf weights, 330 GB in all. Published by bartowski under Apache-2.0.

gpt-oss330GBopenai_gpt-oss-20b-GGUFggufpermissive
FactsParamsnot statedSize330 GBFormatsggufTasktext generationLicenseApache-2.0From sourcepermissive
$ fw get bartowski/openai_gpt-oss-20b-GGUF
# manifest sha256 f517115f44d4… · 330 GB · 31 files
$ fw verify ./openai_gpt-oss-20b-GGUF bartowski/openai_gpt-oss-20b-GGUF
From sourceHosted (signed)bartowski/openai_gpt-oss-20b-GGUFLast check: 2026-11-15 04:45 UTC

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

Quantized of gpt-oss-20b.

Works with

Convert with

Overview

Size
330 GB
Weights
28.1 MB (smallest of 29 GGUF variants)
Parameters
not stated
Formats
gguf
Task
text generation
License
Apache-2.0 (permissive)
Files
31, each with a sha256
Publisher
bartowski
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 04:45 UTCpassed

Model card

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

Llamacpp imatrix Quantizations of gpt-oss-20b by openai#

Using llama.cpp release b6096 for quantization.

Original model: https://huggingface.co/openai/gpt-oss-20b

All quants made using imatrix option with combined_all_medium dataset from Ed Addario here

Run them in LM Studio

Run them directly with llama.cpp, or any other llama.cpp based project

All quants keep the feed forward networks at mxfp4 for optimal performance, which does mean the size differences are negligible unfortunately, but being provided just because.

Prompt format#

No chat template specified so default is used. This may be incorrect, check original model card for details.

<|start|>system<|message|>You are ChatGPT, a large language model trained by OpenAI.
Knowledge cutoff: 2024-06
Current date: 2025-08-05

Reasoning: medium

# Valid channels: analysis, commentary, final. Channel must be included for every message.<|end|><|start|>developer<|message|># Instructions

{system_prompt}<|end|><|start|>user<|message|>{prompt}<|end|><|start|>assistant

Download a file (not the whole branch) from below:#

Use this one:

FilenameQuant typeFile SizeSplitDescription
gpt-oss-20b-MXFP4.ggufMXFP412.1GBfalseFull MXFP4 weights, recommended for this model.

The reason is, the FFN (feed forward networks) of gpt-oss do not behave nicely when quantized to anything other than MXFP4, so they are kept at that level for everything.

The rest of these are provided for your own interest in case you feel like experimenting, but the size savings is basically non-existent so I would not recommend running them, they are provided simply for show:

FilenameQuant typeFile SizeSplitDescription
gpt-oss-20b-Q6_K_L.ggufQ6_K_L12.04GBfalseUses Q8_0 for embed and output weights. Q6_K with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q6_K.ggufQ6_K12.04GBfalseQ6_K with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q5_K_L.ggufQ5_K_L11.91GBfalseUses Q8_0 for embed and output weights. Q5_K with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q4_K_L.ggufQ4_K_L11.89GBfalseUses Q8_0 for embed and output weights. Q4_K with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q2_K_L.ggufQ2_K_L11.85GBfalseUses Q8_0 for embed and output weights. Q2_K with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q3_K_XL.ggufQ3_K_XL11.78GBfalseUses Q8_0 for embed and output weights. Q3_K_L with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q5_K_M.ggufQ5_K_M11.73GBfalseQ5_K_M with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q5_K_S.ggufQ5_K_S11.72GBfalseQ5_K_S with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q4_K_M.ggufQ4_K_M11.67GBfalseQ4_K_M with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q4_K_S.ggufQ4_K_S11.67GBfalseQ4_K_S with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q4_1.ggufQ4_111.59GBfalseQ4_1 with all FFN kept at MXFP4_MOE.
gpt-oss-20b-IQ4_NL.ggufIQ4_NL11.56GBfalseIQ4_NL with all FFN kept at MXFP4_MOE.
gpt-oss-20b-IQ4_XS.ggufIQ4_XS11.56GBfalseIQ4_XS with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q3_K_M.ggufQ3_K_M11.56GBfalseQ3_K_M with all FFN kept at MXFP4_MOE.
gpt-oss-20b-IQ3_M.ggufIQ3_M11.56GBfalseIQ3_M with all FFN kept at MXFP4_MOE.
gpt-oss-20b-IQ3_XS.ggufIQ3_XS11.56GBfalseIQ3_XS with all FFN kept at MXFP4_MOE.
gpt-oss-20b-IQ3_XXS.ggufIQ3_XXS11.56GBfalseIQ3_XXS with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q2_K.ggufQ2_K11.56GBfalseQ2_K with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q3_K_S.ggufQ3_K_S11.55GBfalseQ3_K_S with all FFN kept at MXFP4_MOE.
gpt-oss-20b-IQ2_M.ggufIQ2_M11.55GBfalseIQ2_M with all FFN kept at MXFP4_MOE.
gpt-oss-20b-IQ2_S.ggufIQ2_S11.55GBfalseIQ2_S with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q4_0.ggufQ4_011.52GBfalseQ4_0 with all FFN kept at MXFP4_MOE.
gpt-oss-20b-IQ2_XS.ggufIQ2_XS11.51GBfalseIQ2_XS with all FFN kept at MXFP4_MOE.
gpt-oss-20b-IQ2_XXS.ggufIQ2_XXS11.51GBfalseIQ2_XXS with all FFN kept at MXFP4_MOE.
gpt-oss-20b-Q3_K_L.ggufQ3_K_L11.49GBfalseQ3_K_L with all FFN kept at MXFP4_MOE.

Embed/output weights#

Some of these quants (Q3_K_XL, Q4_K_L etc) are the standard quantization method with the embeddings and output weights quantized to Q8_0 instead of what they would normally default to.

Downloading using huggingface-cli#

Click to view download instructions

First, make sure you have hugginface-cli installed:

pip install -U "huggingface_hub[cli]"

Then, you can target the specific file you want:

huggingface-cli download bartowski/openai_gpt-oss-20b-GGUF --include "openai_gpt-oss-20b-Q4_K_M.gguf" --local-dir ./

If the model is bigger than 50GB, it will have been split into multiple files. In order to download them all to a local folder, run:

huggingface-cli download bartowski/openai_gpt-oss-20b-GGUF --include "openai_gpt-oss-20b-Q8_0/*" --local-dir ./

You can either specify a new local-dir (openai_gpt-oss-20b-Q8_0) or download them all in place (./)

ARM/AVX information#

Previously, you would download Q4_0_4_4/4_8/8_8, and these would have their weights interleaved in memory in order to improve performance on ARM and AVX machines by loading up more data in one pass.

Now, however, there is something called "online repacking" for weights. details in this PR. If you use Q4_0 and your hardware would benefit from repacking weights, it will do it automatically on the fly.

As of llama.cpp build b4282 you will not be able to run the Q4_0_X_X files and will instead need to use Q4_0.

Additionally, if you want to get slightly better quality for , you can use IQ4_NL thanks to this PR which will also repack the weights for ARM, though only the 4_4 for now. The loading time may be slower but it will result in an overall speed incrase.

Click to view Q4_0_X_X information (deprecated

I'm keeping this section to show the potential theoretical uplift in performance from using the Q4_0 with online repacking.

Click to view benchmarks on an AVX2 system (EPYC7702)

modelsizeparamsbackendthreadstestt/s% (vs Q4_0)
qwen2 3B Q4_01.70 GiB3.09 BCPU64pp512204.03 ± 1.03100%
qwen2 3B Q4_01.70 GiB3.09 BCPU64pp1024282.92 ± 0.19100%
qwen2 3B Q4_01.70 GiB3.09 BCPU64pp2048259.49 ± 0.44100%
qwen2 3B Q4_01.70 GiB3.09 BCPU64tg12839.12 ± 0.27100%
qwen2 3B Q4_01.70 GiB3.09 BCPU64tg25639.31 ± 0.69100%
qwen2 3B Q4_01.70 GiB3.09 BCPU64tg51240.52 ± 0.03100%
qwen2 3B Q4_K_M1.79 GiB3.09 BCPU64pp512301.02 ± 1.74147%
qwen2 3B Q4_K_M1.79 GiB3.09 BCPU64pp1024287.23 ± 0.20101%
qwen2 3B Q4_K_M1.79 GiB3.09 BCPU64pp2048262.77 ± 1.81101%
qwen2 3B Q4_K_M1.79 GiB3.09 BCPU64tg12818.80 ± 0.9948%
qwen2 3B Q4_K_M1.79 GiB3.09 BCPU64tg25624.46 ± 3.0483%
qwen2 3B Q4_K_M1.79 GiB3.09 BCPU64tg51236.32 ± 3.5990%
qwen2 3B Q4_0_8_81.69 GiB3.09 BCPU64pp512271.71 ± 3.53133%
qwen2 3B Q4_0_8_81.69 GiB3.09 BCPU64pp1024279.86 ± 45.63100%
qwen2 3B Q4_0_8_81.69 GiB3.09 BCPU64pp2048320.77 ± 5.00124%
qwen2 3B Q4_0_8_81.69 GiB3.09 BCPU64tg12843.51 ± 0.05111%
qwen2 3B Q4_0_8_81.69 GiB3.09 BCPU64tg25643.35 ± 0.09110%
qwen2 3B Q4_0_8_81.69 GiB3.09 BCPU64tg51242.60 ± 0.31105%

Q4_0_8_8 offers a nice bump to prompt processing and a small bump to text generation

Which file should I choose?#

Click here for details

A great write up with charts showing various performances is provided by Artefact2 here

The first thing to figure out is how big a model you can run. To do this, you'll need to figure out how much RAM and/or VRAM you have.

If you want your model running as FAST as possible, you'll want to fit the whole thing on your GPU's VRAM. Aim for a quant with a file size 1-2GB smaller than your GPU's total VRAM.

If you want the absolute maximum quality, add both your system RAM and your GPU's VRAM together, then similarly grab a quant with a file size 1-2GB Smaller than that total.

Next, you'll need to decide if you want to use an 'I-quant' or a 'K-quant'.

If you don't want to think too much, grab one of the K-quants. These are in format 'QX_K_X', like Q5_K_M.

If you want to get more into the weeds, you can check out this extremely useful feature chart:

llama.cpp feature matrix

But basically, if you're aiming for below Q4, and you're running cuBLAS (Nvidia) or rocBLAS (AMD), you should look towards the I-quants. These are in format IQX_X, like IQ3_M. These are newer and offer better performance for their size.

These I-quants can also be used on CPU, but will be slower than their K-quant equivalent, so speed vs performance is a tradeoff you'll have to decide.

Credits#

Thank you kalomaze and Dampf for assistance in creating the imatrix calibration dataset.

Thank you ZeroWw for the inspiration to experiment with embed/output.

Thank you to LM Studio for sponsoring my work.

Want to support my work? Visit my ko-fi page here: https://ko-fi.com/bartowski

Files

31 files · 330 GBWeights 28.1 MB (smallest of 29 GGUF variants). Sizes and sha256 from the signed manifest.
Show all 31 files with their sha256
FileSizesha256
.gitattributes3.45 KB3d116928a5e91bd304235ea119465b2e6a0b81c4e91eed965d0caedd898a44ac
README.md14.4 KB8c2ed3295ab13dca1efc10dea7ddbe91f470551277bcdb22dbcbb903a63a2fdc
openai_gpt-oss-20b-IQ2_M.gguf11.5 GB2fd37f06a84aa0b2853212cf216c496ee862c9cdec79b8dea3a090228cb33821
openai_gpt-oss-20b-IQ2_S.gguf11.5 GB067f1205918e462ad7673ef1d73a7b9c23d1e4ac93f1255809de0f4d85ff88d0
openai_gpt-oss-20b-IQ2_XS.gguf11.5 GBf321e29c742909c64e802e12078fd2aa4d4fb2bf84d3015294fa86c989e6848b
openai_gpt-oss-20b-IQ2_XXS.gguf11.5 GB2febf437ea662c0ea120db2ee463eeb4beaa2762ae21226abeaf0f6a8393ae0e
openai_gpt-oss-20b-IQ3_M.gguf11.6 GBe7cd11d429a5de243b719f11be276ec0496f44de3258c1291c4100e0d3833a90
openai_gpt-oss-20b-IQ3_XS.gguf11.6 GBab0da71b68743683d0aa60e29b34aeba443c2232aaa49e2ea61c05aab60103a1
openai_gpt-oss-20b-IQ3_XXS.gguf11.6 GB5b1e095f0612bb5ed57c9ac65fbd3dfe03f672a69fc38664e422bc773c157dec
openai_gpt-oss-20b-IQ4_NL.gguf11.6 GB8b45d47cfc71488312abeef82a4306466c24fb3f5acbc0f18d010751f5835534
openai_gpt-oss-20b-IQ4_XS.gguf11.6 GBa9163d6362ab14e86dcf55c390fa51b4c1f2ac9c13333a8d7d94b5195511348c
openai_gpt-oss-20b-MXFP4.gguf12.1 GB75acd89545d50126692df2116bc3fdf700408b4be1d74d58e8eed13bca028f17
openai_gpt-oss-20b-Q2_K.gguf11.6 GBc4a6b12da1c9590c8088934ba1f12175b684255b7f139eccff4bd3989d008492
openai_gpt-oss-20b-Q2_K_L.gguf11.8 GB1f1516b9d227c7281b185ca6bfe7e5e87b62afaf04f1a0b350ce9fb679d31e4c
openai_gpt-oss-20b-Q3_K_L.gguf11.5 GB95bc2d163e120303d718c748550385a6c954fe91420ad787fe717e2dc16dfaee
openai_gpt-oss-20b-Q3_K_M.gguf11.6 GB7db29251d05f1a6a0c8ebaf89cdca8c5e6ce3a97c33cbf3723307a91ab578eba
openai_gpt-oss-20b-Q3_K_S.gguf11.6 GBeddc3bd1a4b0ba03251f7635ea60922820c5e63cad457f75f0d7a0fef8d6898e
openai_gpt-oss-20b-Q3_K_XL.gguf11.8 GB140d5369ae532a22912f202f114728fca789b12453169ca11bbce6cf997cc39f
openai_gpt-oss-20b-Q4_0.gguf11.5 GBa5867cd5c9e86942a006fac54e8a4c4a4276eaa1c96675cb5e907d09f65c4bd5
openai_gpt-oss-20b-Q4_1.gguf11.6 GBd5f026e98aea9dbed97c7ab975918c2c449d0d1b4782d8a3f56ad6be90f4c807
openai_gpt-oss-20b-Q4_K_L.gguf11.9 GB9320f11166c81266cda323625528edddbe8e2b8bffdcae9cbc2ab5cd371d218d
openai_gpt-oss-20b-Q4_K_M.gguf11.7 GB86a21df11afa5a40031ec1974e368ae0ab561ee3995f4d08ff432e8b2b7af9fc
openai_gpt-oss-20b-Q4_K_S.gguf11.7 GBa746c1fb418b45293def5170faa17cacea27fa9ac467d5774b7a6f4280284a68
openai_gpt-oss-20b-Q5_K_L.gguf11.9 GB9549f737a6a4b608e4ac77d30186ff784cc2dfd298f6c74cc815be4c65c75f6e
openai_gpt-oss-20b-Q5_K_M.gguf11.7 GBc23cdd1057e1cef1d17ff077275eb2282a2a311133b5d518272dbce287954466
openai_gpt-oss-20b-Q5_K_S.gguf11.7 GB0251e7e6cb40bed7acf72d6265dff144b6026beb62a057be40864cf0e88dc2f0
openai_gpt-oss-20b-Q6_K.gguf12.0 GBe729b05fa245760f29e230c71aa7a8afa3065838dd95dea169d50788babb10c5
openai_gpt-oss-20b-Q6_K_L.gguf12.0 GBe729b05fa245760f29e230c71aa7a8afa3065838dd95dea169d50788babb10c5
openai_gpt-oss-20b-Q8_0.gguf12.1 GBa08385caa6348cb5b0837f20c97360344a0dd25aba8eaf36251a5d9aae244730
openai_gpt-oss-20b-bf16.gguf13.8 GB5cf32dc225be2115513bcb6480d2f4eff95c6f58355639a679fe93454bbce8bc
openai_gpt-oss-20b-imatrix.gguf28.1 MB7128c5e1ee4854781103b47b5d41303741ed734bb410bdfdeaa93d52b40fc890
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
e39ba3aa00 pinned now2026-11-15 04:45 UTC31 files · 330 GB

Use it

$ fw get bartowski/openai_gpt-oss-20b-GGUF
# manifest sha256 f517115f44d4… · 330 GB · 31 files
$ fw verify ./openai_gpt-oss-20b-GGUF bartowski/openai_gpt-oss-20b-GGUF
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/bartowski/openai_gpt-oss-20b-GGUF.json --dir ./openai_gpt-oss-20b-GGUF $ python3 fw.py verify ./openai_gpt-oss-20b-GGUF ./bartowski__openai_gpt-oss-20b-GGUF.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download bartowski/openai_gpt-oss-20b-GGUF --revision e39ba3aa000c47c83dacdc9e1ca2c9dd0808c205 --local-dir ./openai_gpt-oss-20b-GGUF
llama.cppDownload one GGUF variant (openai_gpt-oss-20b-imatrix, 28.1 MB), then serve it.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download bartowski/openai_gpt-oss-20b-GGUF --include "openai_gpt-oss-20b-imatrix*" --local-dir ./openai_gpt-oss-20b-GGUF $ llama-server -m ./openai_gpt-oss-20b-GGUF/openai_gpt-oss-20b-imatrix.gguf
OllamaMake an Ollama model from the downloaded file.
$ printf 'FROM ./openai_gpt-oss-20b-GGUF/openai_gpt-oss-20b-imatrix.gguf\n' > Modelfile $ ollama create openai-gpt-oss-20b-gguf -f Modelfile

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
Inherited from the base model openai/gpt-oss-20b: the strictest license along the lineage applies. 2026-11-15
Text in
README.md
Text sha256
8c2ed3295ab13dca1efc10dea7ddbe91f470551277bcdb22dbcbb903a63a2fdc
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: bartowski <huggingface.co/bartowski>Newsgroups: alt.freeweights.gpt-ossSubject: openai_gpt-oss-20b-GGUFDate: 2026-11-15Commit: e39ba3aSigned: 2DC28CC7B26A283B ✓
Upstream
bartowski/openai_gpt-oss-20b-GGUF
Pinned commit
e39ba3aa000c47c83dacdc9e1ca2c9dd0808c205
Manifest
openai_gpt-oss-20b-GGUF.json · .minisig
Manifest sha256
f517115f44d43a26b051471e885a45fb9f0958f45c2767baf89d22ae53166151
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 04:45 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/bartowski/openai_gpt-oss-20b-GGUF.json $ curl -O https://freeweights.allternit.com/manifests/bartowski/openai_gpt-oss-20b-GGUF.json.minisig $ minisign -Vm openai_gpt-oss-20b-GGUF.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 bartowski/openai_gpt-oss-20b-GGUF
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. openai_gpt-oss-20b-GGUF.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