metadata
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
また、こちらで本モデルのデモを公開しています。ぜひお試しください。
概要
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
- Aratako/Synthetic-Japanese-Roleplay-NSFW-Claude-3.5s-15.3k-formatted
- Aratako/Synthetic-Japanese-Roleplay-gpt-4o-mini-39.6k-formatted
英語データセット
- grimulkan/LimaRP-augmented
- SicariusSicariiStuff/Bluemoon_Top50MB_Sorted_Fixed
- MinervaAI/Aesir-Preview
- openerotica/freedom-rp
- openerotica/lima-nsfw
- Chaser-cz/roleplay_scripts
- 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の元配布します。
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 and Huggingface's TRL library.