SAVRN
Search Contact SAVRN

Open-weight model · Text generation

granite-4.2-3b-W4A16-GPTQ-gs32

by David Reedy quark75/granite-4.2-3b-W4A16-GPTQ-gs32

granite-4.2-3b-W4A16-GPTQ-gs32 is an open-weight model for text generation from David Reedy, released under Apache License 2.0. It has 3.7B parameters and a 131,072-token context. At 16-bit it needs about 8.8 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.

A 4-bit weight-only GPTQ quantization of ibm-granite/granite-4.2-3b, saved in compressed-tensors format for vLLM. On an AMD Radeon Pro V620 (RDNA2), vLLM served it at 65 tok/s single-sequence and ~1,000 tok/s aggregate at 16 concurrent sequences.

Parameters3.7B
Context131,072
Weights2.8 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Runs On

What it takes to serve granite-4.2-3b-W4A16-GPTQ-gs32 (3.7B parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 7.3 GB 8.8 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 3.7 GB 4.4 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 1.8 GB 2.2 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 7, 2026.

granite-4.2-3b-W4A16-GPTQ-gs32 on every accelerator the SAVRN Index prices, at every precision

Model Card

By David Reedy, published under apache-2.0, revision 54f8bcead2ce.

A 4-bit weight-only GPTQ quantization of ibm-granite/granite-4.2-3b, saved in compressed-tensors format for vLLM. On an AMD Radeon Pro V620 (RDNA2), vLLM served it at 65 tok/s single-sequence and ~1,000 tok/s aggregate at 16 concurrent sequences. llm-compressor GPTQModifier: - int4, symmetric, weight-only (activations stay 16-bit) - groupsize=32, actorder="weight" - lmhead left unquantized 512 samples, maxseqlength=512 The tuning mattered. With the default W4A16 preset (groupsize=128), the same pipeline scored 0.153 mean KLD. Moving to groupsize=32 with actorder="weight" cut that by about 28%, for roughly 0.2 GB more disk. For comparison, an AWQ build (W4A16 asymmetric, groupsize=128) from…

Read David Reedy's full model card

Granite-4.2-3B — GPTQ W4A16 (int4, compressed-tensors)

A 4-bit weight-only GPTQ quantization of ibm-granite/granite-4.2-3b, saved in compressed-tensors format for vLLM. On an AMD Radeon Pro V620 (RDNA2), vLLM served it at 65 tok/s single-sequence and ~1,000 tok/s aggregate at 16 concurrent sequences.

Metric Value
Size 2.7 GB (model.safetensors 2.67 GB)
Mean KLD vs bf16 0.110
Worst single-token KLD 11.74
Perplexity (wikitext-2) 21.11 vs 19.94 for bf16 (+5.88%)

How it was made

llm-compressor GPTQModifier:

  • int4, symmetric, weight-only (activations stay 16-bit)
  • group_size=32, actorder="weight"
  • lm_head left unquantized
  • calibration: neuralmagic/LLM_compression_calibration, 512 samples, max_seq_length=512

The tuning mattered. With the default W4A16 preset (group_size=128), the same pipeline scored 0.153 mean KLD. Moving to group_size=32 with actorder="weight" cut that by about 28%, for roughly 0.2 GB more disk. For comparison, an AWQ build (W4A16 asymmetric, group_size=128) from the same pipeline scored 0.463, about 3x worse. We suspect that's because llm-compressor had to guess AWQ's layer mappings for Granite, but we didn't confirm the cause.

Serving with vLLM

Tested on the AMD Radeon Pro V620 (gfx1030) with ROCm 7.14, using a self-built vLLM development snapshot. vLLM picked RDNA2W4A16LinearKernel for this checkpoint.

vllm serve quark75/granite-4.2-3b-W4A16-GPTQ-gs32 --enforce-eager --dtype float16

--dtype float16 matches how the numbers below were measured; RDNA2 has no bf16 dot-product hardware.

Load Throughput (--enforce-eager)
1 sequence 65.04 tok/s
16 concurrent sequences 1003.56 tok/s aggregate

Use --enforce-eager on RDNA2 (gfx1030). On this model and GPU, CUDA/HIP graph capture produced wrong output, not an error. vLLM's own graph capture and a separate torch.cuda.graph() attempt both failed the same way: under greedy decoding, 16 identical prompts gave different outputs, and one degenerated into repeated tokens. Graph mode looked faster (95 tok/s single-sequence), but its output was wrong. We haven't found the root cause. We haven't tested other GPUs, so this may or may not apply to yours. If you enable graph capture anywhere, check that greedy output is deterministic first.

All quantizations compared

Variant Format Size Mean KLD vs unquantized ↓ Perplexity (wikitext-2) Eval harness
Original (bf16) safetensors (2 shards) 6.8 GB — 19.94 transformers
Q4_K_M + imatrix GGUF, 4.90 BPW 2.1 GB 0.062 not measured llama.cpp
GPTQ W4A16 (int4) compressed-tensors 2.7 GB 0.110 21.11 (+5.88%) transformers
MXFP4A16 compressed-tensors 2.6 GB 0.1405 21.27 (+6.68%) transformers
MXFP4 GGUF (same weights, transcoded) GGUF 2.5 GB 0.138 +7.1% vs f16 llama.cpp

Lower KLD means the quantized model's next-token distribution stays closer to the original's.

How to read this table. The GGUF rows come from a different harness than the others. - GGUF rows: llama-perplexity --kl-divergence against the f16 GGUF's logits, on the wikitext-2-raw test split. - GPTQ and MXFP4 (compressed-tensors): a transformers script that loads each model next to the bf16 original and compares them over 51,100 tokens of the same wikitext-2 test split.

Both measure mean KL divergence on the same corpus, but the code isn't identical. Compare rows within the same harness directly; across harnesses, treat gaps as directional, not decimal-precise. The MXFP4 weights were measured both ways (0.1405 in transformers, 0.138 in llama.cpp), which gives a feel for how closely the two harnesses agree.

Hardware: all measurements are on an AMD Radeon Pro V620 (RDNA2, gfx1030, 32 GB) with ROCm 7.14. Nothing here was tested on NVIDIA or other AMD GPUs.

Credits

  • Base model: ibm-granite/granite-4.2-3b by IBM, Apache 2.0. All credit for the model itself goes to IBM's Granite team. These are unofficial quantizations, not affiliated with or endorsed by IBM.
  • Tools: llm-compressor, vLLM.

Configuration

Architecture
GraniteForCausalLM
Context length (tokens)
131,072
Layers
40
Hidden size
2,560
Feed-forward size
8,192
Attention heads
40
Key/value heads
8
Vocabulary size
100,352
Model type
granite
Quantization
compressed-tensors

Identity and Version

Repository
quark75/granite-4.2-3b-W4A16-GPTQ-gs32
Publisher
David Reedy
Task
Text generation
Modality
Text
Library
transformers
Parameters
3.7B parameters
Languages
Not stated by the source
Revision
54f8bcead2ce63c6fe2e5fbf2fe3672dde7a591a
First published
2026-09-24
Last updated
2026-09-24

Files and Weights

10 files, 2.8 GB in total. The weights are 1 file totalling 2.8 GB in safetensors.

Weights1 file · 2.8 GB
Configuration4 files · 7.4 KB
Tokenizer2 files · 7.2 MB
Documentation1 file · 5.1 KB
Other1 file · 9.0 KB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
model.safetensorsWeights2.8 GB 13df2b7ec755
config.jsonConfiguration1.8 KB —
generation_config.jsonConfiguration207 B —
granite_thinking_parser.pyConfiguration4.6 KB —
recipe.yamlConfiguration807 B —
README.mdDocumentation5.1 KB —
chat_template.jinjaOther9.0 KB —
.gitattributesRepository1.5 KB —
tokenizer.jsonTokenizer7.2 MB —
tokenizer_config.jsonTokenizer399 B —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
2.8 GB
Download from David Reedy

Released by David Reedy through its official repository on Hugging Face. Read the license.

Built From

  • Derived from ibm-granite/granite-4.2-3b
  • Quantized from ibm-granite/granite-4.2-3b

Memory Requirements

PrecisionWeights in memory
As published2.8 GB
16-bit7.3 GB
8-bit3.7 GB
4-bit1.8 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About granite-4.2-3b-W4A16-GPTQ-gs32

How much GPU memory does granite-4.2-3b-W4A16-GPTQ-gs32 need?

About 8.8 GB at 16-bit and 2.2 GB at 4-bit: the weights (3.7B parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run granite-4.2-3b-W4A16-GPTQ-gs32 on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use granite-4.2-3b-W4A16-GPTQ-gs32 commercially?

Yes. granite-4.2-3b-W4A16-GPTQ-gs32 is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

What is granite-4.2-3b-W4A16-GPTQ-gs32's context length?

131,072 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Model · Text generation

granite-4.2-3b-MXFP4A16-GPTQ

David Reedy

An experimental MXFP4 quantization of ibm-granite/granite-4.2-3b, made with GPTQ calibration instead of the usual data-free rounding, and provided in two formats with identical weights. It's published as a data point, not as the recommended build. For most users, the Q4KM GGUF or GPTQ int4 build is the better choice. Format: OCP MX — E2M1 (FP4) weights, groupsize=32, one UE8M0 shared scale per group; weights only, activations stay 16-bit. Embeddings, norms and lmhead are unquantized. MXFP4 is usually produced data-free, by rounding weights straight to FP4 with no calibration data. llm-compressor ships an MXFP4A16 scheme, but every example we found pairs GPTQModifier with integer schemes…

Open weights apache-2.0 3.7B parameters 131,072 tokens transformers

Model · Text generation

Emendator

Aidan

Emendator is a byt5-xl model finetuned to correct OCR artifacts in Latin text. This model cannot provide completely faithful reconstruction for all orthographies - on a large scale, it will shift the distribution of tokens towards that which it has been trained on. This is to say: Emendator will take editorial liberties with your data. As such, use it only in circumstances when the primary concern is only to recover intelligible Latin, not to recover intelligible Latin of a particular style. The model is intended to be used on segments of 250 characters. Anything else will compromise performance. Original: "atque optimo viro, peterem; superavi tamen dignitate Catilinam, gratia Galbam. Quod…

Open weights cc-by-nc-4.0 3.7B parameters

Model · Text generation

Symbiotic-Beta

Convergent Intelligence

SymbioticLM is a hybrid symbolic–neural language model that integrates a frozen transformer backbone (Qwen2ForCausalLM) with a suite of symbolic cognitive modules for adaptive, interpretable reasoning. The architecture fuses neural token-level generation with symbolic introspection and reasoning: - Dynamic Thought Evolution with Helical Encoding and DNA-Inspired Memory (DTE-HDM) Enables structured long-term memory and spiral-context encoding across tokens. - Multi-Agent Symbiotic Response Mechanisms (M.A.S.R.M) Coordinates symbolic-neural agents via gated attention and adaptive response layers. - QwenExoCortex Projects contextual hidden states from the Qwen model into a symbolic fusion…

Open weights afl-3.0 3.6B parameters transformers

Model · Text generation

Ternary-Bonsai-2-27B-vllm

Fraser Price

Bonsai 2 27B by Prism ML, repacked for vLLM. Unofficial; not affiliated with Prism ML. It needs the prismternary vLLM plugin from fraserprice/bonsai-vllm, which has the run command, kernels and throughput numbers: Built and tested for the RTX PRO 6000 Blackwell only; other NVIDIA GPUs are untested. Problems: open an issue. - The ternary weights of the MLX pack, bit for bit: the same 2-bit codes and FP16 group scales (g128), in the same Hadamard-rotated basis. MLX's redundant per-group biases (-scale) are dropped, and the rotation signs move into config.json. - The embedding table is dequantized to BF16. - Norms and the linear-attention state path are Prism ML's own tensors from the MLX…

Open weights apache-2.0 3.5B parameters 262,144 tokens vllm

Model · Text generation

phi4-clinical-mlx

Web

A specialized 3.8B biomedical & clinical reasoning model built on Microsoft's Phi-4-mini-instruct, optimized natively for Apple Silicon Metal acceleration via Apple MLX. The model underwent a 3-stage transfer learning curriculum: 1. Stage 1 (STEM Foundation): 116,000 instruction pairs across NCERT Classes 6–12 (Physics, Chemistry, Biology) eliminating foundational science hallucinations. 2. Stage 2 (PubMed 2026 Evidence): 12 recent 2026 clinical update archives from NCBI FTP covering survival outcomes (OS, PFS, HR), targeted therapeutics, and clinical trial endpoints. 3. Stage 3 (Comprehensive Internal Medicine): Balanced multi-specialty clinical curriculum (cardiology, nephrology…

Open weights mit 3.8B parameters 131,072 tokens mlx

Model · Text generation

phi4-clinical

Web

A specialized 3.8B biomedical & clinical reasoning foundation model built on Microsoft's Phi-4-mini-instruct, formatted for standard Hugging Face transformers and PyTorch. 1. Stage 1 (STEM Foundation): 116,000 instruction pairs across NCERT Classes 6–12 (Physics, Chemistry, Biology) eliminating foundational science hallucinations. 2. Stage 2 (PubMed 2026 Evidence): 12 recent 2026 clinical update archives from NCBI FTP covering survival outcomes (OS, PFS, HR), targeted therapeutics, and clinical trial endpoints. 3. Stage 3 (Comprehensive Internal Medicine): Balanced multi-specialty clinical curriculum (cardiology, nephrology, endocrinology, pulmonology) with an active oncology replay buffer.…

Open weights mit 3.8B parameters 131,072 tokens transformers