--- base_model: ibm-granite/granite-20b-code-instruct datasets: - bigcode/commitpackft - TIGER-Lab/MathInstruct - meta-math/MetaMathQA - glaiveai/glaive-code-assistant-v3 - glaive-function-calling-v2 - bugdaryan/sql-create-context-instruction - garage-bAInd/Open-Platypus - nvidia/HelpSteer inference: false library_name: gguf license: apache-2.0 metrics: - code_eval model-index: - name: granite-20b-code-instruct results: - dataset: name: HumanEvalSynthesis(Python) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 60.4 veriefied: false task: type: text-generation - dataset: name: HumanEvalSynthesis(JavaScript) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 53.7 veriefied: false task: type: text-generation - dataset: name: HumanEvalSynthesis(Java) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 58.5 veriefied: false task: type: text-generation - dataset: name: HumanEvalSynthesis(Go) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 42.1 veriefied: false task: type: text-generation - dataset: name: HumanEvalSynthesis(C++) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 45.7 veriefied: false task: type: text-generation - dataset: name: HumanEvalSynthesis(Rust) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 42.7 veriefied: false task: type: text-generation - dataset: name: HumanEvalExplain(Python) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 44.5 veriefied: false task: type: text-generation - dataset: name: HumanEvalExplain(JavaScript) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 42.7 veriefied: false task: type: text-generation - dataset: name: HumanEvalExplain(Java) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 49.4 veriefied: false task: type: text-generation - dataset: name: HumanEvalExplain(Go) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 32.3 veriefied: false task: type: text-generation - dataset: name: HumanEvalExplain(C++) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 42.1 veriefied: false task: type: text-generation - dataset: name: HumanEvalExplain(Rust) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 18.3 veriefied: false task: type: text-generation - dataset: name: HumanEvalFix(Python) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 43.9 veriefied: false task: type: text-generation - dataset: name: HumanEvalFix(JavaScript) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 43.9 veriefied: false task: type: text-generation - dataset: name: HumanEvalFix(Java) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 45.7 veriefied: false task: type: text-generation - dataset: name: HumanEvalFix(Go) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 41.5 veriefied: false task: type: text-generation - dataset: name: HumanEvalFix(C++) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 41.5 veriefied: false task: type: text-generation - dataset: name: HumanEvalFix(Rust) type: bigcode/humanevalpack metrics: - name: pass@1 type: pass@1 value: 29.9 veriefied: false task: type: text-generation pipeline_tag: text-generation quantized_by: legraphista tags: - code - granite - quantized - GGUF - quantization - imat - imatrix - static - 16bit - 8bit - 6bit - 5bit - 4bit - 3bit - 2bit - 1bit --- # granite-20b-code-instruct-IMat-GGUF _Llama.cpp imatrix quantization of ibm-granite/granite-20b-code-instruct_ Original Model: [ibm-granite/granite-20b-code-instruct](https://huggingface.co/ibm-granite/granite-20b-code-instruct) Original dtype: `BF16` (`bfloat16`) Quantized by: llama.cpp [b3649](https://github.com/ggerganov/llama.cpp/releases/tag/b3649) IMatrix dataset: [here](https://gist.githubusercontent.com/bartowski1182/eb213dccb3571f863da82e99418f81e8/raw/b2869d80f5c16fd7082594248e80144677736635/calibration_datav3.txt) - [Files](#files) - [IMatrix](#imatrix) - [Common Quants](#common-quants) - [All Quants](#all-quants) - [Downloading using huggingface-cli](#downloading-using-huggingface-cli) - [Inference](#inference) - [Simple chat template](#simple-chat-template) - [Chat template with system prompt](#chat-template-with-system-prompt) - [Llama.cpp](#llama-cpp) - [FAQ](#faq) - [Why is the IMatrix not applied everywhere?](#why-is-the-imatrix-not-applied-everywhere) - [How do I merge a split GGUF?](#how-do-i-merge-a-split-gguf) --- ## Files ### IMatrix Status: ✅ Available Link: [here](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/imatrix.dat) ### Common Quants | Filename | Quant type | File Size | Status | Uses IMatrix | Is Split | | -------- | ---------- | --------- | ------ | ------------ | -------- | | [granite-20b-code-instruct.Q8_0.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.Q8_0.gguf) | Q8_0 | 21.48GB | ✅ Available | ⚪ Static | 📦 No | [granite-20b-code-instruct.Q6_K.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.Q6_K.gguf) | Q6_K | 16.63GB | ✅ Available | ⚪ Static | 📦 No | [granite-20b-code-instruct.Q4_K.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.Q4_K.gguf) | Q4_K | 12.82GB | ✅ Available | 🟢 IMatrix | 📦 No | [granite-20b-code-instruct.Q3_K.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.Q3_K.gguf) | Q3_K | 10.57GB | ✅ Available | 🟢 IMatrix | 📦 No | [granite-20b-code-instruct.Q2_K.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.Q2_K.gguf) | Q2_K | 7.93GB | ✅ Available | 🟢 IMatrix | 📦 No ### All Quants | Filename | Quant type | File Size | Status | Uses IMatrix | Is Split | | -------- | ---------- | --------- | ------ | ------------ | -------- | | [granite-20b-code-instruct.BF16.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.BF16.gguf) | BF16 | 40.24GB | ✅ Available | ⚪ Static | 📦 No | [granite-20b-code-instruct.FP16.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.FP16.gguf) | F16 | 40.24GB | ✅ Available | ⚪ Static | 📦 No | [granite-20b-code-instruct.Q8_0.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.Q8_0.gguf) | Q8_0 | 21.48GB | ✅ Available | ⚪ Static | 📦 No | [granite-20b-code-instruct.Q6_K.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.Q6_K.gguf) | Q6_K | 16.63GB | ✅ Available | ⚪ Static | 📦 No | [granite-20b-code-instruct.Q5_K.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.Q5_K.gguf) | Q5_K | 14.81GB | ✅ Available | ⚪ Static | 📦 No | [granite-20b-code-instruct.Q5_K_S.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.Q5_K_S.gguf) | Q5_K_S | 14.02GB | ✅ Available | ⚪ Static | 📦 No | [granite-20b-code-instruct.Q4_K.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.Q4_K.gguf) | Q4_K | 12.82GB | ✅ Available | 🟢 IMatrix | 📦 No | granite-20b-code-instruct.Q4_K_S | Q4_K_S | - | ⏳ Processing | 🟢 IMatrix | - | granite-20b-code-instruct.IQ4_NL | IQ4_NL | - | ⏳ Processing | 🟢 IMatrix | - | granite-20b-code-instruct.IQ4_XS | IQ4_XS | - | ⏳ Processing | 🟢 IMatrix | - | [granite-20b-code-instruct.Q3_K.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.Q3_K.gguf) | Q3_K | 10.57GB | ✅ Available | 🟢 IMatrix | 📦 No | granite-20b-code-instruct.Q3_K_L | Q3_K_L | - | ⏳ Processing | 🟢 IMatrix | - | granite-20b-code-instruct.Q3_K_S | Q3_K_S | - | ⏳ Processing | 🟢 IMatrix | - | granite-20b-code-instruct.IQ3_M | IQ3_M | - | ⏳ Processing | 🟢 IMatrix | - | granite-20b-code-instruct.IQ3_S | IQ3_S | - | ⏳ Processing | 🟢 IMatrix | - | granite-20b-code-instruct.IQ3_XS | IQ3_XS | - | ⏳ Processing | 🟢 IMatrix | - | granite-20b-code-instruct.IQ3_XXS | IQ3_XXS | - | ⏳ Processing | 🟢 IMatrix | - | [granite-20b-code-instruct.Q2_K.gguf](https://huggingface.co/legraphista/granite-20b-code-instruct-IMat-GGUF/blob/main/granite-20b-code-instruct.Q2_K.gguf) | Q2_K | 7.93GB | ✅ Available | 🟢 IMatrix | 📦 No | granite-20b-code-instruct.Q2_K_S | Q2_K_S | - | ⏳ Processing | 🟢 IMatrix | - | granite-20b-code-instruct.IQ2_M | IQ2_M | - | ⏳ Processing | 🟢 IMatrix | - | granite-20b-code-instruct.IQ2_S | IQ2_S | - | ⏳ Processing | 🟢 IMatrix | - | granite-20b-code-instruct.IQ2_XS | IQ2_XS | - | ⏳ Processing | 🟢 IMatrix | - | granite-20b-code-instruct.IQ2_XXS | IQ2_XXS | - | ⏳ Processing | 🟢 IMatrix | - | granite-20b-code-instruct.IQ1_M | IQ1_M | - | ⏳ Processing | 🟢 IMatrix | - | granite-20b-code-instruct.IQ1_S | IQ1_S | - | ⏳ Processing | 🟢 IMatrix | - ## Downloading using huggingface-cli If you do not have hugginface-cli installed: ``` pip install -U "huggingface_hub[cli]" ``` Download the specific file you want: ``` huggingface-cli download legraphista/granite-20b-code-instruct-IMat-GGUF --include "granite-20b-code-instruct.Q8_0.gguf" --local-dir ./ ``` If the model file is big, it has been split into multiple files. In order to download them all to a local folder, run: ``` huggingface-cli download legraphista/granite-20b-code-instruct-IMat-GGUF --include "granite-20b-code-instruct.Q8_0/*" --local-dir ./ # see FAQ for merging GGUF's ``` --- ## Inference ### Simple chat template ``` Question: {user_prompt} Answer: {assistant_response} Question: {next_user_prompt} ``` ### Chat template with system prompt ``` System: {system_prompt} Question: {user_prompt} Answer: {assistant_response} Question: {next_user_prompt} ``` ### Llama.cpp ``` llama.cpp/main -m granite-20b-code-instruct.Q8_0.gguf --color -i -p "prompt here (according to the chat template)" ``` --- ## FAQ ### Why is the IMatrix not applied everywhere? According to [this investigation](https://www.reddit.com/r/LocalLLaMA/comments/1993iro/ggufs_quants_can_punch_above_their_weights_now/), it appears that lower quantizations are the only ones that benefit from the imatrix input (as per hellaswag results). ### How do I merge a split GGUF? 1. Make sure you have `gguf-split` available - To get hold of `gguf-split`, navigate to https://github.com/ggerganov/llama.cpp/releases - Download the appropriate zip for your system from the latest release - Unzip the archive and you should be able to find `gguf-split` 2. Locate your GGUF chunks folder (ex: `granite-20b-code-instruct.Q8_0`) 3. Run `gguf-split --merge granite-20b-code-instruct.Q8_0/granite-20b-code-instruct.Q8_0-00001-of-XXXXX.gguf granite-20b-code-instruct.Q8_0.gguf` - Make sure to point `gguf-split` to the first chunk of the split. --- Got a suggestion? Ping me [@legraphista](https://x.com/legraphista)!