Instructions to use magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF", filename="granite-4.0-h-350m-unsloth-mxfp4_moe-EKUD-B16-O-Q6K-Q-Q8_0.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- llama.cpp
How to use magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0 # Run inference directly in the terminal: llama-cli -hf magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0 # Run inference directly in the terminal: llama-cli -hf magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0 # Run inference directly in the terminal: ./llama-cli -hf magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0 # Run inference directly in the terminal: ./build/bin/llama-cli -hf magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0
Use Docker
docker model run hf.co/magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0
- LM Studio
- Jan
- vLLM
How to use magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0
- Ollama
How to use magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF with Ollama:
ollama run hf.co/magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0
- Unsloth Studio new
How to use magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF to start chatting
- Pi new
How to use magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0
Run Hermes
hermes
- Docker Model Runner
How to use magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF with Docker Model Runner:
docker model run hf.co/magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0
- Lemonade
How to use magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull magiccodingman/Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF:Q8_0
Run and chat with the model
lemonade run user.Granite-4.0-H-350M-Unsloth-MagicQuant-Hybrid-GGUF-Q8_0
List all available models
lemonade list
File name changes
Browse files|
@@ -33,5 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
-
granite-4.0-h-350m-unsloth-mxfp4_moe-EKUD
|
| 37 |
-
granite-4.0-h-350m-unsloth-mxfp4_moe-O
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
granite-4.0-h-350m-unsloth-mxfp4_moe-EKUD-B16-O-Q6K-Q-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
granite-4.0-h-350m-unsloth-mxfp4_moe-O-Q6K-EQKUD-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
|
|
@@ -35,24 +35,22 @@ To dive deeper into how MagicQuant works, see the main repo:
|
|
| 35 |
|
| 36 |
| model_name | file_size_gb | bench_tps | avg_prec_loss |
|
| 37 |
| ---------- | ------------ | --------- | ------------- |
|
| 38 |
-
| [mxfp4_moe-EKUD
|
| 39 |
-
| [mxfp4_moe-O
|
| 40 |
-
|
| 41 |
|
| 42 |
### Table - PPL Columns
|
| 43 |
|
| 44 |
| model_name | gen | gen_er | code | code_er | math | math_er |
|
| 45 |
| ---------- | --- | ------ | ---- | ------- | ---- | ------- |
|
| 46 |
-
| [mxfp4_moe-EKUD
|
| 47 |
-
| [mxfp4_moe-O
|
| 48 |
|
| 49 |
### Table - Precision Loss Columns
|
| 50 |
|
| 51 |
| model_name | loss_general | loss_code | loss_math |
|
| 52 |
| ---------- | ------------ | --------- | --------- |
|
| 53 |
-
| [mxfp4_moe-EKUD
|
| 54 |
-
| [mxfp4_moe-O
|
| 55 |
-
|
| 56 |
|
| 57 |
---
|
| 58 |
|
|
@@ -88,13 +86,13 @@ This tells users the *default* quantization for the majority of tensors.
|
|
| 88 |
If certain tensor groups use a different quant scheme than the base, they appear afterwards as:
|
| 89 |
|
| 90 |
```
|
| 91 |
-
<GroupLetters>
|
| 92 |
```
|
| 93 |
|
| 94 |
Multiple group blocks can be chained:
|
| 95 |
|
| 96 |
```
|
| 97 |
-
<Model>-<Base>-<Groups>
|
| 98 |
```
|
| 99 |
|
| 100 |
Only *exceptions* appear.
|
|
@@ -128,7 +126,7 @@ These are the compact codes for each major tensor group:
|
|
| 128 |
If multiple groups share the same quant scheme, combine them:
|
| 129 |
|
| 130 |
```
|
| 131 |
-
EH
|
| 132 |
```
|
| 133 |
|
| 134 |
Means:
|
|
@@ -139,7 +137,7 @@ Means:
|
|
| 139 |
Another block:
|
| 140 |
|
| 141 |
```
|
| 142 |
-
QKO
|
| 143 |
```
|
| 144 |
|
| 145 |
Means:
|
|
@@ -163,7 +161,7 @@ You can stack as many blocks as needed.
|
|
| 163 |
### **Hybrid Name:**
|
| 164 |
|
| 165 |
```
|
| 166 |
-
Qwen3-4B-MXFP4-EH
|
| 167 |
```
|
| 168 |
|
| 169 |
This reads as:
|
|
@@ -182,13 +180,13 @@ Clean. Simple. Understandable. Portable.
|
|
| 182 |
Example: Only embeddings become Q5_K.
|
| 183 |
|
| 184 |
```
|
| 185 |
-
Qwen3-4B-MXFP4-E
|
| 186 |
```
|
| 187 |
|
| 188 |
If only MoE router changes:
|
| 189 |
|
| 190 |
```
|
| 191 |
-
Qwen3-4B-MXFP4-R
|
| 192 |
```
|
| 193 |
|
| 194 |
---
|
|
@@ -207,8 +205,7 @@ No extra suffixes.
|
|
| 207 |
|
| 208 |
## 🧠 **8. Notation Guidelines (For Clarity and Aesthetics)**
|
| 209 |
|
| 210 |
-
* Use hyphens `-`
|
| 211 |
-
* Use equals `=` between group and quant scheme.
|
| 212 |
* No need for `_` unless the quant type requires it (`IQ4_NL`, `Q4_K_M`, etc.).
|
| 213 |
* Order of groups doesn’t matter, but a consistent order is recommended:
|
| 214 |
|
|
@@ -222,11 +219,11 @@ This mirrors information flow: embeddings → attention → ffn → moe.
|
|
| 222 |
|
| 223 |
| Description | Final Name |
|
| 224 |
| ------------------------------------------ | ------------------------------ |
|
| 225 |
-
| Base MXFP4, only embeddings = BF16 | `MXFP4-E
|
| 226 |
-
| Base IQ4_NL, Q/K/O = Q6_K | `IQ4NL-QKO
|
| 227 |
-
| Base Q6_K, Head & Router = BF16 | `Q6K-HR
|
| 228 |
| Everything BF16 → no hybrid | `B16` (or `F16/BF16` baseline) |
|
| 229 |
-
| Full MoE override: experts + router = Q8_0 | `X R
|
| 230 |
|
| 231 |
---
|
| 232 |
|
|
|
|
| 35 |
|
| 36 |
| model_name | file_size_gb | bench_tps | avg_prec_loss |
|
| 37 |
| ---------- | ------------ | --------- | ------------- |
|
| 38 |
+
| [mxfp4_moe-EKUD-B16-O-Q6K-Q-Q8_0](./../../resolve/main/granite-4.0-h-350m-unsloth-mxfp4_moe-EKUD-B16-O-Q6K-Q-Q8_0.gguf?download=true) | 0.54 | 1705.35 | 0.0816 |
|
| 39 |
+
| [mxfp4_moe-O-Q6K-EQKUD-Q8_0](./../../resolve/main/granite-4.0-h-350m-unsloth-mxfp4_moe-O-Q6K-EQKUD-Q8_0.gguf?download=true) | 0.34 | 1605.97 | 0.2555 |
|
|
|
|
| 40 |
|
| 41 |
### Table - PPL Columns
|
| 42 |
|
| 43 |
| model_name | gen | gen_er | code | code_er | math | math_er |
|
| 44 |
| ---------- | --- | ------ | ---- | ------- | ---- | ------- |
|
| 45 |
+
| [mxfp4_moe-EKUD-B16-O-Q6K-Q-Q8_0](./../../resolve/main/granite-4.0-h-350m-unsloth-mxfp4_moe-EKUD-B16-O-Q6K-Q-Q8_0.gguf?download=true) | 18.1560 | 0.4667 | 1.9548 | 0.0175 | 10.2986 | 0.2319 |
|
| 46 |
+
| [mxfp4_moe-O-Q6K-EQKUD-Q8_0](./../../resolve/main/granite-4.0-h-350m-unsloth-mxfp4_moe-O-Q6K-EQKUD-Q8_0.gguf?download=true) | 18.2304 | 0.4691 | 1.9555 | 0.0175 | 10.3074 | 0.2320
|
| 47 |
|
| 48 |
### Table - Precision Loss Columns
|
| 49 |
|
| 50 |
| model_name | loss_general | loss_code | loss_math |
|
| 51 |
| ---------- | ------------ | --------- | --------- |
|
| 52 |
+
| [mxfp4_moe-EKUD-B16-O-Q6K-Q-Q8_0](./../../resolve/main/granite-4.0-h-350m-unsloth-mxfp4_moe-EKUD-B16-O-Q6K-Q-Q8_0.gguf?download=true) | 0.1368 | 0.0051 | 0.1030 |
|
| 53 |
+
| [mxfp4_moe-O-Q6K-EQKUD-Q8_0](./../../resolve/main/granite-4.0-h-350m-unsloth-mxfp4_moe-O-Q6K-EQKUD-Q8_0.gguf?download=true) | 0.5471 | 0.0307 | 0.1886 |
|
|
|
|
| 54 |
|
| 55 |
---
|
| 56 |
|
|
|
|
| 86 |
If certain tensor groups use a different quant scheme than the base, they appear afterwards as:
|
| 87 |
|
| 88 |
```
|
| 89 |
+
<GroupLetters>-<Quant>
|
| 90 |
```
|
| 91 |
|
| 92 |
Multiple group blocks can be chained:
|
| 93 |
|
| 94 |
```
|
| 95 |
+
<Model>-<Base>-<Groups>-<Quant>-<Groups>-<Quant>...
|
| 96 |
```
|
| 97 |
|
| 98 |
Only *exceptions* appear.
|
|
|
|
| 126 |
If multiple groups share the same quant scheme, combine them:
|
| 127 |
|
| 128 |
```
|
| 129 |
+
EH-B16
|
| 130 |
```
|
| 131 |
|
| 132 |
Means:
|
|
|
|
| 137 |
Another block:
|
| 138 |
|
| 139 |
```
|
| 140 |
+
QKO-IQ4NL
|
| 141 |
```
|
| 142 |
|
| 143 |
Means:
|
|
|
|
| 161 |
### **Hybrid Name:**
|
| 162 |
|
| 163 |
```
|
| 164 |
+
Qwen3-4B-MXFP4-EH-B16-QKO-IQ4NL.gguf
|
| 165 |
```
|
| 166 |
|
| 167 |
This reads as:
|
|
|
|
| 180 |
Example: Only embeddings become Q5_K.
|
| 181 |
|
| 182 |
```
|
| 183 |
+
Qwen3-4B-MXFP4-E-Q5K.gguf
|
| 184 |
```
|
| 185 |
|
| 186 |
If only MoE router changes:
|
| 187 |
|
| 188 |
```
|
| 189 |
+
Qwen3-4B-MXFP4-R-Q8.gguf
|
| 190 |
```
|
| 191 |
|
| 192 |
---
|
|
|
|
| 205 |
|
| 206 |
## 🧠 **8. Notation Guidelines (For Clarity and Aesthetics)**
|
| 207 |
|
| 208 |
+
* Use hyphens `-` throughout the naming scheme for consistency.
|
|
|
|
| 209 |
* No need for `_` unless the quant type requires it (`IQ4_NL`, `Q4_K_M`, etc.).
|
| 210 |
* Order of groups doesn’t matter, but a consistent order is recommended:
|
| 211 |
|
|
|
|
| 219 |
|
| 220 |
| Description | Final Name |
|
| 221 |
| ------------------------------------------ | ------------------------------ |
|
| 222 |
+
| Base MXFP4, only embeddings = BF16 | `MXFP4-E-B16` |
|
| 223 |
+
| Base IQ4_NL, Q/K/O = Q6_K | `IQ4NL-QKO-Q6K` |
|
| 224 |
+
| Base Q6_K, Head & Router = BF16 | `Q6K-HR-B16` |
|
| 225 |
| Everything BF16 → no hybrid | `B16` (or `F16/BF16` baseline) |
|
| 226 |
+
| Full MoE override: experts + router = Q8_0 | `X R-Q8_0` → `XR-Q8_0` |
|
| 227 |
|
| 228 |
---
|
| 229 |
|
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:689e694797a2074350577fea7ad61a8167c6e0ee98bfbbfb840c28ac76974310
|
| 3 |
+
size 580910016
|
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5e5a53b4e80abe4039661da23e477a3b8f4b641b7b40a70829c0243db0dd437f
|
| 3 |
+
size 365624256
|