File size: 10,082 Bytes
b5acf9e
 
 
 
 
 
7d4ce81
 
 
b5acf9e
 
 
7d4ce81
b5acf9e
 
7d4ce81
b5acf9e
 
7d4ce81
 
b5acf9e
 
801c7f0
b5acf9e
d01e496
b5acf9e
 
 
 
 
51b177c
 
70b698b
51b177c
b5acf9e
2b4a214
 
 
 
 
 
 
 
 
b5acf9e
 
 
 
 
 
2b4a214
 
932b8dd
2b4a214
 
 
ca911d3
2b4a214
 
 
ca911d3
 
 
 
2b4a214
 
ca911d3
 
136a58a
ca911d3
2b4a214
 
 
b5acf9e
 
2b4a214
 
54909dd
b5acf9e
 
 
2b4a214
 
 
a91e6ff
b5acf9e
 
 
54909dd
 
b5acf9e
 
a91e6ff
b5acf9e
 
 
54909dd
b5acf9e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d01e496
b5acf9e
d01e496
 
b5acf9e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f77aaa6
b5acf9e
d01e496
b5acf9e
54909dd
 
 
 
 
 
 
 
2b4a214
54909dd
b5acf9e
7d4ce81
b5acf9e
 
 
 
7d4ce81
b5acf9e
 
 
 
 
 
 
 
 
 
 
 
 
 
7d4ce81
 
 
 
b5acf9e
5a93a21
7d4ce81
 
 
b5acf9e
 
801c7f0
b5acf9e
d01e496
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
---
license: apache-2.0
inference: false
---

<!-- header start -->
<!-- 200823 -->
<div style="width: auto; margin-left: auto; margin-right: auto">
<img src="https://i.imgur.com/EBdldam.jpg" alt="TheBlokeAI" style="width: 100%; min-width: 400px; display: block; margin: auto;">
</div>
<div style="display: flex; justify-content: space-between; width: 100%;">
    <div style="display: flex; flex-direction: column; align-items: flex-start;">
        <p style="margin-top: 0.5em; margin-bottom: 0em;"><a href="https://discord.gg/theblokeai">Chat & support: TheBloke's Discord server</a></p>
    </div>
    <div style="display: flex; flex-direction: column; align-items: flex-end;">
        <p style="margin-top: 0.5em; margin-bottom: 0em;"><a href="https://www.patreon.com/TheBlokeAI">Want to contribute? TheBloke's Patreon page</a></p>
    </div>
</div>
<div style="text-align:center; margin-top: 0em; margin-bottom: 0em"><p style="margin-top: 0.25em; margin-bottom: 0em;">TheBloke's LLM work is generously supported by a grant from <a href="https://a16z.com">andreessen horowitz (a16z)</a></p></div>
<hr style="margin-top: 1.0em; margin-bottom: 1.0em;">
<!-- header end -->

# Eric Hartford's WizardLM Uncensored Falcon 40B GPTQ

This repo contains an experimental GPTQ 4bit model of [Eric Hartford's WizardLM Uncensored Falcon 40B](https://huggingface.co/ehartford/WizardLM-Uncensored-Falcon-40b).

It is the result of quantising to 4bit using [AutoGPTQ](https://github.com/PanQiWei/AutoGPTQ).

## Repositories available

* [4-bit GPTQ model for GPU inference](https://huggingface.co/TheBloke/WizardLM-Uncensored-Falcon-40B-GPTQ)
* [3-bit GPTQ model for GPU inference](https://huggingface.co/TheBloke/WizardLM-Uncensored-Falcon-40B-3bit-GPTQ).
* [2, 3, 4, 5, 6 and 8-bit GGML models for CPU+GPU inference](https://huggingface.co/TheBloke/WizardLM-Uncensored-Falcon-40B-GGML)
* [Eric's unquantised fp16 model in pytorch format, for GPU inference and for further conversions](https://huggingface.co/ehartford/WizardLM-Uncensored-Falcon-40b)

### Prompt template

Prompt format is WizardLM.

```
What is a falcon?  Can I keep one as a pet?
### Response:
```

## EXPERIMENTAL

Please note this is an experimental GPTQ model. Support for it is currently quite limited.

It is also expected to be **VERY SLOW**. This is unavoidable at the moment, but is being looked at.

## text-generation-webui

This requires text-generation-webui version of commit `204731952ae59d79ea3805a425c73dd171d943c3` or newer.

So please first update text-generation-webui to the latest version.

## How to download and use this model in text-generation-webui

1. Launch text-generation-webui
2. Click the **Model tab**.
3. Untick **Autoload model**
4. Under **Download custom model or LoRA**, enter `TheBloke/WizardLM-Uncensored-Falcon-40B-GPTQ`.
5. Click **Download**.
6. Wait until it says it's finished downloading.
7. Click the **Refresh** icon next to **Model** in the top left.
8. In the **Model drop-down**: choose the model you just downloaded, `WizardLM-Uncensored-Falcon-40B-GPTQ`.
9. Make sure **Loader** is set to **AutoGPTQ**. This model will not work with ExLlama or GPTQ-for-LLaMa.
10. Tick **Trust Remote Code**, followed by **Save Settings**
11. Click **Reload**.
12. Once it says it's loaded, click the **Text Generation tab** and enter a prompt!

## Python inference

To use it you will require:

1. AutoGPTQ v0.2.1 (see below)
2. pytorch 2.0.0 with CUDA 11.7 or 11.8 (eg `pip install torch  --index-url https://download.pytorch.org/whl/cu118`)
4. einops (`pip install einops`)

## AutoGPTQ

You should install AutoGPTQ of version v0.2.1. There are currently problems with automatic installation with `pip install auto-gptq`.

Therefore it is recommended to compile manually from source:

```
git clone https://github.com/PanQiWei/AutoGPTQ
cd AutoGPTQ
git checkout v0.2.1
pip install . --no-cache-dir # This step requires CUDA toolkit installed
```

The manual installation steps will require that you have the [Nvidia CUDA toolkit](https://developer.nvidia.com/cuda-12-0-1-download-archive) installed.

## Simple Python example code

To run this code you need to have the prerequisites installed.

You can then run this example code:
```python
import torch
from transformers import AutoTokenizer
from auto_gptq import AutoGPTQForCausalLM

# If you've already downloaded the model, reference its location here:
quantized_model_dir = "/path/to/TheBloke_WizardLM-Uncensored-Falcon-40B-GPTQ"
# Or to download it from the hub and store it in the Hugging Face cache directory:
#quantized_model_dir = "TheBloke/WizardLM-Uncensored-Falcon-40B-GPTQ"

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(quantized_model_dir, use_fast=False)

model = AutoGPTQForCausalLM.from_quantized(quantized_model_dir, device="cuda:0", use_triton=False, use_safetensors=True, torch_dtype=torch.bfloat16, trust_remote_code=True)

prompt = "What is a falcon? Can I keep one as a pet?"
prompt_template = f"{prompt}\n### Response:"

tokens = tokenizer(prompt_template, return_tensors="pt").to("cuda:0").input_ids
output = model.generate(input_ids=tokens, max_new_tokens=100, do_sample=True, temperature=0.8)
print(tokenizer.decode(output[0]))
```

## Provided files

**gptq_model-4bit--1g.safetensors**

This will work with AutoGPTQ 0.2.0 and later.

It was created without group_size to reduce VRAM usage, and with `desc_act` (act-order) to improve inference accuracy.

* `gptq_model-4bit--1g.safetensors`
  * Works only with latest AutoGPTQ CUDA, compiled from source as of commit `3cb1bf5`
    * At this time it does not work with AutoGPTQ Triton, but support will hopefully be added in time.
  * Works with text-generation-webui using `--trust-remote-code`
  * Does not work with any version of GPTQ-for-LLaMa
  * Parameters: Groupsize = None. With act-order / desc_act.

## FAQ

### About `trust-remote-code`

Please be aware that this command line argument causes Python code provided by Falcon to be executed on your machine.

This code is required at the moment because Falcon is too new to be supported by Hugging Face transformers. At some point in the future transformers will support the model natively, and then `trust_remote_code` will no longer be needed.

In this repo you can see two `.py` files - these are the files that get executed. They are copied from the base repo at [Falcon-40B-Instruct](https://huggingface.co/tiiuae/falcon-40b-instruct).

<!-- footer start -->
<!-- 200823 -->
## Discord

For further support, and discussions on these models and AI in general, join us at:

[TheBloke AI's Discord server](https://discord.gg/theblokeai)

## Thanks, and how to contribute.

Thanks to the [chirper.ai](https://chirper.ai) team!

I've had a lot of people ask if they can contribute. I enjoy providing models and helping people, and would love to be able to spend even more time doing it, as well as expanding into new projects like fine tuning/training.

If you're able and willing to contribute it will be most gratefully received and will help me to keep providing more models, and to start work on new AI projects.

Donaters will get priority support on any and all AI/LLM/model questions and requests, access to a private Discord room, plus other benefits.

* Patreon: https://patreon.com/TheBlokeAI
* Ko-Fi: https://ko-fi.com/TheBlokeAI

**Special thanks to**: Aemon Algiz.

**Patreon special mentions**: Sam, theTransient, Jonathan Leane, Steven Wood, webtim, Johann-Peter Hartmann, Geoffrey Montalvo, Gabriel Tamborski, Willem Michiel, John Villwock, Derek Yates, Mesiah Bishop, Eugene Pentland, Pieter, Chadd, Stephen Murray, Daniel P. Andersen, terasurfer, Brandon Frisco, Thomas Belote, Sid, Nathan LeClaire, Magnesian, Alps Aficionado, Stanislav Ovsiannikov, Alex, Joseph William Delisle, Nikolai Manek, Michael Davis, Junyu Yang, K, J, Spencer Kim, Stefan Sabev, Olusegun Samson, transmissions 11, Michael Levine, Cory Kujawski, Rainer Wilmers, zynix, Kalila, Luke @flexchar, Ajan Kanaga, Mandus, vamX, Ai Maven, Mano Prime, Matthew Berman, subjectnull, Vitor Caleffi, Clay Pascal, biorpg, alfie_i, 阿明, Jeffrey Morgan, ya boyyy, Raymond Fosdick, knownsqashed, Olakabola, Leonard Tan, ReadyPlayerEmma, Enrico Ros, Dave, Talal Aujan, Illia Dulskyi, Sean Connelly, senxiiz, Artur Olbinski, Elle, Raven Klaugh, Fen Risland, Deep Realms, Imad Khwaja, Fred von Graf, Will Dee, usrbinkat, SuperWojo, Alexandros Triantafyllidis, Swaroop Kallakuri, Dan Guido, John Detwiler, Pedro Madruga, Iucharbius, Viktor Bowallius, Asp the Wyvern, Edmond Seymore, Trenton Dambrowitz, Space Cruiser, Spiking Neurons AB, Pyrater, LangChain4j, Tony Hughes, Kacper Wikieł, Rishabh Srivastava, David Ziegler, Luke Pendergrass, Andrey, Gabriel Puliatti, Lone Striker, Sebastain Graf, Pierre Kircher, Randy H, NimbleBox.ai, Vadim, danny, Deo Leter


Thank you to all my generous patrons and donaters!

And thank you again to a16z for their generous grant.

<!-- footer end -->

# Original model card: Eric Hartford's WizardLM Uncensored Falcon 40B

This is WizardLM trained on top of tiiuae/falcon-40b, with a subset of the dataset - responses that contained alignment / moralizing were removed. The intent is to train a WizardLM that doesn't have alignment built-in, so that alignment (of any sort) can be added separately with for example with a RLHF LoRA.

Shout out to the open source AI/ML community, and everyone who helped me out.

Note:
An uncensored model has no guardrails.
You are responsible for anything you do with the model, just as you are responsible for anything you do with any dangerous object such as a knife, gun, lighter, or car. Publishing anything this model generates is the same as publishing it yourself. You are responsible for the content you publish, and you cannot blame the model any more than you can blame the knife, gun, lighter, or car for what you do with it.

Prompt format is WizardLM.

```
What is a falcon?  Can I keep one as a pet?
### Response:
```

Thank you [chirper.ai](https://chirper.ai) for sponsoring some of my compute!