SAVRN
Search Contact SAVRN

Open-weight model · Text generation

granite-4.0-h-tiny-w8a8-llmcompressor

by AMD amd/granite-4.0-h-tiny-w8a8-llmcompressor

ZenDNN v6.1.0 - ZenTorch v2.13.0.0 - PyTorch v2.13.0.0 - LLM Compressor v0.13.0 - vLLM v0.29.0 This is a quantized version of granite-4.0-h-tiny created by AMD using LLM Compressor (compressed-tensors) for ZenDNN-optimized CPU inference.

Parameters6.9B
Context131,072
Weights7.1 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads

Runs On

What it takes to serve granite-4.0-h-tiny-w8a8-llmcompressor (6.9B 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 13.9 GB 16.7 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 6.9 GB 8.3 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 3.5 GB 4.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 Sep 18, 2026.

Model Card

By AMD, published under apache-2.0, revision d7ca897e5ee0.

ZenDNN v6.1.0 - ZenTorch v2.13.0.0 - PyTorch v2.13.0.0 - LLM Compressor v0.13.0 - vLLM v0.29.0 This is a quantized version of granite-4.0-h-tiny created by AMD using LLM Compressor (compressed-tensors) for ZenDNN-optimized CPU inference. The model was quantized from granite-4.0-h-tiny using LLM Compressor via the Round-to-Nearest (RTN) algorithm. This reduces the model weights from 12.9 GiB to 6.6 GiB on disk (~49% reduction). granite-4.0-h-tiny is a hybrid Mamba-MoE model: of its 40 layers, 4 are full-attention blocks and the other 36 are Mamba (linear-attention) blocks, and every layer carries a 64-expert MoE block alongside a shared MLP. The recipe only needs two ignore entries. lmhead…

Read AMD's full model card

Model Overview

  • Model Architecture: GraniteMoeHybridForCausalLM
  • Input: Text
  • Output: Text
  • Source Model: granite-4.0-h-tiny
  • Supported Hardware: AMD EPYC (CPU inference)
  • Preferred Operating System: Linux
  • Inference Engine: vLLM v0.29.0
  • Quantization Framework: LLM Compressor v0.13.0
  • Quantization Method: 8-bit Weight, 8-bit Dynamic Activation Quantization (W8A8)
  • Compatible Stack:
  • ZenDNN v6.1.0
  • ZenTorch v2.13.0.0
  • PyTorch v2.13.0.0
  • LLM Compressor v0.13.0
  • vLLM v0.29.0
  • Published with: LLM Compressor v0.13.0

This is a quantized version of granite-4.0-h-tiny created by AMD using LLM Compressor (compressed-tensors) for ZenDNN-optimized CPU inference.

Quantization

The model was quantized from granite-4.0-h-tiny using LLM Compressor via the Round-to-Nearest (RTN) algorithm. This reduces the model weights from 12.9 GiB to 6.6 GiB on disk (~49% reduction).

  • Method: 8-bit Weight, 8-bit Dynamic Activation Quantization (W8A8)
  • Config: compressed-tensors, num_bits=8, type=int, symmetric=true
  • Weights: INT8, symmetric, per-channel (static)
  • Activations: INT8, symmetric, per-token (dynamic)

granite-4.0-h-tiny is a hybrid Mamba-MoE model: of its 40 layers, 4 are full-attention blocks and the other 36 are Mamba (linear-attention) blocks, and every layer carries a 64-expert MoE block alongside a shared MLP.

  • Quantized: all 64 routed experts in every layer (block_sparse_moe.experts.*.{gate,up,down}_proj), the shared MLP (shared_mlp.{input,output}_linear), the Mamba projections (mamba.{in,out}_proj), and self_attn.{q,k,v,o}_proj in the 4 full-attention layers.
  • Kept in BF16: the MoE routers (block_sparse_moe.router), the Mamba state-space internals that are not Linear layers (conv1d, A_log, D, dt_bias, and the gated mamba.norm), lm_head, embed_tokens, and the layer norms.

The recipe only needs two ignore entries. lm_head is standard, and the router is skipped because it is a tiny Linear whose logits decide expert assignment, where an 8-bit rounding error can flip the top-k selection and change which experts run. Note that the routed experts themselves are quantized here, which is what brings the footprint close to the full ~50% an INT8 pass should give.

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

from llmcompressor import oneshot
from llmcompressor.modifiers.quantization import QuantizationModifier

model_id = "ibm-granite/granite-4.0-h-tiny"
output_dir = "./granite-4.0-h-tiny-w8a8-llmcompressor"

# Step 1: Load the BF16 model and tokenizer.
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    dtype=torch.bfloat16,
    device_map="cpu",
    trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)

# Step 2: Define the W8A8 recipe. Experts, shared MLP, Mamba projections and
# attention are all quantized; only lm_head and the MoE router are skipped.
recipe = QuantizationModifier(
    targets=["Linear"],
    scheme="W8A8",
    ignore=["lm_head", "re:.*block_sparse_moe.router"],
)

# Step 3: Apply quantization. W8A8 here is data-free (RTN), so no calibration
# dataset is needed.
oneshot(model=model, recipe=recipe)

# Step 4: Save in compressed-tensors int-quantized format.
model.save_pretrained(
    output_dir,
    quantization_format="int-quantized",
    save_compressed=True,
)
tokenizer.save_pretrained(output_dir)

# Smoke test
input_ids = tokenizer("What is your favorite TV show?", return_tensors="pt").input_ids
with torch.no_grad():
    output = model.generate(input_ids, max_new_tokens=20)
print(tokenizer.decode(output[0]))

Quick Start

Use with vLLM

from vllm import LLM, SamplingParams

model = LLM(
    model="amd/granite-4.0-h-tiny-w8a8-llmcompressor",
    dtype="bfloat16",
    trust_remote_code=True,
)

sampling_params = SamplingParams(temperature=0.7, max_tokens=256)
outputs = model.generate(["Hello, how are you?"], sampling_params)
print(outputs[0].outputs[0].text)

Requirements

torch==2.13.0.0
zentorch==2.13.0.0
vllm==0.29.0
llmcompressor==0.13.0

OpenMP Setup

For optimal performance, set LD_PRELOAD with libomp.so (LLVM OpenMP) or libiomp5.so (Intel OpenMP):

# Using LLVM OpenMP (llvmopenmp)
export LD_PRELOAD=$(find /path/to/env -name "libomp.so" | head -1)

# Or using Intel OpenMP (libiomp)
export LD_PRELOAD=$(find /path/to/env -name "libiomp5.so" | head -1)

Note: Set LD_PRELOAD before launching vLLM or any inference script.

Evaluation

The model was evaluated against the BF16 (unquantized) baseline on standard benchmarks using lm-evaluation-harness with the vLLM engine.

Benchmark BF16 Baseline W8A8 (this model) Recovery
GSM8K (5-shot) 0.8643 0.8613 99.65%

Evaluation Command

lm_eval \
    --model vllm \
    --model_args pretrained=amd/granite-4.0-h-tiny-w8a8-llmcompressor,dtype=bfloat16 \
    --tasks gsm8k \
    --batch_size auto \
    --trust_remote_code \
    --num_fewshot 5 \
    --apply_chat_template \
    --log_samples \
    --gen_kwargs "max_gen_toks=2048" \
    --output_path .

Limitations

  • Version Lock: This model is compatible with ZenDNN v6.1.0 / ZenTorch v2.13.0.0 / PyTorch v2.13.0.0. It may not load correctly on other versions.
  • CPU Only: This model is optimized for AMD EPYC CPU inference via ZenDNN. It is not intended for GPU inference.
  • Hybrid Architecture: The Mamba state-space internals (conv1d, A_log, D, dt_bias, gated norms) are not Linear layers and stay in BF16, so the INT8 speedup applies to the projections, experts and attention rather than to the full recurrent path.

License

This model is distributed under the same license as the source model. See the LICENSE file for details.

Modifications copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved.

Configuration

Architecture
GraniteMoeHybridForCausalLM
Context length (tokens)
131,072
Layers
40
Hidden size
1,536
Feed-forward size
512
Attention heads
12
Key/value heads
4
Vocabulary size
100,352
Experts
64
Experts active per token
6
Model type
granitemoehybrid
Quantization
compressed-tensors

Identity and Version

Repository
amd/granite-4.0-h-tiny-w8a8-llmcompressor
Publisher
AMD
Task
Text generation
Modality
Text
Library
transformers
Parameters
6.9B parameters
Languages
en
Revision
d7ca897e5ee0b1d3fcddc5e57a46264076951843
First published
2026-09-18
Last updated
2026-09-18

Files and Weights

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

Weights1 file · 7.1 GB
Configuration3 files · 7.3 KB
Tokenizer2 files · 7.2 MB
Documentation2 files · 16.9 KB
Other1 file · 6.4 KB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
model.safetensorsWeights7.1 GB cd1974cc9ef4
config.jsonConfiguration6.9 KB
generation_config.jsonConfiguration147 B
recipe.yamlConfiguration240 B
LICENSEDocumentation10.2 KB
README.mdDocumentation6.7 KB
chat_template.jinjaOther6.4 KB
.gitattributesRepository1.5 KB
tokenizer.jsonTokenizer7.2 MB
tokenizer_config.jsonTokenizer393 B

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
7.1 GB
Download from AMD

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

Built From

  • Derived from ibm-granite/granite-4.0-h-tiny
  • Quantized from ibm-granite/granite-4.0-h-tiny

Memory Requirements

PrecisionWeights in memory
As published7.1 GB
16-bit13.9 GB
8-bit6.9 GB
4-bit3.5 GB

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

Questions About granite-4.0-h-tiny-w8a8-llmcompressor

How much GPU memory does granite-4.0-h-tiny-w8a8-llmcompressor need?

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

What is the cheapest GPU to run granite-4.0-h-tiny-w8a8-llmcompressor 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.0-h-tiny-w8a8-llmcompressor commercially?

Yes. granite-4.0-h-tiny-w8a8-llmcompressor 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.0-h-tiny-w8a8-llmcompressor's context length?

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

Similar Models

Model · Text generation

deepseek-coder-7b-instruct-v1.5

DeepSeek

Deepseek-Coder-7B-Instruct-v1.5 is continue pre-trained from Deepseek-LLM 7B on 2T tokens by employing a window size of 4K and next token prediction objective, and then fine-tuned on 2B tokens of instruction data. Here give some examples of how to use our model. This code repository is licensed under the MIT License. The use of DeepSeek Coder models is subject to the Model License. DeepSeek Coder supports commercial use. See the LICENSE-MODEL for more details. If you have any questions, please raise an issue or contact us at [email protected].

Open weights other 6.9B parameters 4,096 tokens transformers

Model · Text generation

pythia-6.9b

EleutherAI

The Pythia Scaling Suite is a collection of models developed to facilitate interpretability research (see paper). It contains two sets of eight models of sizes 70M, 160M, 410M, 1B, 1.4B, 2.8B, 6.9B, and 12B. For each size, there are two models: one trained on the Pile, and one trained on the Pile after the dataset has been globally deduplicated. All 8 model sizes are trained on the exact same data, in the exact same order. We also provide 154 intermediate checkpoints per model, hosted on Hugging Face as branches. The Pythia model suite was deliberately designed to promote scientific research on large language models, especially interpretability research. Despite not centering downstream…

Open weights apache-2.0 7B parameters 2,048 tokens transformers

Model · Text generation

Llama-2-7b-hf

Meta Llama

Llama 2 is a collection of pretrained and fine-tuned generative text models ranging in scale from 7 billion to 70 billion parameters. This is the repository for the 7B pretrained model, converted for the Hugging Face Transformers format. Links to other models can be found in the index at the bottom. Note: Use of this model is governed by the Meta license. In order to download the model weights and tokenizer, please visit the website and accept our License before requesting access here. Meta developed and publicly released the Llama 2 family of large language models (LLMs), a collection of pretrained and fine-tuned generative text models ranging in scale from 7 billion to 70 billion…

Access requested at publisher llama2 6.7B parameters transformers

Model · Text generation

Ornith-1.5-9B-NVFP4

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit 6.7B parameters 262,144 tokens transformers

Model · Text generation

Mistral-7B-Instruct-v0.2

Mistral AI_

The Mistral-7B-Instruct-v0.2 Large Language Model (LLM) is an instruct fine-tuned version of the Mistral-7B-v0.2. Mistral-7B-v0.2 has the following changes compared to Mistral-7B-v0.1 - 32k context window (vs 8k context in v0.1) - Rope-theta = 1e6 For full details of this model please read our paper and release blog post. In order to leverage instruction fine-tuning, your prompt should be surrounded by [INST] and [/INST] tokens. The very first instruction should begin with a begin of sentence id. The next instructions should not. The assistant generation will be ended by the end-of-sentence token id. This format is available as a chat template via the applychattemplate() method: - If you…

Open weights apache-2.0 7.2B parameters 32,768 tokens transformers

Model · Text generation

Qwen2.5-7B-Instruct

Qwen

Qwen2.5 is the latest series of Qwen large language models. For Qwen2.5, we release a number of base language models and instruction-tuned language models ranging from 0.5 to 72 billion parameters. Qwen2.5 brings the following improvements upon Qwen2: - Significantly more knowledge and has greatly improved capabilities in coding and mathematics, thanks to our specialized expert models in these domains. - Significant improvements in instruction following, generating long texts (over 8K tokens), understanding structured data (e.g, tables), and generating structured outputs especially JSON. More resilient to the diversity of system prompts, enhancing role-play implementation and…

Open weights apache-2.0 7.6B parameters 32,768 tokens transformers