Update README.md
Browse files
README.md
CHANGED
@@ -21,76 +21,6 @@ With this fix applied:
|
|
21 |
|
22 |
GPTQ via Ooba UI may not need this patch.
|
23 |
|
24 |
-
-----
|
25 |
-
## Model Details:
|
26 |
-
|
27 |
-
Converted from the XORs weights from PygmalionAI's release https://huggingface.co/PygmalionAI/metharme-13b
|
28 |
-
|
29 |
-
|
30 |
-
Metharme 13b is an instruct model based on Meta's LLaMA-13b.
|
31 |
-
|
32 |
-
This is an experiment to try and get a model that is usable for conversation, roleplaying and storywriting, but which can be guided using natural language like other instruct models. See the [prompting](#prompting) section below for examples.
|
33 |
-
|
34 |
-
It was trained by doing supervised fine-tuning over a mixture of regular instruction data alongside roleplay, fictional stories and conversations with synthetically generated instructions attached.
|
35 |
-
|
36 |
-
The current Metharme-13b has been trained as a LoRA, then merged down to the base model for distribuition.
|
37 |
-
|
38 |
-
It has also been quantized down to 8Bit using the GPTQ library available here: https://github.com/0cc4m/GPTQ-for-LLaMa
|
39 |
-
```
|
40 |
-
python llama.py .\TehVenom_Metharme-13b-Merged c4 --wbits 8 --act-order --save_safetensors Metharme-13b-GPTQ-8bit.act-order.safetensors
|
41 |
-
```
|
42 |
-
|
43 |
-
## Prompting
|
44 |
-
|
45 |
-
The current model version has been trained on prompts using three different roles, which are denoted by the following tokens: `<|system|>`, `<|user|>` and `<|model|>`.
|
46 |
-
|
47 |
-
The `<|system|>` prompt can be used to inject out-of-channel information behind the scenes, while the `<|user|>` prompt should be used to indicate user input. The `<|model|>` token should then be used to indicate that the model should generate a response. These tokens can happen multiple times and be chained up to form a conversation history.
|
48 |
-
|
49 |
-
### Prompting example
|
50 |
-
|
51 |
-
Here's a concrete example. Let's say you have the following system prompt:
|
52 |
-
|
53 |
-
> This is a text adventure game. Describe the scenario to the user and give him three options to pick from on each turn.
|
54 |
-
|
55 |
-
And the user has typed in the following message:
|
56 |
-
|
57 |
-
> Start!
|
58 |
-
|
59 |
-
To perform inference against the model, the prompt should be formatted like this:
|
60 |
-
```
|
61 |
-
<|system|>This is a text adventure game. Describe the scenario to the user and give him three options to pick from on each turn.<|user|>Start!<|model|>
|
62 |
-
```
|
63 |
-
|
64 |
-
The model might generate something like:
|
65 |
-
|
66 |
-
> You are standing in front of an old, abandoned house. The windows are boarded up, and there's no sign of life around it. As you approach, you notice a strange feeling emanating from within. Suddenly, you hear a voice calling out to you... 'Come inside!'
|
67 |
-
>
|
68 |
-
> - Go inside the house.
|
69 |
-
> - Ignore the call and move away.
|
70 |
-
> - Run as fast as you can.
|
71 |
-
|
72 |
-
It will automatically emit an end-of-text token (`</s>`) when it judges that the response is complete.
|
73 |
-
|
74 |
-
Pretend then that the user has replied with `go inside`. The next prompt should then be:
|
75 |
-
|
76 |
-
```
|
77 |
-
<|system|>This is a text adventure game. Describe the scenario to the user and give him three options to pick from on each turn.<|user|>Start!<|model|>You are standing in front of an old, abandoned house. The windows are boarded up, and there's no sign of life around it. As you approach, you notice a strange feeling emanating from within. Suddenly, you hear a voice calling out to you... 'Come inside!'
|
78 |
-
|
79 |
-
- Go inside the house.
|
80 |
-
- Ignore the call and move away.
|
81 |
-
- Run as fast as you can.<|user|>go inside<|model|>
|
82 |
-
```
|
83 |
-
|
84 |
-
Which might generate something like:
|
85 |
-
|
86 |
-
> You enter the house, and immediately, a wave of unsettling energy washes over you. Your senses seem heightened, but your mind feels foggy. A figure appears before you - a tall man with piercing eyes. He speaks to you in a language you don't understand.
|
87 |
-
>
|
88 |
-
> - Ask him what he wants.
|
89 |
-
> - Attack him.
|
90 |
-
> - Run away.
|
91 |
-
|
92 |
-
Same process applies. Usually, it is best to do a sliding window over the user and model turns, but keep the system prompt fixed at the start of the context window.
|
93 |
-
|
94 |
## Eval / Benchmark scores
|
95 |
|
96 |
Current evals out of the Metharme-13b model: <br>
|
@@ -171,6 +101,76 @@ Current evals out of the Metharme-13b model: <br>
|
|
171 |
|
172 |
<hr>
|
173 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
## Other notes
|
175 |
|
176 |
- When prompted correctly, the model will always start by generating a BOS token. This behavior is an accidental side-effect which we plan to address in future model versions and should not be relied upon.
|
|
|
21 |
|
22 |
GPTQ via Ooba UI may not need this patch.
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
## Eval / Benchmark scores
|
25 |
|
26 |
Current evals out of the Metharme-13b model: <br>
|
|
|
101 |
|
102 |
<hr>
|
103 |
|
104 |
+
-----
|
105 |
+
## Model Details:
|
106 |
+
|
107 |
+
Converted from the XORs weights from PygmalionAI's release https://huggingface.co/PygmalionAI/metharme-13b
|
108 |
+
|
109 |
+
|
110 |
+
Metharme 13b is an instruct model based on Meta's LLaMA-13b.
|
111 |
+
|
112 |
+
This is an experiment to try and get a model that is usable for conversation, roleplaying and storywriting, but which can be guided using natural language like other instruct models. See the [prompting](#prompting) section below for examples.
|
113 |
+
|
114 |
+
It was trained by doing supervised fine-tuning over a mixture of regular instruction data alongside roleplay, fictional stories and conversations with synthetically generated instructions attached.
|
115 |
+
|
116 |
+
The current Metharme-13b has been trained as a LoRA, then merged down to the base model for distribuition.
|
117 |
+
|
118 |
+
It has also been quantized down to 8Bit using the GPTQ library available here: https://github.com/0cc4m/GPTQ-for-LLaMa
|
119 |
+
```
|
120 |
+
python llama.py .\TehVenom_Metharme-13b-Merged c4 --wbits 8 --act-order --save_safetensors Metharme-13b-GPTQ-8bit.act-order.safetensors
|
121 |
+
```
|
122 |
+
|
123 |
+
## Prompting
|
124 |
+
|
125 |
+
The current model version has been trained on prompts using three different roles, which are denoted by the following tokens: `<|system|>`, `<|user|>` and `<|model|>`.
|
126 |
+
|
127 |
+
The `<|system|>` prompt can be used to inject out-of-channel information behind the scenes, while the `<|user|>` prompt should be used to indicate user input. The `<|model|>` token should then be used to indicate that the model should generate a response. These tokens can happen multiple times and be chained up to form a conversation history.
|
128 |
+
|
129 |
+
### Prompting example
|
130 |
+
|
131 |
+
Here's a concrete example. Let's say you have the following system prompt:
|
132 |
+
|
133 |
+
> This is a text adventure game. Describe the scenario to the user and give him three options to pick from on each turn.
|
134 |
+
|
135 |
+
And the user has typed in the following message:
|
136 |
+
|
137 |
+
> Start!
|
138 |
+
|
139 |
+
To perform inference against the model, the prompt should be formatted like this:
|
140 |
+
```
|
141 |
+
<|system|>This is a text adventure game. Describe the scenario to the user and give him three options to pick from on each turn.<|user|>Start!<|model|>
|
142 |
+
```
|
143 |
+
|
144 |
+
The model might generate something like:
|
145 |
+
|
146 |
+
> You are standing in front of an old, abandoned house. The windows are boarded up, and there's no sign of life around it. As you approach, you notice a strange feeling emanating from within. Suddenly, you hear a voice calling out to you... 'Come inside!'
|
147 |
+
>
|
148 |
+
> - Go inside the house.
|
149 |
+
> - Ignore the call and move away.
|
150 |
+
> - Run as fast as you can.
|
151 |
+
|
152 |
+
It will automatically emit an end-of-text token (`</s>`) when it judges that the response is complete.
|
153 |
+
|
154 |
+
Pretend then that the user has replied with `go inside`. The next prompt should then be:
|
155 |
+
|
156 |
+
```
|
157 |
+
<|system|>This is a text adventure game. Describe the scenario to the user and give him three options to pick from on each turn.<|user|>Start!<|model|>You are standing in front of an old, abandoned house. The windows are boarded up, and there's no sign of life around it. As you approach, you notice a strange feeling emanating from within. Suddenly, you hear a voice calling out to you... 'Come inside!'
|
158 |
+
|
159 |
+
- Go inside the house.
|
160 |
+
- Ignore the call and move away.
|
161 |
+
- Run as fast as you can.<|user|>go inside<|model|>
|
162 |
+
```
|
163 |
+
|
164 |
+
Which might generate something like:
|
165 |
+
|
166 |
+
> You enter the house, and immediately, a wave of unsettling energy washes over you. Your senses seem heightened, but your mind feels foggy. A figure appears before you - a tall man with piercing eyes. He speaks to you in a language you don't understand.
|
167 |
+
>
|
168 |
+
> - Ask him what he wants.
|
169 |
+
> - Attack him.
|
170 |
+
> - Run away.
|
171 |
+
|
172 |
+
Same process applies. Usually, it is best to do a sliding window over the user and model turns, but keep the system prompt fixed at the start of the context window.
|
173 |
+
|
174 |
## Other notes
|
175 |
|
176 |
- When prompted correctly, the model will always start by generating a BOS token. This behavior is an accidental side-effect which we plan to address in future model versions and should not be relied upon.
|