File size: 4,034 Bytes
24da15b
24bbbf3
9ec1f67
 
8ecbd9a
24da15b
9ec1f67
 
 
 
 
 
 
234ffbe
9ec1f67
 
 
 
 
 
 
ba6f6e6
9ec1f67
ba6f6e6
9ec1f67
ba6f6e6
9ec1f67
ba6f6e6
9ec1f67
f630015
 
 
 
ba6f6e6
f630015
 
ba6f6e6
9ec1f67
 
 
 
 
 
ba6f6e6
9ec1f67
 
 
 
 
 
 
 
 
 
 
 
ba6f6e6
9ec1f67
 
 
 
 
 
 
 
 
 
 
 
 
ba6f6e6
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
---
license: other
datasets:
- ehartford/WizardLM_alpaca_evol_instruct_70k_unfiltered
inference: false
---

# WizardLM - uncensored: An Instruction-following LLM Using Evol-Instruct

These files are GGML format model files for [Eric Hartford's 'uncensored' version of WizardLM](ehartford/WizardLM-7B-Uncensored).

GGML files are for CPU inference using [llama.cpp](https://github.com/ggerganov/llama.cpp).

Eric did a fresh 7B training using the WizardLM method, on [a dataset edited to remove all the "I'm sorry.." type ChatGPT responses](https://huggingface.co/datasets/ehartford/WizardLM_alpaca_evol_instruct_70k_unfiltered).

## Other repositories available

* [4bit GPTQ models for GPU inference](https://huggingface.co/TheBloke/WizardLM-7B-uncensored-GPTQ)
* [4bit and 5bit GGML models for CPU inference](https://huggingface.co/TheBloke/WizardLM-7B-uncensored-GGML)
* [Eric's unquantised model in HF format](https://huggingface.co/ehartford/WizardLM-7B-Uncensored)

## THE FILES IN MAIN BRANCH REQUIRES LATEST LLAMA.CPP (May 19th 2023 - commit 2d5db48)!

llama.cpp recently made another breaking change to its quantisation methods - https://github.com/ggerganov/llama.cpp/pull/1508

I have quantised the GGML files in this repo with the latest version. Therefore you will require llama.cpp compiled on May 19th or later (commit `2d5db48` or later) to use them.

For files compatible with the previous version of llama.cpp, please see branch `previous_llama_ggmlv2`.

## Provided files
| Name | Quant method | Bits | Size | RAM required | Use case |
| ---- | ---- | ---- | ---- | ---- | ----- |
`WizardLM-7B-uncensored.q4_0.bin` | q4_0 | 4bit | 4.2GB | 6GB | 4-bit. |
`WizardLM-7B-uncensored.q4_1.bin` | q4_1 | 4bit | 4.63GB | 6GB | 4-bit. Higher accuracy than q4_0 but not as high as q5_0. However has quicker inference than q5 models.|
`WizardLM-7B-uncensored.q5_0.bin` | q5_0 | 5bit | 4.63GB | 7GB | 5-bit. Higher accuracy, higher resource usage and slower inference. |
`WizardLM-7B-uncensored.q5_1.bin` | q5_1 | 5bit | 5.0GB | 7GB | 5-bit. Even higher accuracy, resource usage and slower inference.|
`WizardLM-7B-uncensored.q8_0.bin` | q8_0 | 5bit | 9.0GB | 11 | 5-bit. Even higher accuracy, resource usage and slower inference.|

## How to run in `llama.cpp`

I use the following command line; adjust for your tastes and needs:

```
./main -t 12 -m WizardLM-7B-uncensored.ggmlv3.q4_0.bin --color -c 2048 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "Below is an instruction that describes a task. Write a response that appropriately completes the request.
### Instruction:
Write a story about llamas
### Response:"
```
Change `-t 12` to the number of physical CPU cores you have. For example if your system has 8 cores/16 threads, use `-t 8`.

If you want to have a chat-style conversation, replace the `-p <PROMPT>` argument with `-i -ins`

## How to run in `text-generation-webui`

Further instructions here: [text-generation-webui/docs/llama.cpp-models.md](https://github.com/oobabooga/text-generation-webui/blob/main/docs/llama.cpp-models.md).

Note: at this time text-generation-webui may not support the new May 19th llama.cpp quantisation methods for q4_0, q4_1 and q8_0 files.

# Eric's original model card

This is WizardLM trained 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, including Rohan, TheBloke, and Caseus

# WizardLM's original model card

Overview of Evol-Instruct
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.

![info](https://github.com/nlpxucan/WizardLM/raw/main/imgs/git_overall.png)
![info](https://github.com/nlpxucan/WizardLM/raw/main/imgs/git_running.png)