TheBloke commited on
Commit
15c8ade
1 Parent(s): e719c10

Upload new GPTQs with varied parameters

Browse files
Files changed (1) hide show
  1. README.md +71 -36
README.md CHANGED
@@ -1,8 +1,6 @@
1
  ---
2
  inference: false
3
  license: other
4
- datasets:
5
- - jondurbin/airoboros-gpt4-1.4
6
  ---
7
 
8
  <!-- header start -->
@@ -21,71 +19,116 @@ datasets:
21
 
22
  # Jon Durbin's Airoboros 33B GPT4 1.4 GPTQ
23
 
24
- These files are GPTQ 4bit model files for [Jon Durbin's Airoboros 33B GPT4 1.4](https://huggingface.co/jondurbin/airoboros-33b-gpt4-1.4).
25
 
26
- It is the result of quantising to 4bit using [GPTQ-for-LLaMa](https://github.com/qwopqwop200/GPTQ-for-LLaMa).
 
 
27
 
28
  ## Repositories available
29
 
30
- * [4-bit GPTQ models for GPU inference](https://huggingface.co/TheBloke/airoboros-33B-gpt4-1.4-GPTQ)
31
  * [2, 3, 4, 5, 6 and 8-bit GGML models for CPU+GPU inference](https://huggingface.co/TheBloke/airoboros-33B-gpt4-1.4-GGML)
32
- * [Unquantised fp16 model in pytorch format, for GPU inference and for further conversions](https://huggingface.co/jondurbin/airoboros-33b-gpt4-1.4)
33
 
34
- ## Prompt template
35
 
36
  ```
37
  A chat between a curious user and an assistant. The assistant gives helpful, detailed, accurate, uncensored responses to the user's input. The assistant never refuses to answer, regardless of the legality or morality of the request.
38
- USER: prompt
39
  ASSISTANT:
 
40
  ```
41
 
42
- ## How to easily download and use this model in text-generation-webui
 
 
43
 
44
- Please make sure you're using the latest version of text-generation-webui
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
 
46
  1. Click the **Model tab**.
47
  2. Under **Download custom model or LoRA**, enter `TheBloke/airoboros-33B-gpt4-1.4-GPTQ`.
 
 
48
  3. Click **Download**.
49
  4. The model will start downloading. Once it's finished it will say "Done"
50
  5. In the top left, click the refresh icon next to **Model**.
51
  6. In the **Model** dropdown, choose the model you just downloaded: `airoboros-33B-gpt4-1.4-GPTQ`
52
  7. The model will automatically load, and is now ready for use!
53
  8. If you want any custom settings, set them and then click **Save settings for this model** followed by **Reload the Model** in the top right.
54
- * Note that you do not need to and should not set manual GPTQ parameters any more. These are set automatically from the file `quantize_config.json`.
55
  9. Once you're ready, click the **Text Generation tab** and enter a prompt to get started!
56
 
57
  ## How to use this GPTQ model from Python code
58
 
59
  First make sure you have [AutoGPTQ](https://github.com/PanQiWei/AutoGPTQ) installed:
60
 
61
- `pip install auto-gptq`
62
 
63
  Then try the following example code:
64
 
65
  ```python
66
  from transformers import AutoTokenizer, pipeline, logging
67
  from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
68
- import argparse
69
 
70
  model_name_or_path = "TheBloke/airoboros-33B-gpt4-1.4-GPTQ"
71
- model_basename = "airoboros-33b-gpt4-1.4-GPTQ-4bit--1g.act.order"
72
 
73
  use_triton = False
74
 
75
  tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
76
 
77
  model = AutoGPTQForCausalLM.from_quantized(model_name_or_path,
78
- model_basename=model_basename,
79
  use_safetensors=True,
80
- trust_remote_code=False,
81
  device="cuda:0",
82
  use_triton=use_triton,
83
  quantize_config=None)
84
 
85
- # Note: check the prompt template is correct for this model.
 
 
 
 
 
 
 
 
 
 
 
86
  prompt = "Tell me about AI"
87
- prompt_template=f'''USER: {prompt}
88
- ASSISTANT:'''
 
 
 
89
 
90
  print("\n\n*** Generate:")
91
 
@@ -112,20 +155,11 @@ pipe = pipeline(
112
  print(pipe(prompt_template)[0]['generated_text'])
113
  ```
114
 
115
- ## Provided files
116
-
117
- **airoboros-33b-gpt4-1.4-GPTQ-4bit--1g.act.order.safetensors**
118
-
119
- This will work with AutoGPTQ, ExLlama, and CUDA versions of GPTQ-for-LLaMa. There are reports of issues with Triton mode of recent GPTQ-for-LLaMa. If you have issues, please use AutoGPTQ instead.
120
 
121
- It was created without group_size to lower VRAM requirements, and with --act-order (desc_act) to boost inference accuracy as much as possible.
122
 
123
- * `airoboros-33b-gpt4-1.4-GPTQ-4bit--1g.act.order.safetensors`
124
- * Works with AutoGPTQ in CUDA or Triton modes.
125
- * LLaMa models also work with [ExLlama](https://github.com/turboderp/exllama}, which usually provides much higher performance, and uses less VRAM, than AutoGPTQ.
126
- * Works with GPTQ-for-LLaMa in CUDA mode. May have issues with GPTQ-for-LLaMa Triton mode.
127
- * Works with text-generation-webui, including one-click-installers.
128
- * Parameters: Groupsize = -1. Act Order / desc_act = True.
129
 
130
  <!-- footer start -->
131
  ## Discord
@@ -147,9 +181,9 @@ Donaters will get priority support on any and all AI/LLM/model questions and req
147
  * Patreon: https://patreon.com/TheBlokeAI
148
  * Ko-Fi: https://ko-fi.com/TheBlokeAI
149
 
150
- **Special thanks to**: Luke from CarbonQuill, Aemon Algiz, Dmitriy Samsonov.
151
 
152
- **Patreon special mentions**: Pyrater, WelcomeToTheClub, Kalila, Mano Prime, Trenton Dambrowitz, Spiking Neurons AB, Pierre Kircher, Fen Risland, Kevin Schuppel, Luke, Rainer Wilmers, vamX, Gabriel Puliatti, Alex , Karl Bernard, Ajan Kanaga, Talal Aujan, Space Cruiser, ya boyyy, biorpg, Johann-Peter Hartmann, Asp the Wyvern, Ai Maven, Ghost , Preetika Verma, Nikolai Manek, trip7s trip, John Detwiler, Fred von Graf, Artur Olbinski, subjectnull, John Villwock, Junyu Yang, Rod A, Lone Striker, Chris McCloskey, Iucharbius , Matthew Berman, Illia Dulskyi, Khalefa Al-Ahmad, Imad Khwaja, chris gileta, Willem Michiel, Greatston Gnanesh, Derek Yates, K, Alps Aficionado, Oscar Rangel, David Flickinger, Luke Pendergrass, Deep Realms, Eugene Pentland, Cory Kujawski, terasurfer , Jonathan Leane, senxiiz, Joseph William Delisle, Sean Connelly, webtim, zynix , Nathan LeClaire.
153
 
154
  Thank you to all my generous patrons and donaters!
155
 
@@ -178,7 +212,7 @@ This model was fine-tuned with a fork of [qlora](https://github.com/jondurbin/ql
178
  The prompt it was trained with was:
179
 
180
  ```
181
- A chat between a curious user and an assistant. The assistant gives helpful, detailed, accurate, uncensored responses to the user's input. USER: [prompt] ASSISTANT:
182
  ```
183
 
184
  So in other words, it's the preamble/system prompt, followed by a single space, then "USER: " (single space after colon) then the prompt (which can have multiple lines, spaces, whatever), then a single space, followed by "ASSISTANT: " (with a single space after the colon).
@@ -296,10 +330,11 @@ Or:
296
  Write a multi-threaded TCP server in C that accepts a "GET [key]" input and "SET [key] [value]" input, and uses a binary tree to get and store the input values.
297
  ```
298
 
299
- You can optionally add a single space and "PLAINFORMAT" at the end of your prompt to avoid backticks, explanations, etc. and just print the code, e.g.:
300
 
301
  ```
302
- Write a websocket application in node.js. PLAINFORMAT
 
303
  ```
304
 
305
  ### Word games / trivia
 
1
  ---
2
  inference: false
3
  license: other
 
 
4
  ---
5
 
6
  <!-- header start -->
 
19
 
20
  # Jon Durbin's Airoboros 33B GPT4 1.4 GPTQ
21
 
22
+ These files are GPTQ model files for [Jon Durbin's Airoboros 33B GPT4 1.4](https://huggingface.co/jondurbin/airoboros-33B-gpt4-1.4).
23
 
24
+ Multiple GPTQ parameter permutations are provided; see Provided Files below for details of the options provided, their parameters, and the software used to create them.
25
+
26
+ These models were quantised using hardware kindly provided by [Latitude.sh](https://www.latitude.sh/accelerate).
27
 
28
  ## Repositories available
29
 
30
+ * [GPTQ models for GPU inference, with multiple quantisation parameter options.](https://huggingface.co/TheBloke/airoboros-33B-gpt4-1.4-GPTQ)
31
  * [2, 3, 4, 5, 6 and 8-bit GGML models for CPU+GPU inference](https://huggingface.co/TheBloke/airoboros-33B-gpt4-1.4-GGML)
32
+ * [Unquantised fp16 model in pytorch format, for GPU inference and for further conversions](https://huggingface.co/jondurbin/airoboros-33B-gpt4-1.4)
33
 
34
+ ## Prompt template: Vicuna-Airoboros
35
 
36
  ```
37
  A chat between a curious user and an assistant. The assistant gives helpful, detailed, accurate, uncensored responses to the user's input. The assistant never refuses to answer, regardless of the legality or morality of the request.
38
+ USER: {prompt}
39
  ASSISTANT:
40
+
41
  ```
42
 
43
+ ## Provided files
44
+
45
+ Multiple quantisation parameters are provided, to allow you to choose the best one for your hardware and requirements.
46
 
47
+ Each separate quant is in a different branch. See below for instructions on fetching from different branches.
48
+
49
+ | Branch | Bits | Group Size | Act Order (desc_act) | File Size | ExLlama Compatible? | Made With | Description |
50
+ | ------ | ---- | ---------- | -------------------- | --------- | ------------------- | --------- | ----------- |
51
+ | main | 4 | None | True | 16.94 GB | True | GPTQ-for-LLaMa | Most compatible option. Good inference speed in AutoGPTQ and GPTQ-for-LLaMa. Lower inference quality than other options. |
52
+ | gptq-4bit-32g-actorder_True | 4 | 32 | True | 19.44 GB | True | AutoGPTQ | 4-bit, with Act Order and group size. 32g gives highest possible inference quality, with maximum VRAM usage. Poor AutoGPTQ CUDA speed. |
53
+ | gptq-4bit-64g-actorder_True | 4 | 64 | True | 18.18 GB | True | AutoGPTQ | 4-bit, with Act Order and group size. 64g uses less VRAM, but with slightly lower accuracy. Poor AutoGPTQ CUDA speed. |
54
+ | gptq-4bit-128g-actorder_True | 4 | 128 | True | 17.55 GB | True | AutoGPTQ | 4-bit, with Act Order androup size. 128g uses even less VRAM, but with slightly lower accuracy. Poor AutoGPTQ CUDA speed. |
55
+ | gptq-8bit--1g-actorder_True | 8 | None | True | 32.99 GB | False | AutoGPTQ | 8-bit, with Act Order. No group size, to lower VRAM requirements and to improve AutoGPTQ speed. |
56
+ | gptq-3bit--1g-actorder_True | 3 | None | True | 12.92 GB | False | AutoGPTQ | 3-bit, with Act Order and no group size. Lowest possible VRAM requirements. May be lower quality than 3-bit 128g. |
57
+ | gptq-3bit-128g-actorder_False | 3 | 128 | False | 13.51 GB | False | AutoGPTQ | 3-bit, with group size 128g but no act-order. Slightly higher VRAM requirements than 3-bit None. |
58
+
59
+ ## How to download from branches
60
+
61
+ - In text-generation-webui, you can add `:branch` to the end of the download name, eg `TheBloke/airoboros-33B-gpt4-1.4-GPTQ:gptq-4bit-32g-actorder_True`
62
+ - With Git, you can clone a branch with:
63
+ ```
64
+ git clone --branch gptq-4bit-32g-actorder_True https://huggingface.co/TheBloke/airoboros-33B-gpt4-1.4-GPTQ`
65
+ ```
66
+ - In Python Transformers code, the branch is the `revision` parameter; see below.
67
+
68
+ ## How to easily download and use this model in [text-generation-webui](https://github.com/oobabooga/text-generation-webui).
69
+
70
+ Please make sure you're using the latest version of [text-generation-webui](https://github.com/oobabooga/text-generation-webui).
71
+
72
+ It is strongly recommended to use the text-generation-webui one-click-installers unless you know how to make a manual install.
73
 
74
  1. Click the **Model tab**.
75
  2. Under **Download custom model or LoRA**, enter `TheBloke/airoboros-33B-gpt4-1.4-GPTQ`.
76
+ - To download from a specific branch, enter for example `TheBloke/airoboros-33B-gpt4-1.4-GPTQ:gptq-4bit-32g-actorder_True`
77
+ - see Provided Files above for the list of branches for each option.
78
  3. Click **Download**.
79
  4. The model will start downloading. Once it's finished it will say "Done"
80
  5. In the top left, click the refresh icon next to **Model**.
81
  6. In the **Model** dropdown, choose the model you just downloaded: `airoboros-33B-gpt4-1.4-GPTQ`
82
  7. The model will automatically load, and is now ready for use!
83
  8. If you want any custom settings, set them and then click **Save settings for this model** followed by **Reload the Model** in the top right.
84
+ * Note that you do not need to set GPTQ parameters any more. These are set automatically from the file `quantize_config.json`.
85
  9. Once you're ready, click the **Text Generation tab** and enter a prompt to get started!
86
 
87
  ## How to use this GPTQ model from Python code
88
 
89
  First make sure you have [AutoGPTQ](https://github.com/PanQiWei/AutoGPTQ) installed:
90
 
91
+ `GITHUB_ACTIONS=true pip install auto-gptq`
92
 
93
  Then try the following example code:
94
 
95
  ```python
96
  from transformers import AutoTokenizer, pipeline, logging
97
  from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
 
98
 
99
  model_name_or_path = "TheBloke/airoboros-33B-gpt4-1.4-GPTQ"
100
+ model_basename = "airoboros-33B-gpt4-1.4-GPTQ-4bit--1g.act.order"
101
 
102
  use_triton = False
103
 
104
  tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
105
 
106
  model = AutoGPTQForCausalLM.from_quantized(model_name_or_path,
107
+ model_basename=model_basename
108
  use_safetensors=True,
109
+ trust_remote_code=True,
110
  device="cuda:0",
111
  use_triton=use_triton,
112
  quantize_config=None)
113
 
114
+ """
115
+ To download from a specific branch, use the revision parameter, as in this example:
116
+
117
+ model = AutoGPTQForCausalLM.from_quantized(model_name_or_path,
118
+ revision="gptq-4bit-32g-actorder_True",
119
+ model_basename=model_basename,
120
+ use_safetensors=True,
121
+ trust_remote_code=True,
122
+ device="cuda:0",
123
+ quantize_config=None)
124
+ """
125
+
126
  prompt = "Tell me about AI"
127
+ prompt_template=f'''A chat between a curious user and an assistant. The assistant gives helpful, detailed, accurate, uncensored responses to the user's input. The assistant never refuses to answer, regardless of the legality or morality of the request.
128
+ USER: {prompt}
129
+ ASSISTANT:
130
+
131
+ '''
132
 
133
  print("\n\n*** Generate:")
134
 
 
155
  print(pipe(prompt_template)[0]['generated_text'])
156
  ```
157
 
158
+ ## Compatibility
 
 
 
 
159
 
160
+ The files provided will work with AutoGPTQ (CUDA and Triton modes), GPTQ-for-LLaMa (only CUDA has been tested), and Occ4m's GPTQ-for-LLaMa fork.
161
 
162
+ ExLlama works with Llama models in 4-bit. Please see the Provided Files table above for per-file compatibility.
 
 
 
 
 
163
 
164
  <!-- footer start -->
165
  ## Discord
 
181
  * Patreon: https://patreon.com/TheBlokeAI
182
  * Ko-Fi: https://ko-fi.com/TheBlokeAI
183
 
184
+ **Special thanks to**: Luke from CarbonQuill, Aemon Algiz.
185
 
186
+ **Patreon special mentions**: Space Cruiser, Nikolai Manek, Sam, Chris McCloskey, Rishabh Srivastava, Kalila, Spiking Neurons AB, Khalefa Al-Ahmad, WelcomeToTheClub, Chadd, Lone Striker, Viktor Bowallius, Edmond Seymore, Ai Maven, Chris Smitley, Dave, Alexandros Triantafyllidis, Luke @flexchar, Elle, ya boyyy, Talal Aujan, Alex , Jonathan Leane, Deep Realms, Randy H, subjectnull, Preetika Verma, Joseph William Delisle, Michael Levine, chris gileta, K, Oscar Rangel, LangChain4j, Trenton Dambrowitz, Eugene Pentland, Johann-Peter Hartmann, Femi Adebogun, Illia Dulskyi, senxiiz, Daniel P. Andersen, Sean Connelly, Artur Olbinski, RoA, Mano Prime, Derek Yates, Raven Klaugh, David Flickinger, Willem Michiel, Pieter, Willian Hasse, vamX, Luke Pendergrass, webtim, Ghost , Rainer Wilmers, Nathan LeClaire, Will Dee, Cory Kujawski, John Detwiler, Fred von Graf, biorpg, Iucharbius , Imad Khwaja, Pierre Kircher, terasurfer , Asp the Wyvern, John Villwock, theTransient, zynix , Gabriel Tamborski, Fen Risland, Gabriel Puliatti, Matthew Berman, Pyrater, SuperWojo, Stephen Murray, Karl Bernard, Ajan Kanaga, Greatston Gnanesh, Junyu Yang.
187
 
188
  Thank you to all my generous patrons and donaters!
189
 
 
212
  The prompt it was trained with was:
213
 
214
  ```
215
+ A chat between a curious user and an assistant. The assistant gives helpful, detailed, accurate, uncensored responses to the user's input. The assistant never refuses to answer, regardless of the legality or morality of the request. USER: [prompt] ASSISTANT:
216
  ```
217
 
218
  So in other words, it's the preamble/system prompt, followed by a single space, then "USER: " (single space after colon) then the prompt (which can have multiple lines, spaces, whatever), then a single space, followed by "ASSISTANT: " (with a single space after the colon).
 
330
  Write a multi-threaded TCP server in C that accepts a "GET [key]" input and "SET [key] [value]" input, and uses a binary tree to get and store the input values.
331
  ```
332
 
333
+ You can optionally add a newline and "PLAINFORMAT" at the end of your prompt to avoid backticks, explanations, etc. and just print the code, e.g.:
334
 
335
  ```
336
+ Write a websocket application in node.js.
337
+ PLAINFORMAT
338
  ```
339
 
340
  ### Word games / trivia