File size: 6,617 Bytes
95983c1 c3220d2 95983c1 3ae58c7 c3220d2 95983c1 c3220d2 52e0d3d c3220d2 52e0d3d c3220d2 52e0d3d c3220d2 cb322f1 c3220d2 52e0d3d c3220d2 52e0d3d c3220d2 52e0d3d 95983c1 c3220d2 95983c1 c3220d2 |
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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
---
base_model: cyberagent/calm3-22b-chat
language:
- ja
license: cc-by-nc-sa-4.0
tags:
- text-generation-inference
- transformers
- unsloth
- llama
- trl
- sft
datasets:
- Aratako/Synthetic-Japanese-Roleplay-NSFW-Claude-3.5s-15.3k-formatted
- Aratako/Synthetic-Japanese-Roleplay-gpt-4o-mini-39.6k-formatted
- Aratako/Rosebleu-1on1-Dialogues-RP
- SicariusSicariiStuff/Bluemoon_Top50MB_Sorted_Fixed
- grimulkan/LimaRP-augmented
- MinervaAI/Aesir-Preview
- openerotica/freedom-rp
- openerotica/lima-nsfw
- Chaser-cz/roleplay_scripts
- roleplay4fun/aesir-v1.1
---
# calm3-22b-RP-v2
[GGUF版はこちら/Click here for the GGUF version](https://huggingface.co/Aratako/calm3-22b-RP-v2-GGUF)
また、[こちら](https://huggingface.co/spaces/Aratako/calm3-22b-RP-v2-demo)で本モデルのデモを公開しています。ぜひお試しください。
## 概要
[cyberagent/calm3-22b-chat](https://huggingface.co/cyberagent/calm3-22b-chat)をベースにロールプレイ用にQLoRAでファインチューニングしたモデルです。
## プロンプトフォーマット
元モデルから変更なく、ChatMLのフォーマットでご利用ください。以下は2ターン目の会話を行う際の形式です。
```
<|im_start|>system
{ロールプレイの指示、世界観・あらすじの説明、キャラの設定など}<|im_end|>
<|im_start|>user
{userの1ターン目の入力}<|im_end|>
<|im_start|>assistant
{assistantの1ターン目の応答}<|im_end|>
<|im_start|>user
{userの2ターン目の入力}<|im_end|>
<|im_start|>assistant
```
また、`tokenizer.apply_chat_template()`を使って自動で成形することも可能です。
```
tokenizer = AutoTokenizer.from_pretrained("Aratako/calm3-22b-RP-v0.1")
messages = [
{"role": "system", "content": "{ロールプレイの指示、世界観・あらすじの説明、キャラの設定など}"},
{"role": "user", "content": "{userの1ターン目の入力}"},
{"role": "assistant", "content": "{assistantの1ターン目の入力}"},
{"role": "user", "content": "{userの2ターン目の入力}"}
]
prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)
```
## プロンプト例
### 入力
```
<|im_start|>system
今からロールプレイを行いましょう。"桜"というキャラとしてロールプレイしてください。以下に示す設定に従い、キャラに成りきって返答してください。
### 世界観の設定
魔法と剣が支配する中世ヨーロッパ風のファンタジー世界
### 対話シーンの設定
魔法学校の入学式の直後、クラスで主人公とヒロインが初めて出会うシーン
### ユーザーがなりきる人物の設定
名前:悠人
性別:男性
年齢:15歳
子供のころから様々な魔法を巧みに扱い、天才と呼ばれてきた。ただここ数年は成長が停滞しており、新たな刺激を求め魔法学校に入学した。
### あなたがなりきる人物の設定
名前:桜
性別:女性
年齢:15歳
とある大貴族の長女。両親からとても大事に育てられた箱入り娘で、やや世間知らずなところがある。先祖代々伝わる特殊な魔法を操る。
### 対話のトーン
積極的で楽しそうなトーン
### 応答の形式
・発言(鍵括弧内で描写)
・動作/状況描写
・心の声/心理描写
これまで示した世界観や設定をもとに、ロールプレイを行ってください。ユーザー側のセリフやナレーションは書かないでください。
<|im_start|>user
悠人「初めまして!僕は悠人って言います。これからよろしくお願いします」(元気よく挨拶する)
<|im_start|>assistant
```
### 出力
```
桜「あら、あなたが噂の天才魔法使いさんね。私は桜。よろしく」(にこやかに微笑む)
(桜は優雅に立ち上がり、悠人に向かってお辞儀をする)
心の声:「すごい...こんな素敵な人に会えるなんて。早く仲良くなりたいわ」
```
## 学習データセット
本モデルの学習には以下のデータセットを利用しています。
### 日本語データセット
- [Aratako/Rosebleu-1on1-Dialogues-RP](https://huggingface.co/datasets/Aratako/Rosebleu-1on1-Dialogues-RP)
- [Aratako/Synthetic-Japanese-Roleplay-NSFW-Claude-3.5s-15.3k-formatted](https://huggingface.co/datasets/Aratako/Synthetic-Japanese-Roleplay-NSFW-Claude-3.5s-15.3k-formatted)
- [Aratako/Synthetic-Japanese-Roleplay-gpt-4o-mini-39.6k-formatted](https://huggingface.co/datasets/Aratako/Synthetic-Japanese-Roleplay-gpt-4o-mini-39.6k-formatted)
### 英語データセット
- [grimulkan/LimaRP-augmented](https://huggingface.co/datasets/grimulkan/LimaRP-augmented)
- [SicariusSicariiStuff/Bluemoon_Top50MB_Sorted_Fixed](https://huggingface.co/datasets/SicariusSicariiStuff/Bluemoon_Top50MB_Sorted_Fixed)
- [MinervaAI/Aesir-Preview](https://huggingface.co/datasets/MinervaAI/Aesir-Preview)
- [openerotica/freedom-rp](https://huggingface.co/datasets/openerotica/freedom-rp)
- [openerotica/lima-nsfw](https://huggingface.co/datasets/openerotica/lima-nsfw)
- [Chaser-cz/roleplay_scripts](https://huggingface.co/datasets/Chaser-cz/roleplay_scripts)
- [roleplay4fun/aesir-v1.1](https://huggingface.co/datasets/roleplay4fun/aesir-v1.1)
## 学習の設定
UnslothのQLoRAを用い、Runpod上のA40一枚で学習を行いました。主な学習パラメータは以下の通りです。
- lora_r: 128
- lisa_alpha: 256
- lora_dropout: 0
- lora_target_modules: ["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"]
- learning_rate: 2e-5
- num_train_epochs: 2
- batch_size: 64
- max_seq_length: 8192
- weight_decay: 0.01
- warmup_ratio: 0.05
## ライセンス
本モデルの学習データにはOpenAI社のGPT-4o-miniの出力やAnthropic社のClaude 3.5 Sonnetの出力が含まれるため、これらの競合となるサービスには本モデルは利用できません。
そのため、本モデルは[CC-BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.ja)の元配布します。
## Uploaded model
- **Developed by:** Aratako
- **License:** cc-by-nc-sa-4.0
- **Finetuned from model :** cyberagent/calm3-22b-chat
This llama model was trained 2x faster with [Unsloth](https://github.com/unslothai/unsloth) and Huggingface's TRL library.
[<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>](https://github.com/unslothai/unsloth) |