metadata
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
Original dtype: BF16
(bfloat16
)
Quantized by: llama.cpp b3649
IMatrix dataset: here
Files
IMatrix
Status: β
Available
Link: here
Common Quants
Filename | Quant type | File Size | Status | Uses IMatrix | Is Split |
---|---|---|---|---|---|
granite-20b-code-instruct.Q8_0.gguf | Q8_0 | 21.48GB | β Available | βͺ Static | π¦ No |
granite-20b-code-instruct.Q6_K.gguf | Q6_K | 16.63GB | β Available | βͺ Static | π¦ No |
granite-20b-code-instruct.Q4_K.gguf | Q4_K | 12.82GB | β Available | π’ IMatrix | π¦ No |
granite-20b-code-instruct.Q3_K.gguf | Q3_K | 10.57GB | β Available | π’ IMatrix | π¦ No |
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 | BF16 | 40.24GB | β Available | βͺ Static | π¦ No |
granite-20b-code-instruct.FP16.gguf | F16 | 40.24GB | β Available | βͺ Static | π¦ No |
granite-20b-code-instruct.Q8_0.gguf | Q8_0 | 21.48GB | β Available | βͺ Static | π¦ No |
granite-20b-code-instruct.Q6_K.gguf | Q6_K | 16.63GB | β Available | βͺ Static | π¦ No |
granite-20b-code-instruct.Q5_K.gguf | Q5_K | 14.81GB | β Available | βͺ Static | π¦ No |
granite-20b-code-instruct.Q5_K_S.gguf | Q5_K_S | 14.02GB | β Available | βͺ Static | π¦ No |
granite-20b-code-instruct.Q4_K.gguf | Q4_K | 12.82GB | β Available | π’ IMatrix | π¦ No |
granite-20b-code-instruct.Q4_K_S.gguf | Q4_K_S | 11.67GB | β Available | π’ IMatrix | π¦ No |
granite-20b-code-instruct.IQ4_NL.gguf | IQ4_NL | 11.55GB | β Available | π’ IMatrix | π¦ No |
granite-20b-code-instruct.IQ4_XS.gguf | IQ4_XS | 10.94GB | β Available | π’ IMatrix | π¦ No |
granite-20b-code-instruct.Q3_K.gguf | Q3_K | 10.57GB | β Available | π’ IMatrix | π¦ No |
granite-20b-code-instruct.Q3_K_L.gguf | Q3_K_L | 11.74GB | β Available | π’ IMatrix | π¦ No |
granite-20b-code-instruct.Q3_K_S.gguf | Q3_K_S | 8.93GB | β Available | π’ IMatrix | π¦ No |
granite-20b-code-instruct.IQ3_M.gguf | IQ3_M | 9.59GB | β Available | π’ IMatrix | π¦ No |
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 | Q2_K | 7.93GB | β Available | π’ IMatrix | π¦ No |
granite-20b-code-instruct.Q2_K_S.gguf | Q2_K_S | 7.15GB | β Available | π’ IMatrix | π¦ No |
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, 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?
- 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
- To get hold of
- Locate your GGUF chunks folder (ex:
granite-20b-code-instruct.Q8_0
) - 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.
- Make sure to point
Got a suggestion? Ping me @legraphista!