Granite-4.0-Micro
A 3B-parameter long-context instruct model from IBM, finetuned for enhanced instruction following and tool-calling. Supports 12 languages including English, Chinese, Arabic, and Japanese. Built on a dense Transformer with GQA, RoPE, SwiGLU, and 128K context length. Trained using SFT, RL alignment, and model merging techniques for enterprise applications.
Granite-4.0-Micro

Summary
Introduction
Granite-4.0-Micro is a 3B parameter long-context instruct model finetuned from Granite-4.0-Micro-Base using a combination of open source instruction datasets with permissive license and internally collected synthetic datasets. This model is developed using a diverse set of techniques with a structured chat format, including supervised finetuning, model alignment using reinforcement learning, and model merging. Granite 4.0 instruct models feature improved instruction following (IF) and tool-calling capabilities, making them more effective in enterprise applications.
- Developers: Granite Team, IBM
- HF Collection: Granite 4.0 Language Models HF Collection
- GitHub Repository: ibm-granite/granite-4.0-language-models
- Website: Granite Docs
- Release Date: October 2nd, 2025
- License: Apache 2.0
Supported Languages: English, German, Spanish, French, Japanese, Portuguese, Arabic, Czech, Italian, Korean, Dutch, and Chinese. Users may finetune Granite 4.0 models for languages beyond these languages.
Intended use: The model is designed to follow general instructions and can serve as the foundation for AI assistants across diverse domains, including business applications, as well as for LLM agents equipped with tool-use capabilities.
Capabilities
- Summarization
- Text classification
- Text extraction
- Question-answering
- Retrieval Augmented Generation (RAG)
- Code related tasks
- Function-calling tasks
- Multilingual dialog use cases
- Fill-In-the-Middle (FIM) code completions
Generation: This is a simple example of how to use Granite-4.0-Micro model.
Parameters
Inputs
prompt- (text): User-provided input can be a question, a request, or the context to be addressed. The system uses the prompt to analyze, infer, and generate a corresponding response.
Output
output- (text): The content generated after the token is the final answer that the model returns to the user.
Usage for developers
Please find below the details to track the information and access the code for processing the model on our platform.
Requirements
pip install -r requirements.txt
Code based on AIOZ structure
import os
from transformers import AutoModelForCausalLM, AutoTokenizer
...
def do_ai_task(
prompt: Union[str, str],
model_storage_directory: Union[str, Path],
device: Literal["cpu", "cuda", "gpu"] = "cpu",
*args, **kwargs) -> Any:
"""Define AI task: load model, pre-process, post-process, etc ..."""
# Define AI task workflow. Below is an example
model_path = os.path.join(model_storage_directory, "/granite-4.0-micro")
tokenizer = AutoTokenizer.from_pretrained(model_path)
# drop device_map if running on CPU
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()
...
output = tokenizer.batch_decode(output)
return output[0]
Reference
This repository is based on and inspired by IBM Granite's work. We sincerely appreciate their generosity in sharing the code.
License
We respect and comply with the terms of the author's license cited in the Reference section.
Citation
@misc{granite2025,
author = {{IBM Research}},
title = {Granite 4.0 Language Models},
year = {2025},
howpublished = {\url{https://github.com/ibm-granite/granite-4.0-language-models}},
note = {Accessed: 2025-10-01}
}