TheBloke commited on
Commit
218bf63
1 Parent(s): a899231

Upload README.md

Browse files
Files changed (1) hide show
  1. README.md +122 -14
README.md CHANGED
@@ -42,24 +42,33 @@ quantized_by: TheBloke
42
  <!-- description start -->
43
  ## Description
44
 
45
- This repo contains **EXPERIMENTAL** GGUF format model files for [Mistral AI_'s Mixtral 8X7B v0.1](https://huggingface.co/mistralai/Mixtral-8x7B-v0.1).
46
 
47
- ## EXPERIMENTAL - REQUIRES LLAMA.CPP PR
48
-
49
- These are experimental GGUF files, created using a llama.cpp PR found here: https://github.com/ggerganov/llama.cpp/pull/4406.
50
 
51
- THEY WILL NOT WORK WITH LLAMA.CPP FROM `main`, OR ANY DOWNSTREAM LLAMA.CPP CLIENT - such as LM Studio, llama-cpp-python, text-generation-webui, etc.
52
 
53
- To test these GGUFs, please build llama.cpp from the above PR.
54
 
55
- I have tested CUDA acceleration and it works great. I have not yet tested other forms of GPU acceleration.
 
 
 
 
 
 
 
 
 
56
 
57
- <!-- description end -->
58
  <!-- repositories-available start -->
59
  ## Repositories available
60
 
61
- * GPTQ: coming soon
62
- * AWQ: coming soon
63
  * [2, 3, 4, 5, 6 and 8-bit GGUF models for CPU+GPU inference](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF)
64
  * [Mistral AI_'s original unquantised fp16 model in pytorch format, for GPU inference and for further conversions](https://huggingface.co/mistralai/Mixtral-8x7B-v0.1)
65
  <!-- repositories-available end -->
@@ -69,9 +78,19 @@ I have tested CUDA acceleration and it works great. I have not yet tested other
69
 
70
  ```
71
  {prompt}
 
72
  ```
 
73
  <!-- prompt-template end -->
74
 
 
 
 
 
 
 
 
 
75
  ## Explanation of quantisation methods
76
 
77
  <details>
@@ -95,20 +114,38 @@ Refer to the Provided Files table below to see what files use which methods, and
95
  | Name | Quant method | Bits | Size | Max RAM required | Use case |
96
  | ---- | ---- | ---- | ---- | ---- | ----- |
97
  | [mixtral-8x7b-v0.1.Q2_K.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q2_K.gguf) | Q2_K | 2 | 15.64 GB| 18.14 GB | smallest, significant quality loss - not recommended for most purposes |
98
- | [mixtral-8x7b-v0.1.Q3_K.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q3_K_M.gguf) | Q3_K_M | 3 | 20.36 GB| 22.86 GB | very small, high quality loss |
99
  | [mixtral-8x7b-v0.1.Q4_0.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q4_0.gguf) | Q4_0 | 4 | 26.44 GB| 28.94 GB | legacy; small, very high quality loss - prefer using Q3_K_M |
 
 
100
  | [mixtral-8x7b-v0.1.Q5_0.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q5_0.gguf) | Q5_0 | 5 | 32.23 GB| 34.73 GB | legacy; medium, balanced quality - prefer using Q4_K_M |
 
101
  | [mixtral-8x7b-v0.1.Q6_K.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q6_K.gguf) | Q6_K | 6 | 38.38 GB| 40.88 GB | very large, extremely low quality loss |
102
  | [mixtral-8x7b-v0.1.Q8_0.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q8_0.gguf) | Q8_0 | 8 | 49.62 GB| 52.12 GB | very large, extremely low quality loss - not recommended |
103
 
104
  **Note**: the above RAM figures assume no GPU offloading. If layers are offloaded to the GPU, this will reduce RAM usage and use VRAM instead.
105
 
 
 
106
  <!-- README_GGUF.md-provided-files end -->
 
107
  <!-- README_GGUF.md-how-to-download start -->
108
  ## How to download GGUF files
109
 
110
  **Note for manual downloaders:** You almost never want to clone the entire repo! Multiple different quantisation formats are provided, and most users only want to pick and download a single file.
111
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  ### On the command line, including multiple files at once
113
 
114
  I recommend using the `huggingface-hub` Python library:
@@ -153,7 +190,7 @@ Windows Command Line users: You can set the environment variable by running `set
153
  <!-- README_GGUF.md-how-to-run start -->
154
  ## Example `llama.cpp` command
155
 
156
- Make sure you are using `llama.cpp` from [PR 4406](https://github.com/ggerganov/llama.cpp/pull/4406)
157
 
158
  ```shell
159
  ./main -ngl 35 -m mixtral-8x7b-v0.1.Q4_K_M.gguf --color -c 32768 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "{prompt}"
@@ -169,11 +206,82 @@ For other parameters and how to use them, please refer to [the llama.cpp documen
169
 
170
  ## How to run in `text-generation-webui`
171
 
172
- Not currently supported.
173
 
174
  ## How to run from Python code
175
 
176
- Not currently supported.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
 
178
  <!-- footer start -->
179
  <!-- 200823 -->
 
42
  <!-- description start -->
43
  ## Description
44
 
45
+ This repo contains GGUF format model files for [Mistral AI_'s Mixtral 8X7B v0.1](https://huggingface.co/mistralai/Mixtral-8x7B-v0.1).
46
 
47
+ <!-- description end -->
48
+ <!-- README_GGUF.md-about-gguf start -->
49
+ ### About GGUF
50
 
51
+ GGUF is a new format introduced by the llama.cpp team on August 21st 2023. It is a replacement for GGML, which is no longer supported by llama.cpp.
52
 
53
+ Here is an incomplete list of clients and libraries that are known to support GGUF:
54
 
55
+ * [llama.cpp](https://github.com/ggerganov/llama.cpp). The source project for GGUF. Offers a CLI and a server option.
56
+ * [text-generation-webui](https://github.com/oobabooga/text-generation-webui), the most widely used web UI, with many features and powerful extensions. Supports GPU acceleration.
57
+ * [KoboldCpp](https://github.com/LostRuins/koboldcpp), a fully featured web UI, with GPU accel across all platforms and GPU architectures. Especially good for story telling.
58
+ * [GPT4All](https://gpt4all.io/index.html), a free and open source local running GUI, supporting Windows, Linux and macOS with full GPU accel.
59
+ * [LM Studio](https://lmstudio.ai/), an easy-to-use and powerful local GUI for Windows and macOS (Silicon), with GPU acceleration. Linux available, in beta as of 27/11/2023.
60
+ * [LoLLMS Web UI](https://github.com/ParisNeo/lollms-webui), a great web UI with many interesting and unique features, including a full model library for easy model selection.
61
+ * [Faraday.dev](https://faraday.dev/), an attractive and easy to use character-based chat GUI for Windows and macOS (both Silicon and Intel), with GPU acceleration.
62
+ * [llama-cpp-python](https://github.com/abetlen/llama-cpp-python), a Python library with GPU accel, LangChain support, and OpenAI-compatible API server.
63
+ * [candle](https://github.com/huggingface/candle), a Rust ML framework with a focus on performance, including GPU support, and ease of use.
64
+ * [ctransformers](https://github.com/marella/ctransformers), a Python library with GPU accel, LangChain support, and OpenAI-compatible AI server. Note, as of time of writing (November 27th 2023), ctransformers has not been updated in a long time and does not support many recent models.
65
 
66
+ <!-- README_GGUF.md-about-gguf end -->
67
  <!-- repositories-available start -->
68
  ## Repositories available
69
 
70
+ * [AWQ model(s) for GPU inference.](https://huggingface.co/TheBloke/mixtral-8x7b-v0.1-AWQ)
71
+ * [GPTQ models for GPU inference, with multiple quantisation parameter options.](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GPTQ)
72
  * [2, 3, 4, 5, 6 and 8-bit GGUF models for CPU+GPU inference](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF)
73
  * [Mistral AI_'s original unquantised fp16 model in pytorch format, for GPU inference and for further conversions](https://huggingface.co/mistralai/Mixtral-8x7B-v0.1)
74
  <!-- repositories-available end -->
 
78
 
79
  ```
80
  {prompt}
81
+
82
  ```
83
+
84
  <!-- prompt-template end -->
85
 
86
+
87
+ <!-- compatibility_gguf start -->
88
+ ## Compatibility
89
+
90
+ These quantised GGUFv2 files are compatible with llama.cpp from August 27th onwards, as of commit [d0cee0d](https://github.com/ggerganov/llama.cpp/commit/d0cee0d36d5be95a0d9088b674dbb27354107221)
91
+
92
+ They are also compatible with many third party UIs and libraries - please see the list at the top of this README.
93
+
94
  ## Explanation of quantisation methods
95
 
96
  <details>
 
114
  | Name | Quant method | Bits | Size | Max RAM required | Use case |
115
  | ---- | ---- | ---- | ---- | ---- | ----- |
116
  | [mixtral-8x7b-v0.1.Q2_K.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q2_K.gguf) | Q2_K | 2 | 15.64 GB| 18.14 GB | smallest, significant quality loss - not recommended for most purposes |
117
+ | [mixtral-8x7b-v0.1.Q3_K_M.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q3_K_M.gguf) | Q3_K_M | 3 | 20.36 GB| 22.86 GB | very small, high quality loss |
118
  | [mixtral-8x7b-v0.1.Q4_0.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q4_0.gguf) | Q4_0 | 4 | 26.44 GB| 28.94 GB | legacy; small, very high quality loss - prefer using Q3_K_M |
119
+ | [mixtral-8x7b-v0.1.Q4_K_M.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q4_K_M.gguf) | Q4_K_M | 4 | 26.44 GB| 28.94 GB | medium, balanced quality - recommended |
120
+ | [mixtral-8x7b-v0.1.Q5_K.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q5_K.gguf) | Q5_K | 5 | 32.23 GB| 34.73 GB | alias for Q5_K_M |
121
  | [mixtral-8x7b-v0.1.Q5_0.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q5_0.gguf) | Q5_0 | 5 | 32.23 GB| 34.73 GB | legacy; medium, balanced quality - prefer using Q4_K_M |
122
+ | [mixtral-8x7b-v0.1.Q5_K_M.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q5_K_M.gguf) | Q5_K_M | 5 | 32.23 GB| 34.73 GB | large, very low quality loss - recommended |
123
  | [mixtral-8x7b-v0.1.Q6_K.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q6_K.gguf) | Q6_K | 6 | 38.38 GB| 40.88 GB | very large, extremely low quality loss |
124
  | [mixtral-8x7b-v0.1.Q8_0.gguf](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q8_0.gguf) | Q8_0 | 8 | 49.62 GB| 52.12 GB | very large, extremely low quality loss - not recommended |
125
 
126
  **Note**: the above RAM figures assume no GPU offloading. If layers are offloaded to the GPU, this will reduce RAM usage and use VRAM instead.
127
 
128
+
129
+
130
  <!-- README_GGUF.md-provided-files end -->
131
+
132
  <!-- README_GGUF.md-how-to-download start -->
133
  ## How to download GGUF files
134
 
135
  **Note for manual downloaders:** You almost never want to clone the entire repo! Multiple different quantisation formats are provided, and most users only want to pick and download a single file.
136
 
137
+ The following clients/libraries will automatically download models for you, providing a list of available models to choose from:
138
+
139
+ * LM Studio
140
+ * LoLLMS Web UI
141
+ * Faraday.dev
142
+
143
+ ### In `text-generation-webui`
144
+
145
+ Under Download Model, you can enter the model repo: TheBloke/Mixtral-8x7B-v0.1-GGUF and below it, a specific filename to download, such as: mixtral-8x7b-v0.1.Q4_K_M.gguf.
146
+
147
+ Then click Download.
148
+
149
  ### On the command line, including multiple files at once
150
 
151
  I recommend using the `huggingface-hub` Python library:
 
190
  <!-- README_GGUF.md-how-to-run start -->
191
  ## Example `llama.cpp` command
192
 
193
+ Make sure you are using `llama.cpp` from commit [d0cee0d](https://github.com/ggerganov/llama.cpp/commit/d0cee0d36d5be95a0d9088b674dbb27354107221) or later.
194
 
195
  ```shell
196
  ./main -ngl 35 -m mixtral-8x7b-v0.1.Q4_K_M.gguf --color -c 32768 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "{prompt}"
 
206
 
207
  ## How to run in `text-generation-webui`
208
 
209
+ Further instructions can be found in the text-generation-webui documentation, here: [text-generation-webui/docs/04 ‐ Model Tab.md](https://github.com/oobabooga/text-generation-webui/blob/main/docs/04%20%E2%80%90%20Model%20Tab.md#llamacpp).
210
 
211
  ## How to run from Python code
212
 
213
+ You can use GGUF models from Python using the [llama-cpp-python](https://github.com/abetlen/llama-cpp-python) or [ctransformers](https://github.com/marella/ctransformers) libraries. Note that at the time of writing (Nov 27th 2023), ctransformers has not been updated for some time and is not compatible with some recent models. Therefore I recommend you use llama-cpp-python.
214
+
215
+ ### How to load this model in Python code, using llama-cpp-python
216
+
217
+ For full documentation, please see: [llama-cpp-python docs](https://abetlen.github.io/llama-cpp-python/).
218
+
219
+ #### First install the package
220
+
221
+ Run one of the following commands, according to your system:
222
+
223
+ ```shell
224
+ # Base ctransformers with no GPU acceleration
225
+ pip install llama-cpp-python
226
+ # With NVidia CUDA acceleration
227
+ CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python
228
+ # Or with OpenBLAS acceleration
229
+ CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS" pip install llama-cpp-python
230
+ # Or with CLBLast acceleration
231
+ CMAKE_ARGS="-DLLAMA_CLBLAST=on" pip install llama-cpp-python
232
+ # Or with AMD ROCm GPU acceleration (Linux only)
233
+ CMAKE_ARGS="-DLLAMA_HIPBLAS=on" pip install llama-cpp-python
234
+ # Or with Metal GPU acceleration for macOS systems only
235
+ CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-python
236
+
237
+ # In windows, to set the variables CMAKE_ARGS in PowerShell, follow this format; eg for NVidia CUDA:
238
+ $env:CMAKE_ARGS = "-DLLAMA_OPENBLAS=on"
239
+ pip install llama-cpp-python
240
+ ```
241
+
242
+ #### Simple llama-cpp-python example code
243
+
244
+ ```python
245
+ from llama_cpp import Llama
246
+
247
+ # Set gpu_layers to the number of layers to offload to GPU. Set to 0 if no GPU acceleration is available on your system.
248
+ llm = Llama(
249
+ model_path="./mixtral-8x7b-v0.1.Q4_K_M.gguf", # Download the model file first
250
+ n_ctx=32768, # The max sequence length to use - note that longer sequence lengths require much more resources
251
+ n_threads=8, # The number of CPU threads to use, tailor to your system and the resulting performance
252
+ n_gpu_layers=35 # The number of layers to offload to GPU, if you have GPU acceleration available
253
+ )
254
+
255
+ # Simple inference example
256
+ output = llm(
257
+ "{prompt}", # Prompt
258
+ max_tokens=512, # Generate up to 512 tokens
259
+ stop=["</s>"], # Example stop token - not necessarily correct for this specific model! Please check before using.
260
+ echo=True # Whether to echo the prompt
261
+ )
262
+
263
+ # Chat Completion API
264
+
265
+ llm = Llama(model_path="./mixtral-8x7b-v0.1.Q4_K_M.gguf", chat_format="llama-2") # Set chat_format according to the model you are using
266
+ llm.create_chat_completion(
267
+ messages = [
268
+ {"role": "system", "content": "You are a story writing assistant."},
269
+ {
270
+ "role": "user",
271
+ "content": "Write a story about llamas."
272
+ }
273
+ ]
274
+ )
275
+ ```
276
+
277
+ ## How to use with LangChain
278
+
279
+ Here are guides on using llama-cpp-python and ctransformers with LangChain:
280
+
281
+ * [LangChain + llama-cpp-python](https://python.langchain.com/docs/integrations/llms/llamacpp)
282
+ * [LangChain + ctransformers](https://python.langchain.com/docs/integrations/providers/ctransformers)
283
+
284
+ <!-- README_GGUF.md-how-to-run end -->
285
 
286
  <!-- footer start -->
287
  <!-- 200823 -->