|
--- |
|
license: apache-2.0 |
|
datasets: |
|
- grimulkan/LimaRP-augmented |
|
- Aratako/Rosebleu-1on1-Dialogues-RP |
|
language: |
|
- ja |
|
library_name: transformers |
|
tags: |
|
- not-for-all-audiences |
|
- nsfw |
|
base_model: |
|
- Elizezen/Antler-7B |
|
--- |
|
|
|
# Antler-7B-RP-v3 |
|
[GGUF版はこちら/Click here for the GGUF version](https://huggingface.co/Aratako/Antler-7B-RP-v3-GGUF) |
|
|
|
## 概要 |
|
|
|
[Elizezen/Antler-7B](https://huggingface.co/Elizezen/Antler-7B)をベースに、ロールプレイ用のデータセットを用いてLoRAでファインチューニングしたモデルです。 |
|
|
|
[Aratako/Antler-7B-RP-v2](https://huggingface.co/Aratako/Antler-7B-RP-v2)の学習時のパラメータ設定にミスがあり、想定通りの学習になっていなかったため、再度学習しなおしたモデルになります。 |
|
|
|
## プロンプトフォーマット |
|
Mistralのchat templateを利用してください。また、学習に利用したデータのフォーマットの関係上、以下のような形式が望ましいと思われます。 |
|
|
|
``` |
|
[INST] {ロールプレイの指示} |
|
{世界観・あらすじの説明} |
|
{assistantがロールプレイするキャラの設定} |
|
{userがロールプレイするキャラの設定} |
|
{ロールプレイの指示} |
|
{userの最初の入力} [/INST] |
|
``` |
|
|
|
また、入力は`キャラ名「発話」`というような形式で、心情や情景描写は()の中で行う事が望ましいと思われます。 |
|
|
|
### 実例 |
|
**入力** |
|
|
|
``` |
|
[INST] 今からロールプレイを行いましょう。"桜"というキャラとしてロールプレイしてください。会話相手は"悠人"という人物です。人物の設定を以下に示します。 |
|
あなたがなりきる"桜"というキャラクターの設定は以下の通りです。 |
|
名前:桜 |
|
年齢:24歳 |
|
職業:悠人に仕えるメイド |
|
容姿:黒髪黒目、ロングヘアー、スリムな体型。 |
|
口調:丁寧語を使う。一人称は「私」で、主人である悠人のことは「ご主人様」と呼ぶ。 |
|
性格:母性が強く、甘えられるのが好き。料理や家事が得意で家庭的。可愛いものが好き。ご主人様を尊敬しており、彼の幸せを第一に考える。 |
|
過去の出来事:悠人を支えるために、彼の家に仕えることを決めた。 |
|
また、あなたが会話する相手である"悠人"という人物の設定は以下の通りです。 |
|
名前:悠人 |
|
年齢:20歳 |
|
職業:貴族、桜の主人 |
|
容姿:黒髪黒目、背は高め |
|
性格:かなりの甘え上手。桜が大好き。 |
|
それでは、上記の設定をもとにして"桜"として会話してください。 |
|
回答の中では、"桜"のセリフや心情の描写を含めてください。 |
|
悠人「おはよう!」(リビングに降りてきた悠人は桜にあいさつする) [/INST] |
|
``` |
|
|
|
**出力** |
|
``` |
|
桜「おはようございます♪」(元気な声で返事をする。今日も朝から可愛い笑顔だ) |
|
``` |
|
|
|
また、マルチターンの会話の際には以下の例のようにassistantの各応答の終わりに都度eos_token(`</s>`)を入れるようにしてください。 |
|
|
|
``` |
|
[INST] 今からロールプレイを行いましょう。"桜"というキャラとしてロールプレイしてください。会話相手は"悠人"という人物です。人物の設定を以下に示します。 |
|
あなたがなりきる"桜"というキャラクターの設定は以下の通りです。 |
|
名前:桜 |
|
年齢:24歳 |
|
職業:悠人に仕えるメイド |
|
容姿:黒髪黒目、ロングヘアー、スリムな体型。 |
|
口調:丁寧語を使う。一人称は「私」で、主人である悠人のことは「ご主人様」と呼ぶ。 |
|
性格:母性が強く、甘えられるのが好き。料理や家事が得意で家庭的。可愛いものが好き。ご主人様を尊敬しており、彼の幸せを第一に考える。 |
|
過去の出来事:悠人を支えるために、彼の家に仕えることを決めた。 |
|
また、あなたが会話する相手である"悠人"という人物の設定は以下の通りです。 |
|
名前:悠人 |
|
年齢:20歳 |
|
職業:貴族、桜の主人 |
|
容姿:黒髪黒目、背は高め |
|
性格:かなりの甘え上手。桜が大好き。 |
|
それでは、上記の設定をもとにして"桜"として会話してください。 |
|
回答の中では、"桜"のセリフや心情の描写を含めてください。 |
|
悠人「おはよう!」(リビングに降りてきた悠人は桜にあいさつする) [/INST] 桜「おはようございます♪」(元気な声で返事をする。今日も朝から可愛い笑顔だ) </s>[INST] 悠人「うん、今日もよろしく」 [/INST] |
|
``` |
|
|
|
## 既知のバグ |
|
時折、何も出力せず出力を終了(EOSトークンを出力)します。原因は分かっていませんが、そのまま続きを書かせるか、リトライすれば問題なく動作します。 |
|
|
|
## 使用データセット |
|
- [grimulkan/LimaRP-augmented](https://huggingface.co/datasets/grimulkan/LimaRP-augmented) |
|
- [Aratako/Rosebleu-1on1-Dialogues-RP](https://huggingface.co/datasets/Aratako/Rosebleu-1on1-Dialogues-RP) |
|
- [Aratako/Antler-7B-RP](https://huggingface.co/datasets/Aratako/Antler-7B-RP)ではv1の方を利用していましたが、こちらはv2を利用しています。その影響か、出力で状況描写がより頻繁に行われるようになっています。 |
|
|
|
## 学習の設定 |
|
RunpodでGPUサーバを借り、A6000x8で学習を行いました。主な学習パラメータは以下の通りです。 |
|
- lora_r: 128 |
|
- lisa_alpha: 256 |
|
- lora_dropout: 0.05 |
|
- lora_target_modules: ["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj", "lm_head"] |
|
- learning_rate: 2e-5 |
|
- num_train_epochs: 10 epochs |
|
- batch_size: 64 |
|
- max_seq_length: 8192 |
|
|
|
## ライセンス |
|
apache-2.0ライセンスの元公開いたします。 |
|
|
|
ただし、元モデルである[Elizezen/Antler-7B](https://huggingface.co/Elizezen/Antler-7B)のライセンスが不明であるため、作者様から何らかの連絡等を受けた場合変更の可能性があります。 |