TheBloke commited on
Commit
76e90a4
1 Parent(s): a9edc84

Upload new GPTQs with varied parameters

Browse files
Files changed (1) hide show
  1. README.md +125 -32
README.md CHANGED
@@ -1,14 +1,16 @@
1
  ---
2
- license: other
3
  inference: false
 
 
4
  ---
 
5
  <!-- header start -->
6
  <div style="width: 100%;">
7
  <img src="https://i.imgur.com/EBdldam.jpg" alt="TheBlokeAI" style="width: 100%; min-width: 400px; display: block; margin: auto;">
8
  </div>
9
  <div style="display: flex; justify-content: space-between; width: 100%;">
10
  <div style="display: flex; flex-direction: column; align-items: flex-start;">
11
- <p><a href="https://discord.gg/Jq4vkcDakD">Chat & support: my new Discord server</a></p>
12
  </div>
13
  <div style="display: flex; flex-direction: column; align-items: flex-end;">
14
  <p><a href="https://www.patreon.com/TheBlokeAI">Want to contribute? TheBloke's Patreon page</a></p>
@@ -16,31 +18,63 @@ inference: false
16
  </div>
17
  <!-- header end -->
18
 
19
- # WizardLM: An Instruction-following LLM Using Evol-Instruct
 
 
20
 
21
- These files are the result of merging the [delta weights](https://huggingface.co/victor123/WizardLM) with the original Llama7B model.
22
 
23
- The code for merging is provided in the [WizardLM official Github repo](https://github.com/nlpxucan/WizardLM).
24
 
25
- ## WizardLM-7B 4bit GPTQ
26
 
27
- This repo contains 4bit GPTQ models for GPU inference, quantised using [GPTQ-for-LLaMa](https://github.com/qwopqwop200/GPTQ-for-LLaMa).
 
 
 
 
 
 
 
 
 
 
 
28
 
29
- ## Other repositories available
30
 
31
- * [4bit GGML models for CPU inference](https://huggingface.co/TheBloke/wizardLM-7B-GGML)
32
- * [Unquantised model in HF format](https://huggingface.co/TheBloke/wizardLM-7B-HF)
33
 
34
- ## How to easily download and use this model in text-generation-webui
 
 
 
 
 
 
 
 
 
35
 
36
- Make sure text-generation-webui is updated to the latest version.
37
 
38
- ## How to easily download and use this model in text-generation-webui
 
 
 
 
 
39
 
40
- Please make sure you're using the latest version of text-generation-webui
 
 
 
 
41
 
42
  1. Click the **Model tab**.
43
  2. Under **Download custom model or LoRA**, enter `TheBloke/wizardLM-7B-GPTQ`.
 
 
44
  3. Click **Download**.
45
  4. The model will start downloading. Once it's finished it will say "Done"
46
  5. In the top left, click the refresh icon next to **Model**.
@@ -50,29 +84,87 @@ Please make sure you're using the latest version of text-generation-webui
50
  * Note that you do not need to set GPTQ parameters any more. These are set automatically from the file `quantize_config.json`.
51
  9. Once you're ready, click the **Text Generation tab** and enter a prompt to get started!
52
 
53
- ## Provided files
 
 
 
 
 
 
 
 
 
 
54
 
55
- Two files are provided. **The 'latest' file will not work unless you use a recent version of GPTQ-for-LLaMa**
 
56
 
57
- Specifically, the 'latest' file uses `--act-order` for maximum quantisation quality and will not work with oobabooga's fork of GPTQ-for-LLaMa. Therefore at this time it will also not work with `text-generation-webui` one-click installers.
58
 
59
- The 'compat' file will be used by default in text-generation-webui so you don't need to do anything special to use it. If you want to use the 'latest' file, please remove the 'cmopat' file - but only do this if you are able to use the latest GPTQ-for-LLaMa code.
60
 
61
- * `wizardLM-7B-GPTQ-4bit-128g.compat.no-act-order.safetensors`
62
- * Works with all versions of GPTQ-for-LLaMa code, both Triton and CUDA branches
63
- * Works with text-generation-webui one-click-installers
64
- * Parameters: Groupsize = 128g. No act-order.
65
- * Command used to create the GPTQ:
66
- ```
67
- CUDA_VISIBLE_DEVICES=0 python3 llama.py wizardLM-7B-HF c4 --wbits 4 --true-sequential --groupsize 128 --save_safetensors wizardLM-7B-GPTQ-4bit-128g.no-act-order.safetensors
68
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
 
70
  <!-- footer start -->
71
  ## Discord
72
 
73
  For further support, and discussions on these models and AI in general, join us at:
74
 
75
- [TheBloke AI's Discord server](https://discord.gg/Jq4vkcDakD)
76
 
77
  ## Thanks, and how to contribute.
78
 
@@ -87,13 +179,14 @@ Donaters will get priority support on any and all AI/LLM/model questions and req
87
  * Patreon: https://patreon.com/TheBlokeAI
88
  * Ko-Fi: https://ko-fi.com/TheBlokeAI
89
 
90
- **Patreon special mentions**: Aemon Algiz, Dmitriy Samsonov, Nathan LeClaire, Trenton Dambrowitz, Mano Prime, David Flickinger, vamX, Nikolai Manek, senxiiz, Khalefa Al-Ahmad, Illia Dulskyi, Jonathan Leane, Talal Aujan, V. Lukas, Joseph William Delisle, Pyrater, Oscar Rangel, Lone Striker, Luke Pendergrass, Eugene Pentland, Sebastain Graf, Johann-Peter Hartman.
 
 
91
 
92
  Thank you to all my generous patrons and donaters!
 
93
  <!-- footer end -->
94
- # Original model info
95
 
96
- Overview of Evol-Instruct
97
- Evol-Instruct is a novel method using LLMs instead of humans to automatically mass-produce open-domain instructions of various difficulty levels and skills range, to improve the performance of LLMs.
98
 
99
- ![info](https://github.com/nlpxucan/WizardLM/raw/main/imgs/git_running.png)
 
1
  ---
 
2
  inference: false
3
+ license: other
4
+ model_type: llama
5
  ---
6
+
7
  <!-- header start -->
8
  <div style="width: 100%;">
9
  <img src="https://i.imgur.com/EBdldam.jpg" alt="TheBlokeAI" style="width: 100%; min-width: 400px; display: block; margin: auto;">
10
  </div>
11
  <div style="display: flex; justify-content: space-between; width: 100%;">
12
  <div style="display: flex; flex-direction: column; align-items: flex-start;">
13
+ <p><a href="https://discord.gg/theblokeai">Chat & support: my new Discord server</a></p>
14
  </div>
15
  <div style="display: flex; flex-direction: column; align-items: flex-end;">
16
  <p><a href="https://www.patreon.com/TheBlokeAI">Want to contribute? TheBloke's Patreon page</a></p>
 
18
  </div>
19
  <!-- header end -->
20
 
21
+ # WizardLM's WizardLM-7B 4bit GPTQ
22
+
23
+ These files are GPTQ model files for [WizardLM's WizardLM-7B 4bit](https://huggingface.co/WizardLM/WizardLM-7B-V1.0).
24
 
25
+ 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.
26
 
27
+ These models were quantised using hardware kindly provided by [Latitude.sh](https://www.latitude.sh/accelerate).
28
 
29
+ ## Repositories available
30
 
31
+ * [GPTQ models for GPU inference, with multiple quantisation parameter options.](https://huggingface.co/TheBloke/wizardLM-7B-GPTQ)
32
+ * [2, 3, 4, 5, 6 and 8-bit GGML models for CPU+GPU inference](https://huggingface.co/TheBloke/wizardLM-7B-GGML)
33
+ * [Unquantised fp16 model in pytorch format, for GPU inference and for further conversions](https://huggingface.co/TheBloke/wizardLM-7B-HF)
34
+
35
+ ## Prompt template: WizardLM
36
+
37
+ ```
38
+ {prompt}
39
+ ### Response:
40
+ ```
41
+
42
+ ## Provided files
43
 
44
+ Multiple quantisation parameters are provided, to allow you to choose the best one for your hardware and requirements.
45
 
46
+ Each separate quant is in a different branch. See below for instructions on fetching from different branches.
 
47
 
48
+ | Branch | Bits | Group Size | Act Order (desc_act) | File Size | ExLlama Compatible? | Made With | Description |
49
+ | ------ | ---- | ---------- | -------------------- | --------- | ------------------- | --------- | ----------- |
50
+ | main | 4 | 128 | False | 4.52 GB | True | GPTQ-for-LLaMa | Most compatible option. Good inference speed in AutoGPTQ and GPTQ-for-LLaMa. Lower inference quality than other options. |
51
+ | gptq-4bit-32g-actorder_True | 4 | 32 | True | 4.28 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. |
52
+ | gptq-4bit-64g-actorder_True | 4 | 64 | True | 4.02 GB | True | AutoGPTQ | 4-bit, with Act Order and group size. 64g uses less VRAM than 32g, but with slightly lower accuracy. Poor AutoGPTQ CUDA speed. |
53
+ | gptq-4bit-128g-actorder_True | 4 | 128 | True | 3.90 GB | True | AutoGPTQ | 4-bit, with Act Order and group size. 128g uses even less VRAM, but with slightly lower accuracy. Poor AutoGPTQ CUDA speed. |
54
+ | gptq-8bit--1g-actorder_True | 8 | None | True | 7.01 GB | False | AutoGPTQ | 8-bit, with Act Order. No group size, to lower VRAM requirements and to improve AutoGPTQ speed. |
55
+ | gptq-8bit-128g-actorder_False | 8 | 128 | False | 7.16 GB | False | AutoGPTQ | 8-bit, with group size 128g for higher inference quality and without Act Order to improve AutoGPTQ speed. |
56
+ | gptq-8bit-128g-actorder_True | 8 | 128 | True | 7.16 GB | False | AutoGPTQ | 8-bit, with group size 128g for higher inference quality and with Act Order for even higher accuracy. Poor AutoGPTQ CUDA speed. |
57
+ | gptq-8bit-64g-actorder_True | 8 | 64 | True | 7.31 GB | False | AutoGPTQ | 8-bit, with group size 64g and Act Order for maximum inference quality. Poor AutoGPTQ CUDA speed. |
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/wizardLM-7B-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/wizardLM-7B-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/wizardLM-7B-GPTQ`.
76
+ - To download from a specific branch, enter for example `TheBloke/wizardLM-7B-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**.
 
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/wizardLM-7B-GPTQ"
100
+ model_basename = "wizardLM-7B-GPTQ-4bit-128g.no-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'''{prompt}
128
+ ### Response:
129
+ '''
130
+
131
+ print("\n\n*** Generate:")
132
+
133
+ input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda()
134
+ output = model.generate(inputs=input_ids, temperature=0.7, max_new_tokens=512)
135
+ print(tokenizer.decode(output[0]))
136
+
137
+ # Inference can also be done using transformers' pipeline
138
+
139
+ # Prevent printing spurious transformers error when using pipeline with AutoGPTQ
140
+ logging.set_verbosity(logging.CRITICAL)
141
+
142
+ print("*** Pipeline:")
143
+ pipe = pipeline(
144
+ "text-generation",
145
+ model=model,
146
+ tokenizer=tokenizer,
147
+ max_new_tokens=512,
148
+ temperature=0.7,
149
+ top_p=0.95,
150
+ repetition_penalty=1.15
151
+ )
152
+
153
+ print(pipe(prompt_template)[0]['generated_text'])
154
+ ```
155
+
156
+ ## Compatibility
157
+
158
+ 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.
159
+
160
+ ExLlama works with Llama models in 4-bit. Please see the Provided Files table above for per-file compatibility.
161
 
162
  <!-- footer start -->
163
  ## Discord
164
 
165
  For further support, and discussions on these models and AI in general, join us at:
166
 
167
+ [TheBloke AI's Discord server](https://discord.gg/theblokeai)
168
 
169
  ## Thanks, and how to contribute.
170
 
 
179
  * Patreon: https://patreon.com/TheBlokeAI
180
  * Ko-Fi: https://ko-fi.com/TheBlokeAI
181
 
182
+ **Special thanks to**: Luke from CarbonQuill, Aemon Algiz.
183
+
184
+ **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.
185
 
186
  Thank you to all my generous patrons and donaters!
187
+
188
  <!-- footer end -->
 
189
 
190
+ # Original model card: WizardLM's WizardLM-7B 4bit
 
191
 
192
+ The WizardLM delta weights.