Overview
Granite Switch 4.1 is a pair of modular open-weight models IBM published on Hugging Face on 14 October 2026, in 8B and 30B sizes, under the Apache 2.0 license. IBM describes each one as a modular LLM that composes a base model, multiple adapters and an encoder together, so that a single hosted endpoint can answer in natural language, make general and specialized decisions, and transcribe speech. The base models are the dense decoder-only Granite 4.1 8B and Granite 4.1 30B, each with a 131,072-token context window and support for twelve languages.
Each checkpoint bundles three components on top of its base. A Guardian Core aLoRA flags risks such as harm, jailbreaking, profanity, violence, sexual content, social bias and unethical behaviour, returning a yes/no JSON verdict. A Decision aLoRA returns a softmax probability distribution over a set of option labels in a single forward pass. A 470M-parameter Granite Speech 5.0 TurboCTC encoder adds English speech-to-text; the model card notes it is not jointly trained with the LLM and outputs lowercase, unpunctuated text. Adapters are switched on through the chat template by passing an adapter_name, and the checkpoints run under Hugging Face Transformers or vLLM.
The adapters are Activated LoRAs (aLoRA), which IBM's 15 October 2026 launch post says lets a later adapter call reuse the KV cache from a base-model generation, and the composed model takes approximately the same GPU memory as the base model alone. On the Decision Index v0.3 public subset (0–100 scale), the model cards report an overall score of 50.1 for the 30B and 42.9 for the 8B. The Granite Switch project itself is developed in the open on GitHub, where users can compose their own Switch models from Granite Libraries adapters.

| Released | 2026-10-14 |
|---|---|
| License | Apache-2.0 |
| Weights | Open weights |
| Parameters | 8B or 30B dense base + 470M speech encoder |
| Context | 128K (131,072 tokens) |
| Architecture | Dense decoder-only Granite 4.1 base (GQA, RoPE, SwiGLU, RMSNorm) composed with Activated LoRA adapters and a Granite Speech 5.0 TurboCTC encoder |
| Modalities | Text, Audio (English speech-to-text) |
| Status | Generally available — open weights on Hugging Face |
Benchmarks
- Decision Index v0.3 — overall (30B)50.1
- Decision Index v0.3 — overall (8B)42.9
- Decision Index v0.3 — Tools (30B)76.5
- Decision Index v0.3 — Language (30B)58.6
- Decision Index v0.3 — Retrieval (30B)49.8
- Decision Index v0.3 — Knowledge (30B)32.4
- Decision Index v0.3 — Arts (30B)26.4
Scores on a 0–100 scale (25-point gridlines); higher is better. Each benchmark links to its published source.
Strengths
- Apache 2.0 weights in 8B and 30B sizes — commercial use, fine-tuning and self-hosting allowed
- Chat, probability-scored decisions, safety checks and English speech-to-text from one hosted endpoint
- Activated LoRA adapters reuse the base model's KV cache, so follow-up adapter calls avoid re-reading the prompt
- Roughly the same GPU memory footprint as the Granite 4.1 base model alone, per IBM
- Adapters are selected per request via the chat template — no code changes beyond an adapter_name argument
- 128K-token context and twelve-language support inherited from the Granite 4.1 base
Best for
- Routing, classification and multiple-choice decisions inside agent and RAG pipelines
- Screening prompts and responses for harm, jailbreaks and bias with the built-in Guardian adapter
- Voice front ends that transcribe English speech and act on it with the same deployment
- Teams that want one self-hosted endpoint instead of separate chat, safety and ASR services
FAQ
Is Granite Switch 4.1 open source?
Yes. IBM publishes both the 8B and 30B checkpoints on Hugging Face under the Apache 2.0 license, and the Granite Switch project that builds them is open source on GitHub.
What is inside a Granite Switch 4.1 model?
A Granite 4.1 base model (8B or 30B) plus a Guardian Core aLoRA for safety checks, a Decision aLoRA that returns probabilities over option labels in one forward pass, and a 470M-parameter Granite Speech 5.0 TurboCTC encoder for English speech-to-text — all served from one endpoint.
How do I switch between adapters?
Through the chat template: pass adapter_name in chat_template_kwargs (for example guardian-core or decision). The Decision adapter is read with logprob_token_ids and max_completion_tokens=1; vLLM caps that at 128 token IDs per request, so larger option sets need chunked requests.
What are the limitations?
Speech-to-text is English-only, outputs lowercase unpunctuated text and is not jointly trained with the LLM. The checkpoints do not include the Guardian Library's factuality or policy-guardrail adapters, and IBM says the Decision probabilities should be treated as a prior, not a certified classification.