Triangle104 commited on
Commit
ac2a23b
1 Parent(s): 731d42e

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +191 -0
README.md CHANGED
@@ -12,6 +12,197 @@ tags:
12
  This model was converted to GGUF format from [`Sao10K/MN-BackyardAI-Party-12B-v1`](https://huggingface.co/Sao10K/MN-BackyardAI-Party-12B-v1) using llama.cpp via the ggml.ai's [GGUF-my-repo](https://huggingface.co/spaces/ggml-org/gguf-my-repo) space.
13
  Refer to the [original model card](https://huggingface.co/Sao10K/MN-BackyardAI-Party-12B-v1) for more details on the model.
14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  ## Use with llama.cpp
16
  Install llama.cpp through brew (works on Mac and Linux)
17
 
 
12
  This model was converted to GGUF format from [`Sao10K/MN-BackyardAI-Party-12B-v1`](https://huggingface.co/Sao10K/MN-BackyardAI-Party-12B-v1) using llama.cpp via the ggml.ai's [GGUF-my-repo](https://huggingface.co/spaces/ggml-org/gguf-my-repo) space.
13
  Refer to the [original model card](https://huggingface.co/Sao10K/MN-BackyardAI-Party-12B-v1) for more details on the model.
14
 
15
+ Model Info:
16
+ ---
17
+ ---
18
+ Trained with compute from Backyard.ai | Thanks to them and @dynafire for helping me out.
19
+
20
+ Trained on 2x A100 SXM 40GB as an 8-bit LoRA.
21
+
22
+ This is a group-chat based roleplaying model, based off of 12B-Lyra-v4a2, a variant of Lyra-v4 that is currently private.
23
+
24
+ It is trained on an entirely human-based dataset, based on forum / internet group roleplaying styles. The only augmentation done with LLMs is to the character sheets, to fit to the system prompt, to fit various character sheets within context.
25
+
26
+ This model is still capable of 1 on 1 roleplay, though I recommend using ChatML when doing that instead.
27
+
28
+ ---
29
+
30
+ Formatting:
31
+
32
+ Training for the multi-character roleplaying format is done with a variant of ChatML, replaced with [INST] blocks formatted as such. Use this to draw in more of the training done.
33
+
34
+ [INST]system
35
+ System Prompt Here[/INST]
36
+ [INST]user
37
+ User's Yapping[/INST]
38
+ [INST]model
39
+ Model Reply[/INST]
40
+
41
+ Relevant!
42
+ - Turns do not need to respect user -> model -> user. Training is done with disjointed turns that may have repeating turns to simulate real group roleplay / chat scenarios with multiple users.
43
+ - Additional work may be required to fit for your front-end.
44
+ - Ideally character cards are all included in the turns. Training is done with this in mind. Below on the page has relevant information.
45
+ - This is a Nemo model, so lower Temperature and a sprinkling of min_p helps.
46
+ - This does require a lot of tinkering to fit within SillyTavern / other frontends.
47
+
48
+ To get better performance on Regular 1 on 1 Roleplay or Chat scenarios, use ChatML to get more of Lyra's performance.
49
+
50
+ <|im_start|>system
51
+ System Prompt Here.<|im_end|>
52
+ <|im_start|>user
53
+ User's Instructions<|im_end|>
54
+ <|im_start|>assistant
55
+ Model Response<|im_end|>
56
+
57
+ For best results, set both <|im_end|> and [INST] as stopping strings. Recommended Temperature is <1 , min_p of ateast 0.1
58
+ Dataset Information:
59
+
60
+ This dataset is made from a human RP forum source, trimmed down, augmented and reformatted to fit.
61
+ - Each entry has a minimum of 6 turns to be inside
62
+ - Number of unique/main characters are ranged from 2 to 7 characters per entry.
63
+ - Each conversation is kept as is to preserve quality and uniqueness of the human data.
64
+ - Only the added system prompt makes use of the current character sheets given.
65
+
66
+ The following below is how the current Character Card / Sheets is done, which are augmented from the messy and non-uniform character sheets available. To get best results, please reformat your current character data to the on as seen below, or as similar as you can if possible.
67
+
68
+ - **Character Name**:
69
+ - **Age**:
70
+ - **Race**:
71
+ - **Mageblood Type**: (if applicable)
72
+ - **Favored Magic Class**: (if applicable)
73
+ - **Previous Magic Training**: (if applicable)
74
+ - **Occupation/Profession**: (if applicable)
75
+ - **Appearance**: (if applicable)
76
+ - **Biography**: (if applicable)
77
+ - **Good Attributes**: (if applicable)
78
+ - **Bad Attributes**: (if applicable)
79
+ - **Equipment**: (if applicable)
80
+ - **Other Information**: (if applicable)
81
+
82
+ Here is an example based on the above format:
83
+
84
+ **Character Name**: Keri Wolf
85
+ **Age**: 21
86
+ **Race**: Vampire
87
+ **Mageblood Type**: Hydromancy
88
+ **Favored Magic Class**: Aqua
89
+ **Previous Magic Training**: Novice
90
+ **Occupation/Profession**: None specified
91
+
92
+ **Appearance**:
93
+ - Height: 5'9"
94
+ - A wooden wolf necklace around her neck, contrasting with her pale skin
95
+ - Three swords strapped to her waist
96
+ - A tattoo of a thorn vine, her family crest, on her right arm
97
+ - Normal eye color is red but changes based on her mood or the topic of conversation
98
+ - Carries a hunk of wood and a carving knife for personal activities
99
+
100
+ **Biography**:
101
+ Keri Wolf grew up in a family of adopted siblings in Djarkel. She had a normal childhood, with her best friend Satori, and was taught basic self-defense by her father. Her brothers were considered troublemakers but remained close to her. On her 21st birthday, her family was slaughtered by a vampire nest, and she was bitten. This led to her developing vampiric traits and seeking answers at the college.
102
+
103
+ **Good Attributes**:
104
+ - Easy-going
105
+ - Observant
106
+ - Helps those in trouble
107
+ - Soft-hearted
108
+ - Kind
109
+ - Cool-headed
110
+ - Good at getting out of difficult situations
111
+ - Avoids violence
112
+ - Gets along well with different people
113
+ - Loves animals
114
+
115
+ **Bad Attributes**:
116
+ - Sunlight sensitivity
117
+ - Hatred towards vampires outside the college
118
+ - Keeps feelings in check, leading to dangerous outbursts
119
+ - Cruel manner of speaking
120
+ - Thirst for revenge
121
+
122
+ **Equipment**:
123
+ - Wooden wolf necklace
124
+ - Three swords (one engraved with a rose, one engraved with her father's name, and one for decoration)
125
+ - Carving knife
126
+ - Hunk of wood
127
+ - Stealth Ring
128
+ - Knight's Shield
129
+
130
+ **Other Information**:
131
+ - Secret word: rebirth
132
+
133
+ The following system prompt is augmented from available character sheets, or details from the original dataset. Placeholder names are given as shown.
134
+
135
+ You are involved in a multi-character internet-style roleplaying session with a human user, who is playing as Ballbuster Steve. Do not generate dialogue for the user's character, Ballbuster Steve. Focus on the other characters.
136
+
137
+ [Human User]
138
+ Ballbuster Steve # {user}
139
+ Character Bio: [Steve's bio]
140
+
141
+ [Involved Characters]
142
+ Altair "Arty" Enzo # {char1}
143
+ Character Bio: [Arty's bio]
144
+ ---
145
+ Sukuna Gojo # {char2}
146
+ Character Bio: [Sukuna's bio]
147
+ ---
148
+
149
+ The roleplay begins now.
150
+
151
+ This is how some of the turn example looks like, newlines are only for visual use.
152
+
153
+ [INST]user
154
+ Ballbuster Steve: Being the doorman at a nightclub, especially one as popular as LUSH... [/INST]
155
+
156
+ [INST]model
157
+ Altair "Arty" Enzo: While he was waiting for Jake to answer, Arty noticed from the corner of his eye... [/INST]
158
+
159
+ [INST]model
160
+ Sukuna Gojo: Nick was now out of his element; he just came off his portable radio app... [/INST]
161
+
162
+ [INST]user
163
+ Ballbuster Steve: Steve grabbed his black clutch from where it was stashed under the mixing desk... [/INST]
164
+
165
+ To make it easier, this is how I'd format responses for the backend:
166
+
167
+ <s>[INST]system
168
+ {system_prompt}[/INST]
169
+ [INST]user
170
+ {user}: {text}[/INST]
171
+ [INST]model
172
+ {char1}: {text}[/INST]
173
+ [INST]model
174
+ {char2}: {text}[/INST]
175
+ [INST]user
176
+ {user}: {text}[/INST]
177
+ [INST]model
178
+ {char1}: {text}[/INST]<|im_end|> # For Final Turn only. Alternatively, set <|im_end|> as a stopping string.
179
+
180
+ Current Issues:
181
+
182
+ - Impersonation - This is a common side-effect of pure human roleplaying data, unfortunately.
183
+ Users do like writing the actions of others, though this is more limited to end of reply.
184
+ - Varied Output Quality - A swipe should be enough?
185
+ I only removed obviously bad entries. Output quality varies thanks to the variety of human users involved.
186
+ - Character Detail Confusion when in group chats
187
+ This rarely happens, but it is usually when there are too many main characters, or the bio is improperly formatted and seperated.
188
+ Or if you're using an additional, complex system prompt.
189
+ - Random OOC / Story Break moments may still exist despite me filtering the data.
190
+ - Limited Dataset Size -> 4K Varied Samples ranging from 2-7 characters per entry. I'm looking to expand.
191
+ - Limited System Prompt? -> I'm trying to improve on this.
192
+ - Fantasy-bias? -> Most of the entries are fantasy-based after all.
193
+
194
+ Training Metrics
195
+
196
+ n_sample: 4000
197
+ n_gpu: 2
198
+ global batch size: 12
199
+ lora: bnb_8bit
200
+ no. epochs: 3
201
+ lr: 0.000004
202
+ lr_scheduler: cosine
203
+ deepspeed: zero2
204
+
205
+ ---
206
  ## Use with llama.cpp
207
  Install llama.cpp through brew (works on Mac and Linux)
208