Update README.md
Browse files
README.md
CHANGED
@@ -1,3 +1,122 @@
|
|
1 |
---
|
2 |
license: apache-2.0
|
|
|
|
|
|
|
|
|
|
|
3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
license: apache-2.0
|
3 |
+
language:
|
4 |
+
- en
|
5 |
+
pipeline_tag: conversational
|
6 |
+
tags:
|
7 |
+
- not-for-all-audiences
|
8 |
---
|
9 |
+
|
10 |
+
# Limamono-7B (Mistral) v0.3
|
11 |
+
This is a very early version of a strongly NSFW roleplaying model with _extremely limited amounts_
|
12 |
+
of almost entirely synthetic data of hopefully higher quality than typical human conversations.
|
13 |
+
|
14 |
+
Limamono tries to address the main issues and limitations of the previously released [LimaRP](https://huggingface.co/datasets/lemonilia/LimaRP)
|
15 |
+
and is composed of extensively modified conversations written with the help of base [Yi-34](https://huggingface.co/01-ai/Yi-34B)
|
16 |
+
model by 01.ai.
|
17 |
+
|
18 |
+
A defining characteristic of Limamono is _mind reading_. Characters may (not necessarily always)
|
19 |
+
include thoughts in a seamless fashion inside their utterances.
|
20 |
+
|
21 |
+
The prose style of this model is a somewhat extended book/novel format (further detailed below).
|
22 |
+
Other formats are not supported and may conflict with the special features of this model.
|
23 |
+
|
24 |
+
**Note**: there is currently no plan to release the dataset.
|
25 |
+
|
26 |
+
## Prompt format
|
27 |
+
Limamono uses the [extended Alpaca format](https://github.com/tatsu-lab/stanford_alpaca),
|
28 |
+
with `### Input:` immediately preceding user inputs and `### Response:` immediately preceding
|
29 |
+
model outputs. It's been trained with a fixed "trigger phrase" similar to that of the original
|
30 |
+
Alpaca before the `### Instruction` sequence, following a similar template.
|
31 |
+
|
32 |
+
```
|
33 |
+
Below is an instruction that describes background information for a story-rich chat. Write an appropriate response for both the instruction and user input.
|
34 |
+
|
35 |
+
### Instruction:
|
36 |
+
{{char}}
|
37 |
+
{{description}}
|
38 |
+
|
39 |
+
Scenario: {{scenario}}
|
40 |
+
|
41 |
+
### Response:
|
42 |
+
{{char}}: [utterance]
|
43 |
+
|
44 |
+
### Input:
|
45 |
+
{{user}}: [utterance]
|
46 |
+
|
47 |
+
### Response:
|
48 |
+
{{char}}: [utterance]
|
49 |
+
|
50 |
+
[etc...]
|
51 |
+
```
|
52 |
+
|
53 |
+
More in detail, the instruction should _preferably_ include a moderately long (a few hundred tokens
|
54 |
+
long) character description made in the style of the various fandom wikis on the Internet, with the
|
55 |
+
character name as the first line.
|
56 |
+
|
57 |
+
### Message length control
|
58 |
+
Inspired by the previously named "Roleplay" preset in SillyTavern, like with LimaRP it is possible to
|
59 |
+
append a length modifier to the instruction sequences in this way:
|
60 |
+
|
61 |
+
```
|
62 |
+
### Response: (length = medium)
|
63 |
+
{{char}}: {utterance}
|
64 |
+
|
65 |
+
### Input: (length = tiny)
|
66 |
+
{{user}}: {utterance}
|
67 |
+
```
|
68 |
+
|
69 |
+
This has an effect on bot responses, but as of now it might not always reliably work. The lengths
|
70 |
+
using during training are: `micro`, `tiny`, `short`, `medium`, `long`, `massive`, `huge`.
|
71 |
+
|
72 |
+
- It is recommended not to use a length modifier at all for character responses, except as a
|
73 |
+
_temporary measure_ for increasing message length.
|
74 |
+
- It is suggested to add `(length = tiny)` to the `### Input:` sequence, on the other hand.
|
75 |
+
|
76 |
+
## Prose style
|
77 |
+
Only The Novel/Forum RP style is supported.
|
78 |
+
|
79 |
+
### Style details
|
80 |
+
- Narration does not have any delimiter.
|
81 |
+
- `Jessica looked at Mark with disdain.`
|
82 |
+
- Dialogues wrapped with with ASCII double quotation marks. Fancy quotes are not supported.
|
83 |
+
- `"I say this."`
|
84 |
+
- Onomatopoeias are wrapped with with asterisks.
|
85 |
+
- `*thud*`
|
86 |
+
- Character thoughts are wrapped with underscores. **This may often occur with Limamono.**
|
87 |
+
- `_What is he doing?_`
|
88 |
+
- Non-dialogue quotes are wrapped with two apostrophes on each side. This avoids conflicts with quotation marks in SillyTavern.
|
89 |
+
- `''The Jungle Book''`
|
90 |
+
- Punctuation has been normalized and tries to follow standard convensions for book/novel writing.
|
91 |
+
|
92 |
+
## Example
|
93 |
+
This is how a typical RP chat may take place with this model. Note the presence of
|
94 |
+
character thoughts.
|
95 |
+
|
96 |
+
![example](https://files.catbox.moe/ch2bo2.png)
|
97 |
+
|
98 |
+
## Training procedure
|
99 |
+
[Axolotl](https://github.com/OpenAccess-AI-Collective/axolotl) was used for training
|
100 |
+
on one NVidia RTX3090.
|
101 |
+
|
102 |
+
### Training hyperparameters
|
103 |
+
- load_in_8bit: true
|
104 |
+
- adapter: lora
|
105 |
+
- sequence_len: 4096
|
106 |
+
- sample_packing: false
|
107 |
+
- pad_to_sequence_len: true
|
108 |
+
- lora_r: 8
|
109 |
+
- lora_alpha: 16
|
110 |
+
- lora_dropout: 0.5
|
111 |
+
- gradient_accumulation_steps: 1
|
112 |
+
- micro_batch_size: 1
|
113 |
+
- num_epochs: 3
|
114 |
+
- optimizer: adamw_torch
|
115 |
+
- lr_scheduler: constant
|
116 |
+
- learning_rate: 0.00018
|
117 |
+
- weight_decay: 0.1
|
118 |
+
- train_on_inputs: false
|
119 |
+
- group_by_length: false
|
120 |
+
- bf16: true
|
121 |
+
- fp16: false
|
122 |
+
- tf32: true
|