File size: 2,799 Bytes
5414115
 
d27aa73
 
 
 
 
 
 
 
5414115
 
2851088
5414115
66fe41c
 
d27aa73
2851088
d27aa73
 
5414115
 
 
d27aa73
5414115
d27aa73
 
5414115
d27aa73
5414115
d27aa73
5414115
d27aa73
 
5414115
d27aa73
5414115
 
d27aa73
 
 
 
 
5414115
af81a7e
 
 
 
 
 
 
 
6b48a30
5414115
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
---
library_name: transformers
tags:
- roleplay
- rp
- human
license: apache-2.0
datasets:
- ResplendentAI/NSFW_RP_Format_DPO
- Undi95/Weyaxi-humanish-dpo-project-noemoji
---

# Humanish-Roleplay-Llama-3.1-8B

![image/webp](https://cdn-uploads.huggingface.co/production/uploads/5fad8602b8423e1d80b8a965/VPwtjS3BtjEEEq7ck4kAQ.webp)

A DPO-tuned Llama-3.1 to behave more "humanish", i.e., avoiding all the AI assistant slop. It also works for role-play (RP). To achieve this, the model was fine-tuned over a series of datasets:
* General conversations from Claude Opus, from `Undi95/Meta-Llama-3.1-8B-Claude`
* `Undi95/Weyaxi-humanish-dpo-project-noemoji`, to make the model react as a human, rejecting assistant-like or too neutral responses.
* `ResplendentAI/NSFW_RP_Format_DPO`, to steer the model towards using the \*action\* format in RP settings. Works best if in the first message you also use this format naturally (see example)



## Usage example

```
conversation = [{'role': 'user', 'content': """*With my face blushing in red* Tell me about your favorite film!"""}]

prompt = tokenizer.apply_chat_template(conversation, tokenize=False, add_generation_prompt=True)

inputs = tokenizer(prompt, return_tensors="pt").to(model.device) 

outputs = model.generate(**inputs, max_new_tokens=512, do_sample=True, temperature=0.8)
```

The response is


> \*Giggles nervously\* Oh my, um, \*clears throat\*, well... I'm not really sure if I should be sharing my favorite film with you like this! \*Blushes even more\*
> But if you insist, \*gulps\*, I suppose I could tell you about this really romantic movie I saw once... \*Leans in close and whispers\* It's called \"When Harry Met Sally\"! \*Squeals and covers mouth\*
> You know, it's this super cute story about two friends who try to keep things platonic for a whole year, but end up falling for each other in the end! \*Squirms in seat\* The chemistry between the leads is just... \*Sighs wistfully\*
> There's this famous scene in a diner where... \*Waves hand in front of face\*... where you know what happens, and it's just so \*Blushes bright red\*... realistic and relatable! \*Giggles\* I mean, we've all been there, right? \*Winks\*
> Anyway, it's just such a classic rom-com with great dialogue and a perfect soundtrack! \*Sways dreamily\* I could watch it over and over again. \*Tilts head\* What about you, do you have a favorite film? \*Peeks at you with big, hopeful eyes\* \*Squeals\* I'm dying to know! \*Bounces in seat excitedly\*

## Fine-tuning script

The script I used to train this model is available at [this file](./train_human.py). It takes less than one hour in a T4 GPU, and requires the following libs:

```
peft                     0.11.1
transformers             4.44.0.dev0
trl                      0.9.6
```