bartowski commited on
Commit
2ee48e5
·
verified ·
1 Parent(s): f995d27

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +40 -68
README.md CHANGED
@@ -20,24 +20,13 @@ Using <a href="https://github.com/ggml-org/llama.cpp/">llama.cpp</a> release <a
20
 
21
  Original model: https://huggingface.co/MiniMaxAI/MiniMax-M3
22
 
23
- All quants made using imatrix option with dataset from [here](https://gist.github.com/bartowski1182/82ae9b520227f57d79ba04add13d0d0d)
 
 
 
 
24
 
25
- Run them in your choice of tools:
26
-
27
- - [llama.cpp](https://github.com/ggml-org/llama.cpp)
28
- - [ramalama](https://github.com/containers/ramalama)
29
- - [LM Studio](https://lmstudio.ai/)
30
- - [koboldcpp](https://github.com/LostRuins/koboldcpp)
31
- - [Jan AI](https://www.jan.ai/)
32
- - [Text Generation Web UI](https://github.com/oobabooga/text-generation-webui)
33
- - [LoLLMs](https://github.com/ParisNeo/lollms)
34
- - [Atomic Chat](https://atomic.chat/)
35
-
36
- Note: if it's a newly supported model, you may need to wait for an update from the developers.
37
-
38
- **Important**:
39
-
40
- Make sure you use llama.cpp release [b10165](https://github.com/ggml-org/llama.cpp/releases/tag/b10165) or higher for fixed chat template parsing, PR for reference: [#26210](https://github.com/ggml-org/llama.cpp/pull/26210)
41
 
42
  ## Prompt format
43
 
@@ -56,7 +45,9 @@ Current thinking mode: adaptive. You are encouraged to think for complex decisio
56
  ]~b]ai
57
  ```
58
 
59
- ## Download a file (not the whole branch) from below:
 
 
60
 
61
  | Filename | Quant type | File Size | Split | Description |
62
  | -------- | ---------- | --------- | ----- | ----------- |
@@ -67,8 +58,8 @@ Current thinking mode: adaptive. You are encouraged to think for complex decisio
67
  | [MiniMax-M3-Q4_1.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-Q4_1) | Q4_1 | 268.89GB | true | Legacy format, similar performance to Q4_K_S but with improved tokens/watt on Apple silicon. |
68
  | [MiniMax-M3-Q4_K_M.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-Q4_K_M) | Q4_K_M | 261.28GB | true | Good quality, default size for most use cases, *recommended*. |
69
  | [MiniMax-M3-Q4_K_S.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-Q4_K_S) | Q4_K_S | 251.36GB | true | Slightly lower quality with more space savings, *recommended*. |
70
- | [MiniMax-M3-Q4_0.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-Q4_0) | Q4_0 | 243.64GB | true | Legacy format, offers online repacking for ARM and AVX CPU inference. |
71
- | [MiniMax-M3-IQ4_NL.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-IQ4_NL) | IQ4_NL | 242.75GB | true | Similar to IQ4_XS, but slightly larger. Offers online repacking for ARM CPU inference. |
72
  | [MiniMax-M3-IQ4_XS.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-IQ4_XS) | IQ4_XS | 229.69GB | true | Decent quality, smaller than Q4_K_S with similar performance, *recommended*. |
73
  | [MiniMax-M3-Q3_K_XL.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-Q3_K_XL) | Q3_K_XL | 206.05GB | true | Uses Q8_0 for embed and output weights. Lower quality but usable, good for low RAM availability. |
74
  | [MiniMax-M3-IQ3_M.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-IQ3_M) | IQ3_M | 205.52GB | true | Medium-low quality, new method with decent performance comparable to Q3_K_M. |
@@ -86,88 +77,66 @@ Current thinking mode: adaptive. You are encouraged to think for complex decisio
86
  | [MiniMax-M3-IQ1_M.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-IQ1_M) | IQ1_M | 100.74GB | true | Extremely low quality, *not* recommended. |
87
  | [MiniMax-M3-IQ1_S.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-IQ1_S) | IQ1_S | 90.53GB | true | Extremely low quality, *not* recommended. |
88
 
89
- ## Embed/output weights
90
-
91
- Some of these quants (Q3_K_XL, Q4_K_L etc) are the standard quantization method with the embeddings and output weights quantized to Q8_0 instead of what they would normally default to.
92
-
93
- ## Downloading using huggingface-cli
94
 
95
  <details>
96
  <summary>Click to view download instructions</summary>
97
 
98
- First, make sure you have huggingface-cli installed:
99
 
100
  ```
101
  pip install -U "huggingface_hub[cli]"
102
  ```
103
 
104
- Then, you can target the specific file you want:
105
 
106
  ```
107
- huggingface-cli download bartowski/MiniMax-M3-GGUF --include "MiniMax-M3-Q4_K_M.gguf" --local-dir ./
108
  ```
109
 
110
- If the model is bigger than 50GB, it will have been split into multiple files. In order to download them all to a local folder, run:
 
 
 
 
 
 
111
 
112
  ```
113
- huggingface-cli download bartowski/MiniMax-M3-GGUF --include "MiniMax-M3-Q8_0/*" --local-dir ./
 
114
  ```
115
 
116
- You can either specify a new local-dir (MiniMax-M3-Q8_0) or download them all in place (./)
117
 
118
- </details>
119
 
120
- ## ARM/AVX information
121
 
122
- Previously, you would download Q4_0_4_4/4_8/8_8, and these would have their weights interleaved in memory in order to improve performance on ARM and AVX machines by loading up more data in one pass.
123
 
124
- Now, however, there is something called "online repacking" for weights. details in [this PR](https://github.com/ggml-org/llama.cpp/pull/9921). If you use Q4_0 and your hardware would benefit from repacking weights, it will do it automatically on the fly.
125
 
126
- As of llama.cpp build [b4282](https://github.com/ggml-org/llama.cpp/releases/tag/b4282) you will not be able to run the Q4_0_X_X files and will instead need to use Q4_0.
127
 
128
- Additionally, if you want to get slightly better quality, you can use IQ4_NL thanks to [this PR](https://github.com/ggml-org/llama.cpp/pull/10541) which will also repack the weights for ARM, though only the 4_4 for now. The loading time may be slower but it will result in an overall speed increase.
129
 
130
- <details>
131
- <summary>Click to view Q4_0_X_X information (deprecated)</summary>
132
 
133
- I'm keeping this section to show the potential theoretical uplift in performance from using the Q4_0 with online repacking.
134
 
135
- <details>
136
- <summary>Click to view benchmarks on an AVX2 system (EPYC7702)</summary>
137
-
138
- | model | size | params | backend | threads | test | t/s | % (vs Q4_0) |
139
- | ------------------------------ | ---------: | ---------: | ---------- | ------: | ------------: | -------------------: |-------------: |
140
- | qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp512 | 204.03 ± 1.03 | 100% |
141
- | qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp1024 | 282.92 ± 0.19 | 100% |
142
- | qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp2048 | 259.49 ± 0.44 | 100% |
143
- | qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg128 | 39.12 ± 0.27 | 100% |
144
- | qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg256 | 39.31 ± 0.69 | 100% |
145
- | qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg512 | 40.52 ± 0.03 | 100% |
146
- | qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp512 | 301.02 ± 1.74 | 147% |
147
- | qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp1024 | 287.23 ± 0.20 | 101% |
148
- | qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp2048 | 262.77 ± 1.81 | 101% |
149
- | qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg128 | 18.80 ± 0.99 | 48% |
150
- | qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg256 | 24.46 ± 3.04 | 83% |
151
- | qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg512 | 36.32 ± 3.59 | 90% |
152
- | qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp512 | 271.71 ± 3.53 | 133% |
153
- | qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp1024 | 279.86 ± 45.63 | 100% |
154
- | qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp2048 | 320.77 ± 5.00 | 124% |
155
- | qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg128 | 43.51 ± 0.05 | 111% |
156
- | qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg256 | 43.35 ± 0.09 | 110% |
157
- | qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg512 | 42.60 ± 0.31 | 105% |
158
-
159
- Q4_0_8_8 offers a nice bump to prompt processing and a small bump to text generation
160
 
161
- </details>
162
 
163
- </details>
164
 
165
  ## Which file should I choose?
166
 
167
  <details>
168
  <summary>Click here for details</summary>
169
 
170
- A great write up with charts showing various performances is provided by Artefact2 [here](https://gist.github.com/Artefact2/b5f810600771265fc1e39442288e8ec9)
171
 
172
  The first thing to figure out is how big a model you can run. To do this, you'll need to figure out how much RAM and/or VRAM you have.
173
 
@@ -175,6 +144,8 @@ If you want your model running as FAST as possible, you'll want to fit the whole
175
 
176
  If you want the absolute maximum quality, add both your system RAM and your GPU's VRAM together, then similarly grab a quant with a file size 1-2GB Smaller than that total.
177
 
 
 
178
  Next, you'll need to decide if you want to use an 'I-quant' or a 'K-quant'.
179
 
180
  If you don't want to think too much, grab one of the K-quants. These are in format 'QX_K_X', like Q5_K_M.
@@ -196,3 +167,4 @@ Thank you kalomaze and Dampf for assistance in creating the imatrix calibration
196
  Thank you ZeroWw for the inspiration to experiment with embed/output.
197
 
198
  Want to support my work? Visit my ko-fi page here: https://ko-fi.com/bartowski
 
 
20
 
21
  Original model: https://huggingface.co/MiniMaxAI/MiniMax-M3
22
 
23
+ **Model details:**
24
+ - Parameter count: 427B
25
+ - Input support: text, image (with mmproj file) - [details](#multimodal)
26
+ - MTP: no
27
+ - imatrix: yes - [details](#imatrix)
28
 
29
+ [How to run](#how-to-run)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
 
31
  ## Prompt format
32
 
 
45
  ]~b]ai
46
  ```
47
 
48
+ **Don't know which to choose?** Grab [Q4_K_M](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-Q4_K_M) (261.28GB) - usually a good mix of size and performance. Download instructions available [here](#downloading-using-the-hugging-face-cli)
49
+
50
+ ## Available files:
51
 
52
  | Filename | Quant type | File Size | Split | Description |
53
  | -------- | ---------- | --------- | ----- | ----------- |
 
58
  | [MiniMax-M3-Q4_1.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-Q4_1) | Q4_1 | 268.89GB | true | Legacy format, similar performance to Q4_K_S but with improved tokens/watt on Apple silicon. |
59
  | [MiniMax-M3-Q4_K_M.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-Q4_K_M) | Q4_K_M | 261.28GB | true | Good quality, default size for most use cases, *recommended*. |
60
  | [MiniMax-M3-Q4_K_S.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-Q4_K_S) | Q4_K_S | 251.36GB | true | Slightly lower quality with more space savings, *recommended*. |
61
+ | [MiniMax-M3-Q4_0.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-Q4_0) | Q4_0 | 243.64GB | true | Legacy format, kept for compatibility with older tools. |
62
+ | [MiniMax-M3-IQ4_NL.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-IQ4_NL) | IQ4_NL | 242.75GB | true | Similar to IQ4_XS, but slightly larger. |
63
  | [MiniMax-M3-IQ4_XS.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-IQ4_XS) | IQ4_XS | 229.69GB | true | Decent quality, smaller than Q4_K_S with similar performance, *recommended*. |
64
  | [MiniMax-M3-Q3_K_XL.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-Q3_K_XL) | Q3_K_XL | 206.05GB | true | Uses Q8_0 for embed and output weights. Lower quality but usable, good for low RAM availability. |
65
  | [MiniMax-M3-IQ3_M.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-IQ3_M) | IQ3_M | 205.52GB | true | Medium-low quality, new method with decent performance comparable to Q3_K_M. |
 
77
  | [MiniMax-M3-IQ1_M.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-IQ1_M) | IQ1_M | 100.74GB | true | Extremely low quality, *not* recommended. |
78
  | [MiniMax-M3-IQ1_S.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/tree/main/MiniMax-M3-IQ1_S) | IQ1_S | 90.53GB | true | Extremely low quality, *not* recommended. |
79
 
80
+ ## Downloading using the Hugging Face CLI
 
 
 
 
81
 
82
  <details>
83
  <summary>Click to view download instructions</summary>
84
 
85
+ First, make sure you have the Hugging Face CLI installed:
86
 
87
  ```
88
  pip install -U "huggingface_hub[cli]"
89
  ```
90
 
91
+ The files marked `true` in the Split column above are stored as multiple parts in a folder. To download all the parts to a local folder, run:
92
 
93
  ```
94
+ hf download bartowski/MiniMax-M3-GGUF --include "MiniMax-M3-Q8_0/*" --local-dir ./
95
  ```
96
 
97
+ You can either specify a new local-dir (MiniMax-M3-Q8_0) or download them all in place (./)
98
+
99
+ </details>
100
+
101
+ ## How to run
102
+
103
+ These quants run with [llama.cpp](https://github.com/ggml-org/llama.cpp) - installable in one line via [llama.app](https://llama.app/):
104
 
105
  ```
106
+ curl -LsSf https://llama.app/install.sh | sh
107
+ llama-server -hf bartowski/MiniMax-M3-GGUF:Q4_K_M
108
  ```
109
 
110
+ llama-server includes a built-in chat web UI, served at http://localhost:8080 by default.
111
 
112
+ These quants were made with llama.cpp release b10141 - if this model's architecture is newly supported, you'll need that release or newer to run them.
113
 
114
+ They also work in: [LM Studio](https://lmstudio.ai/) · [koboldcpp](https://github.com/LostRuins/koboldcpp) · [ramalama](https://github.com/containers/ramalama) · [Jan AI](https://www.jan.ai/) · [Text Generation Web UI](https://github.com/oobabooga/text-generation-webui) · [LoLLMs](https://github.com/ParisNeo/lollms) · [Atomic Chat](https://atomic.chat/)
115
 
116
+ ## Multimodal
117
 
118
+ This model supports multimodal input. Alongside the quants, this repo includes the multimodal projector files [mmproj-MiniMax-M3-f16.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/blob/main/mmproj-MiniMax-M3-f16.gguf) and [mmproj-MiniMax-M3-bf16.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/blob/main/mmproj-MiniMax-M3-bf16.gguf), which pair with any quant above.
119
 
120
+ llama.cpp downloads the mmproj automatically when using `-hf` as shown above; if you're loading files manually, pass it with `--mmproj`.
121
 
122
+ ## imatrix
123
 
124
+ All quants made using imatrix option with dataset from [here](https://gist.github.com/bartowski1182/82ae9b520227f57d79ba04add13d0d0d). The imatrix is available here: [MiniMax-M3-imatrix.gguf](https://huggingface.co/bartowski/MiniMax-M3-GGUF/blob/main/MiniMax-M3-imatrix.gguf).
 
125
 
126
+ ## Embed/output weights
127
 
128
+ Some of these quants (Q3_K_XL, Q4_K_L etc) are the standard quantization method with the embeddings and output weights quantized to Q8_0 instead of what they would normally default to.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
 
130
+ ## ARM/AVX information
131
 
132
+ llama.cpp automatically "repacks" weights into an interleaved layout at load time for faster inference on ARM and AVX machines - details in [this PR](https://github.com/ggml-org/llama.cpp/pull/9921). This once required downloading special Q4_0_4_4/4_8/8_8 files; those are long gone. Online repacking now covers Q4_0, IQ4_NL, and most K-quants, so no special quant choice is needed for CPU inference.
133
 
134
  ## Which file should I choose?
135
 
136
  <details>
137
  <summary>Click here for details</summary>
138
 
139
+ An older (early 2024) but still useful write-up with charts comparing quant performances is provided by Artefact2 [here](https://gist.github.com/Artefact2/b5f810600771265fc1e39442288e8ec9)
140
 
141
  The first thing to figure out is how big a model you can run. To do this, you'll need to figure out how much RAM and/or VRAM you have.
142
 
 
144
 
145
  If you want the absolute maximum quality, add both your system RAM and your GPU's VRAM together, then similarly grab a quant with a file size 1-2GB Smaller than that total.
146
 
147
+ Hugging Face can also do this math for you: add your hardware in your [Local Apps settings](https://huggingface.co/settings/local-apps) and the model page will show which files fit.
148
+
149
  Next, you'll need to decide if you want to use an 'I-quant' or a 'K-quant'.
150
 
151
  If you don't want to think too much, grab one of the K-quants. These are in format 'QX_K_X', like Q5_K_M.
 
167
  Thank you ZeroWw for the inspiration to experiment with embed/output.
168
 
169
  Want to support my work? Visit my ko-fi page here: https://ko-fi.com/bartowski
170
+