File size: 7,600 Bytes
c483cf2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1b2c885
60c363a
c483cf2
 
 
 
 
 
 
 
dedc0a9
e51c0ee
7c68406
afde5d9
c483cf2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
---
base_model: internlm/internlm2-math-plus-20b
inference: false
language:
- en
- zh
library_name: gguf
license: other
pipeline_tag: text-generation
quantized_by: legraphista
tags:
- quantized
- GGUF
- imatrix
- quantization
- imat
- imatrix
- static
---

# internlm2-math-plus-20b-IMat-GGUF
_Llama.cpp imatrix quantization of internlm/internlm2-math-plus-20b_

Original Model: [internlm/internlm2-math-plus-20b](https://huggingface.co/internlm/internlm2-math-plus-20b)  
Original dtype: `BF16` (`bfloat16`)  
Quantized by: llama.cpp [b3008](https://github.com/ggerganov/llama.cpp/releases/tag/b3008)  
IMatrix dataset: [here](https://gist.githubusercontent.com/legraphista/d6d93f1a254bcfc58e0af3777eaec41e/raw/d380e7002cea4a51c33fffd47db851942754e7cc/imatrix.calibration.medium.raw)  

- [internlm2-math-plus-20b-IMat-GGUF](#internlm2-math-plus-20b-imat-gguf)
    - [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: ⏳ Processing  
Link: [here](https://huggingface.co/legraphista/internlm2-math-plus-20b-IMat-GGUF/blob/main/imatrix.dat) 

### Common Quants
| Filename | Quant type | File Size | Status | Uses IMatrix | Is Split |
| -------- | ---------- | --------- | ------ | ------------ | -------- |
| [internlm2-math-plus-20b.Q8_0.gguf](https://huggingface.co/legraphista/internlm2-math-plus-20b-IMat-GGUF/blob/main/internlm2-math-plus-20b.Q8_0.gguf) | Q8_0 | 21.11GB | βœ… Available | βšͺ Static | πŸ“¦ No
| [internlm2-math-plus-20b.Q6_K.gguf](https://huggingface.co/legraphista/internlm2-math-plus-20b-IMat-GGUF/blob/main/internlm2-math-plus-20b.Q6_K.gguf) | Q6_K | 16.30GB | βœ… Available | βšͺ Static | πŸ“¦ No
| internlm2-math-plus-20b.Q4_K | Q4_K | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.Q3_K | Q3_K | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.Q2_K | Q2_K | - | ⏳ Processing | 🟒 IMatrix | -


### All Quants
| Filename | Quant type | File Size | Status | Uses IMatrix | Is Split |
| -------- | ---------- | --------- | ------ | ------------ | -------- |
| [internlm2-math-plus-20b.FP16.gguf](https://huggingface.co/legraphista/internlm2-math-plus-20b-IMat-GGUF/blob/main/internlm2-math-plus-20b.FP16.gguf) | F16 | 39.73GB | βœ… Available | βšͺ Static | πŸ“¦ No
| [internlm2-math-plus-20b.BF16.gguf](https://huggingface.co/legraphista/internlm2-math-plus-20b-IMat-GGUF/blob/main/internlm2-math-plus-20b.BF16.gguf) | BF16 | 39.73GB | βœ… Available | βšͺ Static | πŸ“¦ No
| [internlm2-math-plus-20b.Q5_K.gguf](https://huggingface.co/legraphista/internlm2-math-plus-20b-IMat-GGUF/blob/main/internlm2-math-plus-20b.Q5_K.gguf) | Q5_K | 14.08GB | βœ… Available | βšͺ Static | πŸ“¦ No
| [internlm2-math-plus-20b.Q5_K_S.gguf](https://huggingface.co/legraphista/internlm2-math-plus-20b-IMat-GGUF/blob/main/internlm2-math-plus-20b.Q5_K_S.gguf) | Q5_K_S | 13.73GB | βœ… Available | βšͺ Static | πŸ“¦ No
| internlm2-math-plus-20b.Q4_K_S | Q4_K_S | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.Q3_K_L | Q3_K_L | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.Q3_K_S | Q3_K_S | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.Q2_K_S | Q2_K_S | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.IQ4_NL | IQ4_NL | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.IQ4_XS | IQ4_XS | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.IQ3_M | IQ3_M | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.IQ3_S | IQ3_S | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.IQ3_XS | IQ3_XS | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.IQ3_XXS | IQ3_XXS | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.IQ2_M | IQ2_M | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.IQ2_S | IQ2_S | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.IQ2_XS | IQ2_XS | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.IQ2_XXS | IQ2_XXS | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.IQ1_M | IQ1_M | - | ⏳ Processing | 🟒 IMatrix | -
| internlm2-math-plus-20b.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/internlm2-math-plus-20b-IMat-GGUF --include "internlm2-math-plus-20b.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/internlm2-math-plus-20b-IMat-GGUF --include "internlm2-math-plus-20b.Q8_0/*" --local-dir internlm2-math-plus-20b.Q8_0
# see FAQ for merging GGUF's
```

---

## Inference

### Simple chat template
```
<s><|im_start|>user
Can you provide ways to eat combinations of bananas and dragonfruits?<|im_end|>
<|im_start|>assistant
Sure! Here are some ways to eat bananas and dragonfruits together:
 1. Banana and dragonfruit smoothie: Blend bananas and dragonfruits together with some milk and honey.
 2. Banana and dragonfruit salad: Mix sliced bananas and dragonfruits together with some lemon juice and honey.<|im_end|>
<|im_start|>user
What about solving an 2x + 3 = 7 equation?<|im_end|>

```

### Chat template with system prompt
```
<s><|im_start|>system
You are a helpful AI.<|im_end|>
<|im_start|>user
Can you provide ways to eat combinations of bananas and dragonfruits?<|im_end|>
<|im_start|>assistant
Sure! Here are some ways to eat bananas and dragonfruits together:
 1. Banana and dragonfruit smoothie: Blend bananas and dragonfruits together with some milk and honey.
 2. Banana and dragonfruit salad: Mix sliced bananas and dragonfruits together with some lemon juice and honey.<|im_end|>
<|im_start|>user
What about solving an 2x + 3 = 7 equation?<|im_end|>

```

### Llama.cpp
```
llama.cpp/main -m internlm2-math-plus-20b.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: `internlm2-math-plus-20b.Q8_0`)
3. Run `gguf-split --merge internlm2-math-plus-20b.Q8_0/internlm2-math-plus-20b.Q8_0-00001-of-XXXXX.gguf internlm2-math-plus-20b.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)!