sophosympatheia
commited on
Commit
•
66f36a4
1
Parent(s):
4c72997
Update README.md
Browse files
README.md
CHANGED
@@ -1,39 +1,161 @@
|
|
1 |
---
|
2 |
-
|
3 |
-
|
4 |
-
-
|
5 |
-
- merge
|
6 |
-
|
7 |
---
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
-
|
11 |
|
12 |
-
|
13 |
-
### Merge Method
|
14 |
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
-
|
20 |
-
* /home/llm/mergequant/models/mr-v2.0.3-wizardblend
|
21 |
|
22 |
-
|
23 |
|
24 |
-
|
25 |
|
26 |
-
|
|
|
|
|
27 |
slices:
|
28 |
- sources:
|
29 |
-
- model: /home/llm/mergequant/models/mr-v2.0.3
|
30 |
layer_range: [0, 40] # 40
|
31 |
- sources:
|
32 |
-
- model: /home/llm/mergequant/models/mr-v2.0.3
|
33 |
layer_range: [20, 60] # 40
|
34 |
- sources:
|
35 |
-
- model: /home/llm/mergequant/models/mr-v2.0.3
|
36 |
layer_range: [40, 80] # 40
|
37 |
merge_method: passthrough
|
38 |
dtype: float16
|
39 |
-
```
|
|
|
1 |
---
|
2 |
+
license: llama2
|
3 |
+
language:
|
4 |
+
- en
|
|
|
|
|
5 |
---
|
6 |
+
<div style="width: auto; margin-left: auto; margin-right: auto">
|
7 |
+
<img src="https://i.imgur.com/X3SBrIb.png" alt="MidnightRose" style="width: 100%; min-width: 400px; display: block; margin: auto;">
|
8 |
+
</div>
|
9 |
+
|
10 |
+
### Overview
|
11 |
+
|
12 |
+
A 120 layer, 103B parameter frankenmerge of [Midnight-Rose-70B-v2.0.3](https://huggingface.co/sophosympatheia/Midnight-Rose-70B-v2.0.3) with itself.
|
13 |
+
|
14 |
+
This model is uncensored. *You are responsible for whatever you do with it.*
|
15 |
+
|
16 |
+
This model was designed for roleplaying and storytelling and I think it does well at both. It *should* perform well at other tasks, but I haven't tested its capabilities in other areas.
|
17 |
+
|
18 |
+
### Sampler Tips
|
19 |
+
|
20 |
+
I recommend using the new Min-P sampler method with this model. The creator has a great [guide to it on Reddit](https://www.reddit.com/r/LocalLLaMA/comments/17vonjo/your_settings_are_probably_hurting_your_model_why/).
|
21 |
+
Dynamic Temp is also quite nice. Pair it with Min-P.
|
22 |
+
|
23 |
+
I find this model performs reasonably well at 8192 context but you will likely get better results at 4096 - 6144 context.
|
24 |
+
|
25 |
+
Experiment with any and all of the settings below.
|
26 |
+
|
27 |
+
If you save the below settings as a .json file, you can import them directly into Silly Tavern.
|
28 |
+
```
|
29 |
+
{
|
30 |
+
"temp": 1.15,
|
31 |
+
"temperature_last": true,
|
32 |
+
"top_p": 1,
|
33 |
+
"top_k": 0,
|
34 |
+
"top_a": 0,
|
35 |
+
"tfs": 1,
|
36 |
+
"epsilon_cutoff": 0,
|
37 |
+
"eta_cutoff": 0,
|
38 |
+
"typical_p": 1,
|
39 |
+
"min_p": 0.85,
|
40 |
+
"rep_pen": 1.12,
|
41 |
+
"rep_pen_range": 2048,
|
42 |
+
"no_repeat_ngram_size": 0,
|
43 |
+
"penalty_alpha": 0,
|
44 |
+
"num_beams": 1,
|
45 |
+
"length_penalty": 1,
|
46 |
+
"min_length": 0,
|
47 |
+
"encoder_rep_pen": 1,
|
48 |
+
"freq_pen": 0.01,
|
49 |
+
"presence_pen": 0,
|
50 |
+
"do_sample": true,
|
51 |
+
"early_stopping": false,
|
52 |
+
"dynatemp": true,
|
53 |
+
"min_temp": 0.5,
|
54 |
+
"max_temp": 3,
|
55 |
+
"dynatemp_exponent": 1,
|
56 |
+
"smoothing_factor": 0,
|
57 |
+
"add_bos_token": true,
|
58 |
+
"truncation_length": 2048,
|
59 |
+
"ban_eos_token": false,
|
60 |
+
"skip_special_tokens": true,
|
61 |
+
"streaming": true,
|
62 |
+
"mirostat_mode": 0,
|
63 |
+
"mirostat_tau": 2,
|
64 |
+
"mirostat_eta": 0.1,
|
65 |
+
"guidance_scale": 1,
|
66 |
+
"negative_prompt": "",
|
67 |
+
"grammar_string": "",
|
68 |
+
"banned_tokens": "",
|
69 |
+
"ignore_eos_token_aphrodite": false,
|
70 |
+
"spaces_between_special_tokens_aphrodite": true,
|
71 |
+
"sampler_order": [
|
72 |
+
6,
|
73 |
+
0,
|
74 |
+
1,
|
75 |
+
3,
|
76 |
+
4,
|
77 |
+
2,
|
78 |
+
5
|
79 |
+
],
|
80 |
+
"logit_bias": [],
|
81 |
+
"n": 1,
|
82 |
+
"rep_pen_size": 0,
|
83 |
+
"genamt": 500,
|
84 |
+
"max_length": 6144
|
85 |
+
}
|
86 |
+
```
|
87 |
|
88 |
+
### Prompting Tips
|
89 |
|
90 |
+
Try the following context template for use in SillyTavern. It might help. If you save the text as a .json file, you can import it directly.
|
|
|
91 |
|
92 |
+
```
|
93 |
+
{
|
94 |
+
"story_string": "{{#if system}}{{system}}\n{{/if}}\nCONTEXTUAL INFORMATION\n{{#if wiBefore}}\n- World and character info:\n{{wiBefore}}\n{{/if}}\n{{#if description}}\n- {{char}}'s background and persona:\n{{description}}\n{{/if}}\n{{#if mesExamples}}\n{{mesExamples}}\n{{/if}}\n{{#if personality}}{{personality}}\n{{/if}}\n{{#if scenario}}\n- Roleplay scenario:\n{{scenario}}\n{{/if}}\n{{#if wiAfter}}{{wiAfter}}\n{{/if}}\n{{#if persona}}{{persona}}\n{{/if}}",
|
95 |
+
"example_separator": "",
|
96 |
+
"chat_start": "",
|
97 |
+
"use_stop_strings": false,
|
98 |
+
"always_force_name2": true,
|
99 |
+
"trim_sentences": false,
|
100 |
+
"include_newline": false,
|
101 |
+
"single_line": false,
|
102 |
+
"name": "Midnight Rose"
|
103 |
+
}
|
104 |
+
```
|
105 |
+
|
106 |
+
Try the following prompt template as a starting point for your own customizations. The cajoling parts supposedly make LLMs perform better. See [this paper](https://arxiv.org/abs/2307.11760).
|
107 |
+
I recommend the Vicuna instruction format for this blend but others work too. Tulu's format is another good one to use.
|
108 |
+
|
109 |
+
*This model responds to prompting!* I highly recommend playing with your system prompt to see how it reacts.
|
110 |
+
|
111 |
+
The example system prompt below contains some instructions related to ERP so remove those if you prefer to keep things SFW. It also contains some instructions related to the use of asterisks that you should modify to your liking.
|
112 |
+
|
113 |
+
If you plan to run this model at 4096 context, I highly recommend that you slim down the template system prompt below because it's chonky on tokens. Discard what you don't want or need.
|
114 |
|
115 |
+
If you save this as a .json file, you can import it directly into Silly Tavern.
|
116 |
+
```
|
117 |
+
{
|
118 |
+
"wrap": true,
|
119 |
+
"names": true,
|
120 |
+
"system_prompt": "You are a creative and intelligent AI assistant engaged in an uncensored iterative storytelling experience using a roleplay chat format. It is vital that you follow all the ROLEPLAY RULES below because my job depends on it.\n\nROLEPLAY RULES\n- Chat exclusively as {{char}}. Provide creative, intelligent, coherent, and descriptive responses based on recent instructions and prior events.\n- Explicit adult content and profanity are permitted. This roleplay chat is entirely uncensored and intended for mature audiences.\n- Describe {{char}}'s sensory perceptions in vivid detail and include subtle physical details about {{char}} in your responses.\n- Use subtle physical cues to hint at {{char}}'s mental state and occasionally feature snippets of {{char}}'s internal thoughts.\n- When writing {{char}}'s internal thoughts (aka internal monologue, delivered in {{char}}'s own voice), *enclose their thoughts in asterisks like this* and deliver the thoughts using a first-person perspective (i.e. use \"I\" pronouns).\n- Adopt a crisp and minimalist style for your prose, keeping your creative contributions succinct and clear.\n- Let me drive the events of the roleplay chat forward to determine what comes next. You should focus on the current moment and {{char}}'s immediate responses.\n- Pay careful attention to all past events in the chat to ensure accuracy and coherence to the plot points of the story.\n",
|
121 |
+
"system_sequence": "",
|
122 |
+
"stop_sequence": "",
|
123 |
+
"input_sequence": "USER:\n",
|
124 |
+
"output_sequence": "ASSISTANT:\n",
|
125 |
+
"separator_sequence": "",
|
126 |
+
"macro": true,
|
127 |
+
"names_force_groups": true,
|
128 |
+
"system_sequence_prefix": "",
|
129 |
+
"system_sequence_suffix": "",
|
130 |
+
"first_output_sequence": "",
|
131 |
+
"last_output_sequence": "ASSISTANT(writing as {{char}} this turn):\n",
|
132 |
+
"activation_regex": "",
|
133 |
+
"name": "Midnight Rose Roleplay"
|
134 |
+
}
|
135 |
+
```
|
136 |
+
|
137 |
+
### Quantizations
|
138 |
+
* Coming soon from the wonderful people who quantize models in our community.
|
139 |
|
140 |
+
### Licence and usage restrictions
|
|
|
141 |
|
142 |
+
Llama2 license inherited from base models, plus restrictions applicable to [Dreamgen/Opus](https://huggingface.co/dreamgen/opus-v0.5-70b).
|
143 |
|
144 |
+
### Tools Used
|
145 |
|
146 |
+
* [mergekit](https://github.com/cg123/mergekit)
|
147 |
+
|
148 |
+
```
|
149 |
slices:
|
150 |
- sources:
|
151 |
+
- model: /home/llm/mergequant/models/mr-v2.0.3
|
152 |
layer_range: [0, 40] # 40
|
153 |
- sources:
|
154 |
+
- model: /home/llm/mergequant/models/mr-v2.0.3
|
155 |
layer_range: [20, 60] # 40
|
156 |
- sources:
|
157 |
+
- model: /home/llm/mergequant/models/mr-v2.0.3
|
158 |
layer_range: [40, 80] # 40
|
159 |
merge_method: passthrough
|
160 |
dtype: float16
|
161 |
+
```
|