alt.freeweights.granite / granite-4.0-h-350m-GGUF
From: unsloth <huggingface.co/unsloth>Newsgroups: alt.freeweights.graniteSubject:

granite-4.0-h-350m-GGUF

Date: 2026-11-15Commit: d55b26fSigned: 2DC28CC7B26A283B ✓

Model. Gguf weights, 5.12 GB in all. Published by unsloth under Apache-2.0.

granite5.12GBgranite-4.0-h-350m-GGUFggufpermissive
FactsParamsnot statedSize5.12 GBFormatsggufTasknot taggedLicenseApache-2.0From sourcepermissive
$ fw get unsloth/granite-4.0-h-350m-GGUF
# manifest sha256 c5a3bc6b229e… · 5.12 GB · 22 files
$ fw verify ./granite-4.0-h-350m-GGUF unsloth/granite-4.0-h-350m-GGUF
From sourceHosted (signed)unsloth/granite-4.0-h-350m-GGUFLast check: 2026-11-15 05:00 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Quantized of granite-4.0-h-350m.

Works with

Convert with

Scan with

Overview

Size
5.12 GB
Weights
160 MB (smallest of 19 GGUF variants)
Parameters
not stated
Formats
gguf
Task
not tagged
License
Apache-2.0 (permissive)
Files
22, each with a sha256
Publisher
unsloth
Added
2026-11-15
Section
alt.freeweights.granite
Lineage

Original release from the publisher.

Base model: ibm-granite/granite-4.0-h-350m

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 05:00 UTCpassed

Model card

From the publisher at commit d55b26f. Shown as plain text with links; images open at the publisher.

Unsloth Dynamic 2.0 achieves superior accuracy & outperforms other leading quants.

https://github.com/unslothai/unsloth/ https://discord.gg/unsloth https://docs.unsloth.ai/

Granite-4.0-H-350M#

Model Summary: Granite-4.0-H-350M is a lightweight instruct model finetuned from Granite-4.0-H-350M-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 including supervised finetuning, reinforcement learning, and model merging.

Supported Languages: English, German, Spanish, French, Japanese, Portuguese, Arabic, Czech, Italian, Korean, Dutch, and Chinese. Users may fine-tune Granite 4.0 Nano models to support languages beyond those included in this list.

Intended use: Granite 4.0 Nano instruct models feature strong instruction following capabilities bringing advanced AI capabilities within reach for on-device deployments and research use cases. Additionally, their compact size makes them well-suited for fine-tuning on specialized domains without requiring massive compute resources.

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-H-350M model.

Install the following libraries:

pip install torch torchvision torchaudio
pip install accelerate
pip install transformers

Then, copy the snippet from the section that is relevant for your use case.

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

device = "cuda"
model_path = "ibm-granite/granite-4.0-h-350M"
tokenizer = AutoTokenizer.from_pretrained(model_path)
# drop device_map if running on CPU
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()
# change input text as desired
chat = [
    { "role": "user", "content": "Please list one IBM Research laboratory located in the United States. You should only output its name and location." },
]
chat = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
# tokenize the text
input_tokens = tokenizer(chat, return_tensors="pt").to(device)
# generate output tokens
output = model.generate(**input_tokens, 
                        max_new_tokens=100)
# decode output tokens into text
output = tokenizer.batch_decode(output)
# print output
print(output[0])

Expected output:

<|start_of_role|>user<|end_of_role|>Please list one IBM Research laboratory located in the United States. You should only output its name and location.<|end_of_text|>
<|start_of_role|>assistant<|end_of_role|>Almaden Research Center, San Jose, California<|end_of_text|>

Tool-calling: Granite-4.0-H-350M comes with enhanced tool calling capabilities, enabling seamless integration with external functions and APIs. To define a list of tools please follow OpenAI's function definition schema.

This is an example of how to use Granite-4.0-H-350M model tool-calling ability:

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

device = "cuda"
model_path = "ibm-granite/granite-4.0-h-350M"
tokenizer = AutoTokenizer.from_pretrained(model_path)
# drop device_map if running on CPU
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_current_weather",
            "description": "Get the current weather for a specified city.",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {
                        "type": "string",
                        "description": "Name of the city"
                    }
                },
                "required": ["city"]
            }
        }
    }
]

# change input text as desired
chat = [
    { "role": "user", "content": "What's the weather like in Boston right now?" },
]
chat = tokenizer.apply_chat_template(chat, \
                                     tokenize=False, \
                                     tools=tools, \
                                     add_generation_prompt=True)
# tokenize the text
input_tokens = tokenizer(chat, return_tensors="pt").to(device)
# generate output tokens
output = model.generate(**input_tokens, 
                        max_new_tokens=100)
# decode output tokens into text
output = tokenizer.batch_decode(output)
# print output
print(output[0])

Expected output:

<|start_of_role|>system<|end_of_role|>You are a helpful assistant with access to the following tools. You may call one or more tools to assist with the user query.

You are provided with function signatures within <tools></tools> XML tags:
- <tools>
- unsloth
{"type": "function", "function": {"name": "get_current_weather", "description": "Get the current weather for a specified city.", "parameters": {"type": "object", "properties": {"city": {"type": "string", "description": "Name of the city"}}, "required": ["city"]}}}
</tools>

For each tool call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:
- <tool_call>
- unsloth
{"name": <function-name>, "arguments": <args-json-object>}
</tool_call>. If a tool does not exist in the provided list of tools, notify the user that you do not have the ability to fulfill the request.<|end_of_text|>
<|start_of_role|>user<|end_of_role|>What's the weather like in Boston right now?<|end_of_text|>
<|start_of_role|>assistant<|end_of_role|><tool_call>
{"name": "get_current_weather", "arguments": {"city": "Boston"}}
</tool_call><|end_of_text|>

Evaluation Results:

| Benchmarks | Metric | 350M Dense | H 350M Dense | 1B Dense | H 1B Dense

| General Tasks

| MMLU | 5-shot | 35.01 | 36.21 | 59.39 | 59.74

| MMLU-Pro | 5-shot, CoT | 12.13 | 14.38 | 34.02 | 32.86

| BBH | 3-shot, CoT | 33.07 | 33.28 | 60.37 | 59.68

| AGI EVAL | 0-shot, CoT | 26.22 | 29.61 | 49.22 | 52.44

| GPQA | 0-shot, CoT | 24.11 | 26.12 | 29.91 | 29.69

| Alignment Tasks

| IFEval | Instruct, Strict | 61.63 | 67.63 | 80.82 | 82.37

| IFEval | Prompt, Strict | 49.17 | 55.64 | 73.94 | 74.68

| IFEval | Average | 55.4 | 61.63 | 77.38 | 78.53

| Math Tasks

| GSM8K | 8-shot | 30.71 | 39.27 | 76.35 | 69.83

| GSM Symbolic | 8-shot | 26.76 | 33.7 | 72.3 | 65.72

| Minerva Math | 0-shot, CoT | 13.04 | 5.76 | 45.28 | 49.4

| DeepMind Math | 0-shot, CoT | 8.45 | 6.2 | 34 | 34.98

| Code Tasks

| HumanEval | pass@1 | 39 | 38 | 74 | 73

| HumanEval+ | pass@1 | 37 | 35 | 69 | 68

| MBPP | pass@1 | 48 | 49 | 65 | 69

| MBPP+ | pass@1 | 38 | 44 | 57 | 60

| CRUXEval-O | pass@1 | 23.75 | 25.5 | 33.13 | 36

| BigCodeBench | pass@1 | 11.14 | 11.23 | 30.18 | 29.12

| Tool Calling Tasks

| BFCL v3 | | 39.32 | 43.32 | 54.82 | 50.21

| Multilingual Tasks

| MULTIPLE | pass@1 | 15.99 | 14.31 | 32.24 | 36.11

| MMMLU | 5-shot | 28.23 | 27.95 | 45 | 49.43

| INCLUDE | 5-shot | 27.74 | 27.09 | 42.12 | 43.35

| MGSM | 8-shot | 14.72 | 16.16 | 37.84 | 27.52

| Safety

| SALAD-Bench | | 97.12 | 96.55 | 93.44 | 96.4

| AttaQ | | 82.53 | 81.76 | 85.26 | 82.85

Multilingual Benchmarks and thr included languages:

| Benchmarks | # Langs | Languages

| MMMLU | 11 | ar, de, en, es, fr, ja, ko, pt, zh, bn, hi

| INCLUDE | 14 | hi, bn, ta, te, ar, de, es, fr, it, ja, ko, nl, pt, zh

| MGSM | 5 | en, es, fr, ja, zh

Model Architecture:

Granite-4.0-H-350M baseline is based on a decoder-only dense transformer architecture. Core components of this architecture are: GQA, Mamba2, MLP with SwiGLU, RMSNorm, and shared input/output embeddings.

| Model | 350M Dense | H 350M Dense | 1B Dense | H 1B Dense

| Embedding size | 1024 | 768 | 2048 | 1536

| Number of layers | 28 attention | 4 attention / 28 Mamba2 | 40 attention | 4 attention / 36 Mamba2

| Attention head size | 64 | 64 | 128 | 128

| Number of attention heads | 16 | 12 | 16 | 12

| Number of KV heads | 4 | 4 | 4 | 4

| Mamba2 state size | - | 128 | - | 128

| Number of Mamba2 heads | - | 48 | - | 48

| MLP / Shared expert hidden size | 2048 | 2048 | 4096 | 4096

| Num. Experts | - | - | - | -

| Num. active Experts | - | - | - | -

| Expert hidden size | - | - | - | -

| MLP activation | SwiGLU | SwiGLU | SwiGLU | SwiGLU

| Sequence length | 32K | 32K | 128K | 128K

| Position embedding | RoPE | NoPE | RoPE | NoPE

| # Parameters | 350M | 340M | 1.6B | 1.5B

| # Active parameters | 350M | 340M | 1.6B | 1.5B

Training Data: Overall, our SFT data is largely comprised of three key sources: (1) publicly available datasets with permissive license, (2) internal synthetic data targeting specific capabilities, and (3) a select set of human-curated data.

Infrastructure: We trained the Granite 4.0 Nano Language Models utilizing an NVIDIA GB200 NVL72 cluster hosted in CoreWeave. Intra-rack communication occurs via the 72-GPU NVLink domain, and a non-blocking, full Fat-Tree NDR 400 Gb/s InfiniBand network provides inter-rack communication. This cluster provides a scalable and efficient infrastructure for training our models over thousands of GPUs.

Ethical Considerations and Limitations: Granite 4.0 Nano Instruct Models are primarily finetuned using instruction-response pairs mostly in English, but also multilingual data covering multiple languages. Although this model can handle multilingual dialog use cases, its performance might not be similar to English tasks. In such case, introducing a small number of examples (few-shot) can help the model in generating more accurate outputs. While this model has been aligned by keeping safety in consideration, the model may in some cases produce inaccurate, biased, or unsafe responses to user prompts. So we urge the community to use this model with proper safety testing and tuning tailored for their specific tasks.

Resources

Files

22 files · 5.12 GBWeights 160 MB (smallest of 19 GGUF variants). Sizes and sha256 from the signed manifest.
Show all 22 files with their sha256
FileSizesha256
.gitattributes3.14 KB5ed44bdb14dd67a8b1d651073de5eb84346b757164d692ad2efde40c241626e6
README.md34.0 KB7c08d4017f1657e4c3f5d0ee4fe72fd984ee74b822871aac8d7b67e835265384
granite-4.0-h-350m-BF16.gguf685 MB289a51806a545d7f9ab719715a7f53cdbcfc0b6426c2a33bb25abfecf8c5af2e
granite-4.0-h-350m-IQ4_NL.gguf216 MBb3859d8dc3ded98f892c03a4c68526c756d41ba389acfa9c564a9e42f7e18ab0
granite-4.0-h-350m-IQ4_XS.gguf208 MB384bc711c20c0844bc8c637dddbeae99f83692dc705e76495060ac4c683dca49
granite-4.0-h-350m-Q3_K_M.gguf189 MBe56b7272abb7e5374b15c4006d1cbb309abd58900891c6135d3aedfd336fc3da
granite-4.0-h-350m-Q3_K_S.gguf181 MBefc1698788ef83f990feac7a7097203974d5822ecd5ebd0f4f944542c72bd804
granite-4.0-h-350m-Q4_0.gguf216 MBe4076014e4156eb9cc035941a912506e0e43a5711820a45425848a5fbe06adce
granite-4.0-h-350m-Q4_1.gguf233 MB9b07e45dcd85a57797b215b10ade7e60fc782f22efb8f6feade1ff5044da19ae
granite-4.0-h-350m-Q4_K_M.gguf223 MBd2f45a4d4abf5e62696e6a41ecf211a1663c9ebfc77311398b28f0528fc36d29
granite-4.0-h-350m-Q4_K_S.gguf217 MB5d5caa77e1db9e114283e83befc6d1f60553a79faa10cee960fd53e8ff6a1d47
granite-4.0-h-350m-Q5_K_M.gguf252 MB3ee067949e4b0b4d397044691d9b72f91cb6c3f33aba4c261d50ab11451c3d5d
granite-4.0-h-350m-Q5_K_S.gguf249 MB1a2d4495dfdf473e775ae55b3b0b7670b38b27fc25de212be56b7034d9aca022
granite-4.0-h-350m-Q6_K.gguf284 MBad54a8e0fc64b92d91e44b499e03602b7d30e9e398967e4d062321c6ad212c8c
granite-4.0-h-350m-Q8_0.gguf366 MBc9e5ad56d781a56b8e03ba4ad79c9a743e6392a12f881119d42a3a7963a05888
granite-4.0-h-350m-UD-IQ3_XXS.gguf160 MBfebc98ae081947ba18d5c2c9af6003392bfd36aa73a43fbf4c331ce05c40d5f5
granite-4.0-h-350m-UD-Q3_K_XL.gguf191 MB72c8fcfb1a0c01fe6be166c1842e7be1c9c682950a98c6ae483ecd26fcf3fc36
granite-4.0-h-350m-UD-Q4_K_XL.gguf225 MBd2642ac74e3311243574959be469fd377eab17e6b72a4c71f96f016a3f6ad97a
granite-4.0-h-350m-UD-Q5_K_XL.gguf253 MB3307434f0634073042dddad3bfa44d98e72ae4c01b1686d3344f813a616c02f1
granite-4.0-h-350m-UD-Q6_K_XL.gguf311 MB76da96994b2d64ea6aca3dc69a2c506ffcfdbb9fbcfd6e7496e0d9199e884cc9
granite-4.0-h-350m-UD-Q8_K_XL.gguf461 MBae05187cb03edfe0b2968396cc40163ac03688b052a894970c97b2a78f3daa3a
imatrix_unsloth.gguf_file792 KB8e0d447b92f081f83d38b44b74b79a51fbec2ff7b2881d3573998385de39da2b
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
d55b26f2ef pinned now2026-11-15 05:00 UTC22 files · 5.12 GB

Use it

$ fw get unsloth/granite-4.0-h-350m-GGUF
# manifest sha256 c5a3bc6b229e… · 5.12 GB · 22 files
$ fw verify ./granite-4.0-h-350m-GGUF unsloth/granite-4.0-h-350m-GGUF
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/unsloth/granite-4.0-h-350m-GGUF.json --dir ./granite-4.0-h-350m-GGUF $ python3 fw.py verify ./granite-4.0-h-350m-GGUF ./unsloth__granite-4.0-h-350m-GGUF.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/granite-4.0-h-350m-GGUF --revision d55b26f2ef9b65cf9b95ebdde5a2e79d72a15990 --local-dir ./granite-4.0-h-350m-GGUF
llama.cppDownload one GGUF variant (granite-4.0-h-350m-UD-IQ3_XXS, 160 MB), then serve it.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/granite-4.0-h-350m-GGUF --include "granite-4.0-h-350m-UD-IQ3_XXS*" --local-dir ./granite-4.0-h-350m-GGUF $ llama-server -m ./granite-4.0-h-350m-GGUF/granite-4.0-h-350m-UD-IQ3_XXS.gguf
OllamaMake an Ollama model from the downloaded file.
$ printf 'FROM ./granite-4.0-h-350m-GGUF/granite-4.0-h-350m-UD-IQ3_XXS.gguf\n' > Modelfile $ ollama create granite-4.0-h-350m-gguf -f Modelfile

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
7c08d4017f1657e4c3f5d0ee4fe72fd984ee74b822871aac8d7b67e835265384
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: unsloth <huggingface.co/unsloth>Newsgroups: alt.freeweights.graniteSubject: granite-4.0-h-350m-GGUFDate: 2026-11-15Commit: d55b26fSigned: 2DC28CC7B26A283B ✓
Upstream
unsloth/granite-4.0-h-350m-GGUF
Pinned commit
d55b26f2ef9b65cf9b95ebdde5a2e79d72a15990
Manifest
granite-4.0-h-350m-GGUF.json · .minisig
Manifest sha256
c5a3bc6b229ece5e2aa61c18f2a689c68ce713d44c13dd8be9a09dfde29ace1f
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 05:00 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/unsloth/granite-4.0-h-350m-GGUF.json $ curl -O https://freeweights.allternit.com/manifests/unsloth/granite-4.0-h-350m-GGUF.json.minisig $ minisign -Vm granite-4.0-h-350m-GGUF.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

ibm-granite/granite-4.0-h-350m · this model is a quantization of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/granite-4.0-h-350m-GGUF
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. granite-4.0-h-350m-GGUF.json. Provenance. Takedown history: none.
From: ibm-granite <huggingface.co/ibm-granite>Subject: GneissWeb.7B_ablation_model_on_350B_FineWeb.Edu.seed1
From: ibm-granite <huggingface.co/ibm-granite>Subject: GneissWeb.7B_ablation_model_on_350B_FineWeb.Edu.seed2
From: ibm-granite <huggingface.co/ibm-granite>Subject: GneissWeb.7B_ablation_model_on_350B_FineWeb.Edu.seed3
From: ibm-granite <huggingface.co/ibm-granite>Subject: GneissWeb.7B_ablation_model_on_350B_FineWeb.seed1
From: ibm-granite <huggingface.co/ibm-granite>Subject: GneissWeb.7B_ablation_model_on_350B_FineWeb.seed2
From: ibm-granite <huggingface.co/ibm-granite>Subject: GneissWeb.7B_ablation_model_on_350B_FineWeb.seed3