|
--- |
|
base_model: cyberagent/calm3-22b-chat |
|
language: |
|
- ja |
|
license: cc-by-nc-sa-4.0 |
|
tags: |
|
- text-generation-inference |
|
- transformers |
|
- unsloth |
|
- llama |
|
- trl |
|
datasets: |
|
- Aratako/Synthetic-Japanese-Roleplay-NSFW-Claude-3.5s-10.5k-formatted |
|
- Aratako/Synthetic-Japanese-Roleplay-gpt-4o-mini-19.8k-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-v0.1 |
|
[cyberagent/calm3-22b-chat](https://huggingface.co/cyberagent/calm3-22b-chat)をベースにロールプレイ用にQLoRAでファインチューニングしたモデルです。 |
|
|
|
[Aratako/calm3-22b-RP](https://huggingface.co/Aratako/calm3-22b-RP)の素材となるモデルとして利用しています。 |
|
|
|
# プロンプトフォーマット |
|
元モデルから変更なく、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) |
|
``` |
|
|
|
# 学習データセット |
|
本モデルの学習には以下のデータセットを利用しています。 |
|
|
|
### 日本語データセット |
|
- [Aratako/Rosebleu-1on1-Dialogues-RP](https://huggingface.co/datasets/Aratako/Rosebleu-1on1-Dialogues-RP) |
|
- [Aratako/Synthetic-Japanese-Roleplay-NSFW-Claude-3.5s-10.5k-formatted](https://huggingface.co/datasets/Aratako/Synthetic-Japanese-Roleplay-NSFW-Claude-3.5s-10.5k-formatted) |
|
- [Aratako/Synthetic-Japanese-Roleplay-gpt-4o-mini-19.8k-formatted](https://huggingface.co/datasets/Aratako/Synthetic-Japanese-Roleplay-gpt-4o-mini-19.8k-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上のA10一枚で学習を行いました。主な学習パラメータは以下の通りです。 |
|
- 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: 5e-5 |
|
- num_train_epochs: 1 |
|
- 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) |