Update README.md
Browse files
README.md
CHANGED
@@ -1,3 +1,125 @@
|
|
1 |
---
|
2 |
license: other
|
|
|
3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
license: other
|
3 |
+
inference: false
|
4 |
---
|
5 |
+
|
6 |
+
# OpenAssistant LLaMA 30B SFT 7 GGML
|
7 |
+
|
8 |
+
This in HF format repo of [OpenAssistant's LLaMA 30B SFT 7](https://huggingface.co/OpenAssistant/oasst-sft-7-llama-30b-xor).
|
9 |
+
|
10 |
+
It is the result of merging the XORs from the above repo with the original Llama 30B weights, and then quantising to 4bit and 5bit GGML for CPU inference using [llama.cpp](https://github.com/ggerganov/llama.cpp).
|
11 |
+
|
12 |
+
This is epoch 7 of OpenAssistant's training of their Llama 30B model.
|
13 |
+
|
14 |
+
## Repositories available
|
15 |
+
|
16 |
+
* [4bit GPTQ models for GPU inference](https://huggingface.co/TheBloke/OpenAssistant-SFT-7-Llama-30B-GPTQ).
|
17 |
+
* [4bit and 5bit GGML models for CPU inference](https://huggingface.co/TheBloke/OpenAssistant-SFT-7-Llama-30B-GGML).
|
18 |
+
* [Unquantised 16bit model in HF format](https://huggingface.co/TheBloke/OpenAssistant-SFT-7-Llama-30B-HF).
|
19 |
+
|
20 |
+
## PROMPT TEMPLATE
|
21 |
+
|
22 |
+
This model requires the following prompt template:
|
23 |
+
|
24 |
+
```
|
25 |
+
<|prompter|> prompt goes here
|
26 |
+
<|assistant|>:
|
27 |
+
```
|
28 |
+
|
29 |
+
## Provided files
|
30 |
+
| Name | Quant method | Bits | Size | RAM required | Use case |
|
31 |
+
| ---- | ---- | ---- | ---- | ---- | ----- |
|
32 |
+
`OpenAssistant-Llama30B-epoch7.ggml.q4_0.bin` | q4_0 | 4bit | 19GB | 21GB | Maximum compatibility |
|
33 |
+
`OpenAssistant-Llama30B-epoch7.ggml.q4_2.bin` | q4_2 | 4bit | 19GB | 21GB | Best compromise between resources, speed and quality |
|
34 |
+
`OpenAssistant-Llama30B-epoch7.ggml.q5_0.bin` | q5_0 | 5bit | 21GB | 23GB | Brand new 5bit method. Potentially higher quality than 4bit, at cost of slightly higher resources. |
|
35 |
+
`OpenAssistant-Llama30B-epoch7.ggml.q5_1.bin` | q5_1 | 5bit | 23GB | 25GB | Brand new 5bit method. Slightly higher resource usage than q5_0.|
|
36 |
+
|
37 |
+
* The q4_0 file provides lower quality, but maximal compatibility. It will work with past and future versions of llama.cpp
|
38 |
+
* 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.
|
39 |
+
* The q5_0 file is using brand new 5bit method released 26th April. This is the 5bit equivalent of q4_0.
|
40 |
+
* The q5_1 file is using brand new 5bit method released 26th April. This is the 5bit equivalent of q4_1.
|
41 |
+
|
42 |
+
## q4_2 compatibility
|
43 |
+
|
44 |
+
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.
|
45 |
+
|
46 |
+
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.
|
47 |
+
|
48 |
+
If and when the q4_2 file no longer works with recent versions of llama.cpp I will endeavour to update it.
|
49 |
+
|
50 |
+
If you want to ensure guaranteed compatibility with a wide range of llama.cpp versions, use the q4_0 file.
|
51 |
+
|
52 |
+
## q5_0 and q5_1 compatibility
|
53 |
+
|
54 |
+
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.
|
55 |
+
|
56 |
+
Don't expect any third-party UIs/tools to support them yet.
|
57 |
+
|
58 |
+
## How to run in `llama.cpp`
|
59 |
+
|
60 |
+
I use the following command line; adjust for your tastes and needs:
|
61 |
+
|
62 |
+
```
|
63 |
+
./main -t 18 -m OpenAssistant-Llama30B-epoch7.ggml.q4_2.bin --color -c 2048 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "<|prompter|>Write a very story about llamas <|assistant|>:"
|
64 |
+
```
|
65 |
+
|
66 |
+
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`.
|
67 |
+
|
68 |
+
## How to run in `text-generation-webui`
|
69 |
+
|
70 |
+
GGML models can be loaded into text-generation-webui by installing the llama.cpp module, then placing the ggml model file in a model folder as usual.
|
71 |
+
|
72 |
+
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).
|
73 |
+
|
74 |
+
Note: at this time text-generation-webui will not support the new q5 quantisation methods.
|
75 |
+
|
76 |
+
**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.
|
77 |
+
|
78 |
+
# Original model card
|
79 |
+
|
80 |
+
```
|
81 |
+
llama-30b-sft-7:
|
82 |
+
dtype: fp16
|
83 |
+
log_dir: "llama_log_30b"
|
84 |
+
learning_rate: 1e-5
|
85 |
+
model_name: /home/ubuntu/Open-Assistant/model/model_training/.saved/llama-30b-super-pretrain/checkpoint-3500
|
86 |
+
#model_name: OpenAssistant/llama-30b-super-pretrain
|
87 |
+
output_dir: llama_model_30b
|
88 |
+
deepspeed_config: configs/zero3_config_sft.json
|
89 |
+
weight_decay: 0.0
|
90 |
+
residual_dropout: 0.0
|
91 |
+
max_length: 2048
|
92 |
+
use_flash_attention: true
|
93 |
+
warmup_steps: 20
|
94 |
+
gradient_checkpointing: true
|
95 |
+
gradient_accumulation_steps: 12
|
96 |
+
per_device_train_batch_size: 2
|
97 |
+
per_device_eval_batch_size: 3
|
98 |
+
eval_steps: 101
|
99 |
+
save_steps: 485
|
100 |
+
num_train_epochs: 4
|
101 |
+
save_total_limit: 3
|
102 |
+
use_custom_sampler: true
|
103 |
+
sort_by_length: false
|
104 |
+
#save_strategy: steps
|
105 |
+
save_strategy: epoch
|
106 |
+
datasets:
|
107 |
+
- oasst_export:
|
108 |
+
lang: "bg,ca,cs,da,de,en,es,fr,hr,hu,it,nl,pl,pt,ro,ru,sl,sr,sv,uk"
|
109 |
+
input_file_path: 2023-04-12_oasst_release_ready_synth.jsonl.gz
|
110 |
+
val_split: 0.05
|
111 |
+
- vicuna:
|
112 |
+
val_split: 0.05
|
113 |
+
max_val_set: 800
|
114 |
+
fraction: 1.0
|
115 |
+
- dolly15k:
|
116 |
+
val_split: 0.05
|
117 |
+
max_val_set: 300
|
118 |
+
- grade_school_math_instructions:
|
119 |
+
val_split: 0.05
|
120 |
+
- code_alpaca:
|
121 |
+
val_split: 0.05
|
122 |
+
max_val_set: 250
|
123 |
+
```
|
124 |
+
|
125 |
+
- **OASST dataset paper:** https://arxiv.org/abs/2304.07327
|