File size: 2,821 Bytes
284bf0e
6588361
284bf0e
 
 
 
 
 
 
 
 
 
 
 
32ff84e
 
284bf0e
 
 
 
 
ff21488
284bf0e
 
 
 
 
 
6b57616
e531908
 
 
 
 
 
 
 
 
 
 
 
284bf0e
e531908
284bf0e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
57
58
59
60
61
62
63
64
65
66
67
68
69
---
license: cc-by-nc-4.0
datasets:
- Aratako/Rosebleu-1on1-Dialogues-RP
- Aratako/LimaRP-augmented-ja-karakuri
- grimulkan/LimaRP-augmented
- Aratako/Bluemoon_Top50MB_Sorted_Fixed_ja
- SicariusSicariiStuff/Bluemoon_Top50MB_Sorted_Fixed
- OmniAICreator/Japanese-Roleplay
language:
- ja
library_name: transformers
tags:
- roleplay
- merge
- mergekit
base_model:
- Aratako/Ninja-v1-RP-WIP
---

# Ninja-v1-RP
[GGUF版はこちら/Click here for the GGUF version](https://huggingface.co/Aratako/Ninja-v1-RP-GGUF)

## 概要
This is a merge of pre-trained language models created using [mergekit](https://github.com/cg123/mergekit).

[Aratako/Ninja-v1-RP-WIP](https://huggingface.co/Aratako/Ninja-v1-RP-WIP)をベースに、Task Vectorの加算・Model Stockによるマージを行い指示追従能力と表現力を強化したロールプレイ用モデルです。

マージ元モデルの学習データセット等の詳細は元モデルのモデルカードを参照してください。

## プロンプトフォーマット
Vicunaのchat templateを利用してください。また、設定などを渡すシステムプロンプトは最初の`USER: `より前に入力されることを想定しています。

また、マルチターンの対話を行う場合各ターンのアシスタントの応答の末尾に`eos_token``</s>`)を必ずつけてください。

```
{ロールプレイの指示、世界観・あらすじの説明、キャラの設定など}
USER: {userの最初の入力}
ASSISTANT: 
```

## マージの詳細
まず、[Aratako/Ninja-v1-RP-WIP](https://huggingface.co/Aratako/Ninja-v1-RP-WIP)に対し、以下4つの英語RP用モデルのTask Vectorを0.8倍して加算し、4種類のTask Vector加算モデルを作成しました。

- [senseable/WestLake-7B-v2](https://huggingface.co/senseable/WestLake-7B-v2)
- [SanjiWatsuki/Kunoichi-DPO-v2-7B](https://huggingface.co/SanjiWatsuki/Kunoichi-DPO-v2-7B)
- [SanjiWatsuki/Silicon-Maid-7B](https://huggingface.co/SanjiWatsuki/Silicon-Maid-7B)
- [SanjiWatsuki/Loyal-Macaroni-Maid-7B](https://huggingface.co/SanjiWatsuki/Loyal-Macaroni-Maid-7B)

各モデルのTask Vectorの加算の式は以下の通りです。
```
new_model = Ninja-v1-RP-WIP + 0.8 * (target_model - Mistral-7B-v0.1)
```

次に、このTask Vector加算によってできた4モデルと元のモデルを、Model Stockという手法を用い以下のようなconfigを使ってmergekitでマージし、このモデルを作成しました。

```yaml
models:
  - model: ./Ninja-v1-RP-WIP
  - model: ./Ninja-v1-RP-WIP-Kunoichi
  - model: ./Ninja-v1-RP-WIP-SiliconMaid
  - model: ./Ninja-v1-RP-WIP-WestLake
  - model: ./Ninja-v1-RP-WIP-LoyalMacaroniMaid
merge_method: model_stock
base_model: ./Ninja-v1-RP-WIP
dtype: bfloat16
tokenizer_source: union

```