Model reference · open weights

granite-switch-4.1

LLMs ibm-granite Text gen 2 builds Open weights 28 dl/mo

granite-switch-4.1 is an open-weight language model from IBM. granite-switch-4.1-30b (BF16) weighs 60.0 GB; the smallest configuration that runs it is H100 80 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • Granite Switch 4.1 is a modular large language model from IBM that combines a base model, adapters, and an encoder to handle text generation, decision-making, and speech-to-text tasks from a single endpoint.
  • The 8.8B parameter model supports a context length of 131,072 tokens and is released under the Apache 2.0 license.

Summary of the ibm-granite/granite-switch-4.1-8b model card, 2026-10-16. The estimate below is for another build of the family.

What it is

Released byIBM
Released2026-10-14
Parameters8.8B
VRAM60.0 GB for the weights

What it runs on

Memory and cards for granite-switch-4.1-30b (BF16)

60.0 GBweights, file size
270 MBcache per 1K tokens
868 MBruntime overhead, at least
131,072 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB … L40S 48 GB
6 smaller cards
A100 80 GB7162K78.2 GB
H100 80 GB5146K78.1 GB
RTX PRO 6000 Blackwell 96 GB123103K93.8 GB
DGX Spark (GB10) 128 GB unified194all 128K107 GB
H200 141 GB328all 128K138 GB
B200 180 GB4912all 128K176 GB
2× L40S 48 GB
tensor parallel
11294K44.0 GB a card
4× RTX 4090 24 GB
tensor parallel
133108K23.4 GB a card
4× RTX 3090 24 GB
tensor parallel
133108K23.4 GB a card
4× RTX 5090 32 GB
tensor parallel
276all 128K31.0 GB a card
2× H100 80 GB
tensor parallel
389all 128K78.1 GB a card
2× A100 80 GB
tensor parallel
4210all 128K78.2 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
163.1 GB69.7 GB
571.9 GB105 GB
878.6 GB132 GB
1696.3 GB203 GB
32132 GB344 GB
64203 GB628 GB

One card, with vLLM's small-card settings.

Builds

Sizes, precisions & builds

BuildParamsPrecisionWeightsSmallest setup
granite-switch-4.1-8b ↗ 8.8BBF16 17.6 GB2× RTX 3060 12 GB
granite-switch-4.1-30b (above) ↗ 30.0BBF16 60.0 GBH100 80 GB

From the model card

What IBM says about granite-switch-4.1

Read the model card

📝 Read the launch blog: Granite Switch 4.1: Chat, Decisions, and Speech from One Endpoint

Model Summary: Granite Switch 4.1 8B is a modular LLM that composes a base model, multiple adapters and an encoder together so that a single hosted endpoint can move between natural-language responses, general and specialized decisions, and speech-to-text.

Adapters are activated on demand via control tokens in the chat template. For full details on model composition and adapter configuration, see BUILD.md.

  • Base Model: ibm-granite/granite-4.1-8b (8B params, 128K context)
  • Adapters: 2 — decision (aLoRA, general-purpose Decisions) and guardian-core (aLoRA, from granitelib-guardian-r1.0)
  • Audio: embedded speech-to-text via ibm-granite/granite-speech-5.0-470m-turboctc (470M params, English)
  • License: Apache 2.0
  • Release Date: October 14, 2026
  • Backends: HuggingFace Transformers, vLLM
  • Automatically Composed with: granite-switch

Granite Switch is also available in granite-switch-4.1-30b (same Chat + Decisions + Guardian + speech configuration, 30B base), and with the complete Granite Libraries bundle (no audio) in granite-switch-4.1-8b-preview, -30b-preview, and -3b-preview.

Included Adapters & Encoders

Switch ComponentDescription
Guardian Core aLoRADetects safety risks: harm, jailbreaking, profanity, violence, sexual content, social bias, unethical behavior
Decision aLoRAGiven a state + a question with labelled options, returns a softmax probability distribution over the option labels in one forward pass
Granite Speech 5.0 TurboCTC EncoderAn ASR model for quick speech to text transcription tasks

Speech-to-Text (Audio Input)

Transcription runs on the same endpoint as chat and decisions, so you don't need a separate speech server and how the model is called doesn't change. Incoming audio is transcribed by the embedded Granite Speech 5.0 TurboCTC model (470M params, English, non-autoregressive conformer CTC encoder), the fastest ASR model on the OpenASR Leaderboard . The transcript is spliced into the chat context in place of the audio content part. The speech encoder and the LLM are not yet jointly trained — there is no trained projection coupling them together yet; see docs/AUDIO.md in the granite-switch repo for the full design and limitations (English only, lowercase/unpunctuated output, no decode-time steering).

from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="unused")

response = client.chat.completions.create(
    model="ibm-granite/granite-switch-4.1-8b",
    messages=[{"role": "user", "content": [
        {"type": "text", "text": "Answer the question in the audio."},
        {"type": "input_audio", "input_audio": {"data": "", "format": "wav"}},
    ]}],
)
print(response.choices[0].message.content)

Decision Index (JEV) — decision aLoRA

The decision activated-LoRA adapter was evaluated on the public Decision Index fast subset (1,068 rows) in the edition-v0.3 scoring, using the adapter's documented invocation recipe: a fixed decision-engine system prompt, a State: turn (run on the frozen base), and a ### DECISION turn presenting the question and single-token-labelled options, with the first assistant token read as a softmax over the option-label logits. Each configuration was measured two ways — the adapter served locally and the same adapter served behind a hosted vLLM endpoint — which agree to within ~0.6 points, confirming the serving path is faithful; hosted-serving numbers are shown below.

OverallKnowledgeLanguageRetrievalToolsArts
42.929.148.949.859.818.0

Scores are the Decision Index v0.3 public component (0–100); per-area skills are shown ×100.


Generation

git clone https://github.com/generative-computing/granite-switch.git
cd granite-switch

# Pick what you need:
pip install -e ".[compose]"   # Compose models with adapters
pip install -e ".[hf]"        # HuggingFace inference
pip install -e ".[vllm]"      # vLLM inference
pip install -e ".[audio]"     # Audio input (adds vLLM's audio deps)
pip install -e ".[dev]"       # Everything
Recreating this checkpoint

This checkpoint is produced by composing the base model with guardian-core from the Guardian library and decision from the Core library — --include-adapters drops every other adapter each library ships — plus the ASR cascade (--enable-audio, default Granite Speech 5.0 TurboCTC):

python -m granite_switch.composer.compose_granite_switch \
  --base-model ibm-granite/granite-4.1-8b \
  --adapters ibm-granite/granitelib-guardian-r1.0 ibm-granite/granitelib-core-r1.0 \
  --include-adapters guardian-core decision \
  --enable-audio \
  --output ./granite-switch-4.1-8b

See BUILD.md for the exact adapter ranks/targets this checkpoint ships with, and the adapter catalog for every

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms