File size: 4,092 Bytes
22cae5b
 
59371f8
22cae5b
59371f8
 
 
 
 
 
 
 
 
ff1c30e
59371f8
37bde1f
 
 
 
 
59371f8
 
 
b83783d
 
 
 
59371f8
858f870
 
9688e0a
 
858f870
6761c02
858f870
6761c02
858f870
 
 
6761c02
858f870
 
59371f8
9688e0a
 
 
 
 
 
efc44ea
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4f9e5dc
 
 
 
59371f8
 
 
 
 
ecd42d9
59371f8
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
---
license: other
inference: false
---

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

These files are the result of merging the [delta weights](https://huggingface.co/victor123/WizardLM) with the original Llama7B model.

The code for merging is provided in the [WizardLM official Github repo](https://github.com/nlpxucan/WizardLM).

## WizardLM-7B GGML

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

## Other repositories available

* [4bit GPTQ models for GPU inference](https://huggingface.co/TheBloke/wizardLM-7B-GPTQ)
* [Unquantised model in HF format](https://huggingface.co/TheBloke/wizardLM-7B-HF)

## Provided files
| Name | Quant method | Bits | Size | RAM required | Use case |
| ---- | ---- | ---- | ---- | ---- | ----- |
`WizardLM-7B.GGML.q4_0.bin` | q4_0 | 4bit | 4.2GB | 6GB | Maximum compatibility |
`WizardLM-7B.GGML.q4_2.bin` | q4_2 | 4bit | 4.2GB | 6GB | Best compromise between resources, speed and quality |
`WizardLM-7B.GGML.q5_0.bin` | q5_0 | 5bit | 4.63GB | 7GB | Brand new 5bit method. Potentially higher quality than 4bit, at cost of slightly higher resources. |
`WizardLM-7B.GGML.q5_1.bin` | q5_1 | 5bit | 5.0GB | 7GB | Brand new 5bit method. Slightly higher resource usage than q5_0.|

* The q4_0 file provides lower quality, but maximal compatibility. It will work with past and future versions of llama.cpp
* The q4_2 file offers the best combination of performance and quality. This format is still subject to change and there may be compatibility issues, see below.
* The q5_0 file is using brand new 5bit method released 26th April. This is the 5bit equivalent of q4_0.
* The q5_1 file is using brand new 5bit method released 26th April. This is the 5bit equivalent of q4_1.

## q4_2 compatibility

q4_2 is a relatively new 4bit quantisation method offering improved quality. However they are still under development and their formats are subject to change.

In order to use these files you will need to use recent llama.cpp code. And it's possible that future updates to llama.cpp could require that these files are re-generated.

If and when the q4_2 file no longer works with recent versions of llama.cpp I will endeavour to update it.

If you want to ensure guaranteed compatibility with a wide range of llama.cpp versions, use the q4_0 file.

## q5_0 and q5_1 compatibility

These new methods were released to llama.cpp on 26th April. You will need to pull the latest llama.cpp code and rebuild to be able to use them.

Don't expect any third-party UIs/tools to support them yet.

## How to run in `llama.cpp`

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

```
./main -t 18 -m WizardLM-7B.GGML.q4_2.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 18` 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 will not support the new q5 quantisation methods.

**Thireus** has written a [great guide on how to update it to the latest llama.cpp code](https://huggingface.co/TheBloke/wizardLM-7B-GGML/discussions/5) so that these files can be used in the UI.

# Original model info

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)