Model reference · open weights
granite-swash is an open-weight language model from IBM. granite-swash-2b (BF16) weighs 4.3 GB; the smallest configuration that runs it is RTX 3060 12 GB.
Summary of the ibm-granite/granite-swash-2b model card, 2026-10-01
What it is
| Released by | IBM |
|---|---|
| Released | 2026-07-01 |
| Parameters | 2.1B |
| VRAM | 4.3 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory |
|---|---|---|---|
| 8K each | |||
| RTX 3060 12 GB | 22 | all 8K | 11.6 GB |
| RTX 4060 Ti 16 GB | 35 | all 8K | 15.4 GB |
| RTX 3090 24 GB | 61 | all 8K | 23.4 GB |
| RTX 4090 24 GB | 61 | all 8K | 23.4 GB |
| RTX 5090 32 GB | 87 | all 8K | 31.0 GB |
| L40S 48 GB | 130 | all 8K | 44.0 GB |
| A100 80 GB | 244 | all 8K | 78.2 GB |
| H100 80 GB | 148 | all 8K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 181 | all 8K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 210 | all 8K | 107 GB |
| H200 141 GB | 275 | all 8K | 138 GB |
| B200 180 GB | 356 | all 8K | 176 GB |
| Requests at once | 8K tokens each |
|---|---|
| 1 | 5.2 GB |
| 5 | 6.4 GB |
| 8 | 7.3 GB |
| 16 | 9.7 GB |
| 32 | 14.5 GB |
| 64 | 24.1 GB |
One card, with vLLM's small-card settings.
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| granite-swash-2b (above) ↗ | 2.1B | BF16 | 4.3 GB | RTX 3060 12 GB |
| granite-swash-3b-a600m ↗ | 3.0B | BF16 | 6.0 GB | RTX 3060 12 GB |
From the model card
Model Summary Granite-SWASH-2B is a 2B parameter decoder-only dense language model with per-layer Sliding Window Attention (SWA) and learnable attention sinks (LSE-based). Trained on a mix of open source and proprietary data, it is a broad, general-purpose, English-language base model that serves as an early exploration and small-scale preview for upcoming Granite series model releases.
Developers: Granite Team, IBM
Model Collection: Granite Experiment HF Collection
Website: Granite Docs
Release Date: July 7th, 2026
License: Apache 2.0
Granite-SWASH-2B is based on a decoder-only dense transformer architecture. Core components of this architecture are: GQA, RoPE, MLP with SwiGLU, RMSNorm, shared input/output embeddings, Sliding Window Attention, and Attention Sinks.
| Parameter | Value |
|---|---|
| Hidden size | 2560 |
| Layers | 24 |
| Attention heads | 20 (4 KV heads, GQA) |
| Intermediate size | 8192 (SwiGLU) |
| Max position embeddings | 8192 |
| Sliding window size | 128 |
| Vocabulary | 100,352 |
| Parameters | 2,144,463,840 |
Attention Pattern: 7 full-attention layers (indices 0, 3, 7, 11, 15, 19, 23) and 17 sliding-window layers (window=128). All layers have learnable per-head attention sinks.
MuP Scaling: embedding_multiplier=12, residual_multiplier=0.28, logits_scaling=10, attention_multiplier=0.0078125
Sink Mechanism: this model uses post-attention LSE scaling in the eager implementation:
sink_scale = sigmoid(lse - sinks)
attn_output = attn_output * sink_scale
Where lse is the log-sum-exp of attention scores, and sinks is a learnable per-head parameter. Flash Attention 3 and 4 implementations natively incorporate and compute the sink token under the hood. Note that SDPA does not express sink tokens or sink_scale, and so is not a supported backend.
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model = AutoModelForCausalLM.from_pretrained(
"ibm-granite/granite-swash-2b",
dtype=torch.bfloat16,
device_map="auto",
attn_implementation="flash_attention_3", # or "flash_attention_4" or "eager", NOT "sdpa"
)
tokenizer = AutoTokenizer.from_pretrained("ibm-granite/granite-swash-2b")
inputs = tokenizer("The capital of France is", return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=50, do_sample=False)
print(tokenizer.decode(out[0], skip_special_tokens=True))
Requires transformers version > 5.8.0
| Benchmark | Metric | Score |
|---|---|---|
| WikiText-2 | word_perplexity | 15.29 |
| MMLU (5-shot) | accuracy | 0.5519 |
| GSM8K CoT (5-shot) | exact_match | 0.4223 |
model.generate()The use of Large Language Models involves risks and ethical considerations people must be aware of, including but not limited to: bias and fairness, misinformation, and autonomous decision-making. Granite-SWASH-2B is not an exception in this regard. Even though this model is suited for multiple generative AI tasks, it has not undergone any safety alignment and it may produce problematic outputs. Additionally, it remains uncertain whether smaller models might exhibit increased susceptibility to hallucination in generation scenarios by copying text verbatim from the training dataset due to their reduced sizes and memorization capacities. This aspect is currently an active area of research, and we anticipate more rigorous exploration, comprehension, and mitigations in this domain. Regarding ethics, a latent risk associated with all Large Language Models is their malicious utilization. We urge the community to use Granite-SWASH-2B model with ethical intentions and in a responsible way. To enhance safety in enterprise deployments, we recommend using Granite Language models alongside Granite Guardian, a model designed to detect and flag risks in inputs and outputs across key dimensions outlined in the IBM AI Risk Atlas.
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.