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.
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.
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.
Usage
python
1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
34model = AutoModelForCausalLM.from_pretrained(5"ibm-granite/granite-swash-2b",6 dtype=torch.bfloat16,7 device_map="auto",8 attn_implementation="flash_attention_3",# or "flash_attention_4" or "eager", NOT "sdpa"9)10tokenizer = AutoTokenizer.from_pretrained("ibm-granite/granite-swash-2b")1112inputs = tokenizer("The capital of France is", return_tensors="pt").to(model.device)13out = model.generate(**inputs, max_new_tokens=50, do_sample=False)14print(tokenizer.decode(out[0], skip_special_tokens=True))
Requires transformers version > 5.8.0
Evaluation Results
Benchmark
Metric
Score
WikiText-2
word_perplexity
15.29
MMLU (5-shot)
accuracy
0.5519
GSM8K CoT (5-shot)
exact_match
0.4223
Supported Features
Flash Attention 3 and 4 with native LSE (recommended for speed)
Per-layer causal mask dispatch (full vs sliding window)
Generation via model.generate()
Ethical Considerations and Limitations
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.