|
--- |
|
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) |