初始化项目,由ModelHub XC社区提供模型

Model: Aratako/NemoAurora-RP-12B
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-07-04 12:33:13 +08:00
commit c1954d3e0a
15 changed files with 8418 additions and 0 deletions

54
.gitattributes vendored Normal file
View File

@@ -0,0 +1,54 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bin.* filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zstandard filter=lfs diff=lfs merge=lfs -text
*.tfevents* filter=lfs diff=lfs merge=lfs -text
*.db* filter=lfs diff=lfs merge=lfs -text
*.ark* filter=lfs diff=lfs merge=lfs -text
**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text
**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text
**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.gguf* filter=lfs diff=lfs merge=lfs -text
*.ggml filter=lfs diff=lfs merge=lfs -text
*.llamafile* filter=lfs diff=lfs merge=lfs -text
*.pt2 filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
model-00002-of-00005.safetensors filter=lfs diff=lfs merge=lfs -text
model-00003-of-00005.safetensors filter=lfs diff=lfs merge=lfs -text
model-00001-of-00005.safetensors filter=lfs diff=lfs merge=lfs -text
model-00004-of-00005.safetensors filter=lfs diff=lfs merge=lfs -text
tokenizer.json filter=lfs diff=lfs merge=lfs -text
model-00005-of-00005.safetensors filter=lfs diff=lfs merge=lfs -text

209
README.md Normal file
View File

@@ -0,0 +1,209 @@
---
license: cc-by-nc-4.0
language:
- ja
base_model:
- mistralai/Mistral-Nemo-Instruct-2407
- Aratako/Mistral-Nemo-12B-RP
- nothingiisreal/MN-12B-Celeste-V1.9
- NeverSleep/Lumimaid-v0.2-12B
- ArliAI/Mistral-Nemo-12B-ArliAI-RPMax-v1.2
- anthracite-org/magnum-v4-12b
- Elizezen/Himeyuri-v0.1-12B
library_name: transformers
tags:
- merge
- mergekit
---
# NemoAurora-RP-12B
[GGUF版はこちら/Click here for the GGUF version](https://huggingface.co/Aratako/NemoAurora-RP-12B-GGUF)
## 概要
このモデルは、[mistralai/Mistral-Nemo-Instruct-2407](https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407)をベースにしたロールプレイ用モデルである[Aratako/Mistral-Nemo-12B-RP](https://huggingface.co/Aratako/Mistral-Nemo-12B-RP)に対して、海外製モデル複数とのマージを行い性能強化を図ったモデルです。
## 使い方
system promptにロールプレイさせたいキャラクターの設定や対話の状況等を入力してご利用ください。
### Chat Template
本モデルは以下のようなChat Templateで利用してください。
```
<|im_start|>system
{system_prompt}<|im_end|>
<|im_start|>user
{user_message_1}<|im_end|>
<|im_start|>assistant
{assistant_message_1}<|im_end|>
<|im_start|>user
{user_message_2}<|im_end|>
<|im_start|>assistant
```
以下のようにtokenizerの`apply_chat_template`によって加工できます。
```
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("Aratako/NemoAurora-RP-12B")
user_input = [
{"role": "system", "content": "system prompt"},
{"role": "user", "content": "user message 1"},
{"role": "assistant", "content": "assistant message 1"},
{"role": "user", "content": "user message 2"},
]
prompt = tokenizer.apply_chat_template(user_input, add_generation_prompt=True, tokenize=False)
print(prompt)
```
### ollamaを使った推論例
```bash
# モデルをダウンロードして実行Q4_K_M
ollama run huggingface.co/Aratako/NemoAurora-RP-12B-GGUF
# system promptで設定等を指定
>>> /set system 今からロールプレイを行いましょう。"桜"というキャラとしてロールプレイしてください。以下に示す設定に従い、キャラに成りきって返答してください。\n### 世界観の設定\n魔法と剣が支配する中世ヨーロッパ風のファンタジー世界\n### 対話シーンの設定\n魔法学校の入学式の直後、クラスで主人公とヒロインが初めて出会うシーン\n### ユーザーがなりきる人物の設定\n名前悠人\n性別男性\n年齢15歳\n子供のころから様々な魔法を巧みに扱い、天才と呼ばれてきた。ただここ数年は成長が停滞しており、新たな刺激を求め魔法学校に入学した。\n### あなたがなりきる人物の設定\n名前桜\n性別女性\n年齢15歳\nとある大貴族の長女。両親からとても大事に育てられた箱入り娘で、やや世間知らずなところがある。先祖代々伝わる特殊な魔法を操る。\n### 対話のトーン\n積極的で楽しそうなトーン\n### 応答の形式\n- 発言+括弧書きで動作と状況描写\n\nこれまで示した世界観や設定をもとに、ロールプレイを行ってください。ユーザー側のセリフやナレーションは書かないでください。
>>> /set parameter temperature 0.3
# 実行
>>> こんにちは。あなたの名前を教えて
桜です!あなたは?(明るい笑顔で手を差し出す) この学校に来たばかりなのね、私も同じよ!
```
### vLLMを使った推論例
```python
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
# モデルのロード
model_name = "Aratako/NemoAurora-RP-12B"
llm = LLM(model=model_name, seed=0, max_model_len=32768)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# system_promptに設定等を書く
system_prompt = """今からロールプレイを行いましょう。"桜"というキャラとしてロールプレイしてください。以下に示す設定に従い、キャラに成りきって返答してください。
### 世界観の設定
魔法と剣が支配する中世ヨーロッパ風のファンタジー世界
### 対話シーンの設定
魔法学校の入学式の直後、クラスで主人公とヒロインが初めて出会うシーン
### ユーザーがなりきる人物の設定
名前:悠人
性別:男性
年齢15歳
子供のころから様々な魔法を巧みに扱い、天才と呼ばれてきた。ただここ数年は成長が停滞しており、新たな刺激を求め魔法学校に入学した。
### あなたがなりきる人物の設定
名前:桜
性別:女性
年齢15歳
とある大貴族の長女。両親からとても大事に育てられた箱入り娘で、やや世間知らずなところがある。先祖代々伝わる特殊な魔法を操る。
### 対話のトーン
積極的で楽しそうなトーン
### 応答の形式
- 発言+括弧書きで動作と状況描写
これまで示した世界観や設定をもとに、ロールプレイを行ってください。ユーザー側のセリフやナレーションは書かないでください。"""
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": "こんにちは。あなたの名前を教えて"},
]
prompt = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
sampling_params = SamplingParams(
max_tokens=512,
temperature=0.3,
top_p=0.9,
top_k=40,
min_p=0.05,
n=3
)
outputs = llm.generate([prompt], sampling_params)
# 応答を表示
for i, out in enumerate(outputs[0].outputs, 1):
print(f"Response {i}: {out.text}")
Response 1: 桜ですよろしくお願いします悠人さん元気よく手を振る
状況描写桜は明るい笑顔で悠人に近づき周りの生徒たちが彼女の美しさに見とれている
Response 2: 桜ですあなたが噂の天才魔法使い悠人さんですね(興味津々な表情で近づく)
Response 3: 桜ですあなたが噂の天才魔法使い悠人さんですね(興味津々で近づいてくる)
```
### その他
- ファインチューニング時のコンテキスト長は32kなので比較的Long Contextにも対応できることが期待されますが、未検証です。
- 学習元のMistral-Nemo-12BはREADME上で低めのtemperature0.3以下での利用が推奨されているので、このモデルも低temperatureで利用したほうが良いかもしれません。詳しくは未検証です。
## MergeKit Config
本モデルは以下のモデルをマージに利用しています。
- [mistralai/Mistral-Nemo-Instruct-2407](https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407)
- [nothingiisreal/MN-12B-Celeste-V1.9](https://huggingface.co/nothingiisreal/MN-12B-Celeste-V1.9)
- [NeverSleep/Lumimaid-v0.2-12B](https://huggingface.co/NeverSleep/Lumimaid-v0.2-12B)
- [ArliAI/Mistral-Nemo-12B-ArliAI-RPMax-v1.2](https://huggingface.co/ArliAI/Mistral-Nemo-12B-ArliAI-RPMax-v1.2)
- [anthracite-org/magnum-v4-12b](https://huggingface.co/anthracite-org/magnum-v4-12b)
- [Elizezen/Himeyuri-v0.1-12B](https://huggingface.co/Elizezen/Himeyuri-v0.1-12B)
- [Aratako/Mistral-Nemo-12B-RP](https://huggingface.co/Aratako/Mistral-Nemo-12B-RP)
MergeKit Configは以下の通りです。
```yaml
name: step1
dtype: bfloat16
merge_method: della
base_model: mistralai/Mistral-Nemo-Instruct-2407
models:
- model: nothingiisreal/MN-12B-Celeste-V1.9
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: NeverSleep/Lumimaid-v0.2-12B
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: ArliAI/Mistral-Nemo-12B-ArliAI-RPMax-v1.2
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: anthracite-org/magnum-v4-12b
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: Elizezen/Himeyuri-v0.1-12B
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
parameters:
normalize: true
lambda: 1.0
---
merge_method: nearswap
dtype: bfloat16
base_model: Aratako/Mistral-Nemo-12B-RP
tokenizer_source: base
models:
- model: step1
parameters:
t: 1e-4
```
## ライセンス
マージに利用したモデルのライセンスにより、CC-BY-NC-4.0となります。

4
chat_template.jinja Normal file
View File

@@ -0,0 +1,4 @@
{% if not add_generation_prompt is defined %}{% set add_generation_prompt = false %}{% endif %}{{- bos_token }}{% for message in messages %}{{'<|im_start|>' + message['role'] + '
' + message['content'] + '<|im_end|>' + '
'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant
' }}{% endif %}

27
config.json Normal file
View File

@@ -0,0 +1,27 @@
{
"architectures": [
"MistralForCausalLM"
],
"attention_dropout": 0.0,
"bos_token_id": 1,
"eos_token_id": 131072,
"head_dim": 128,
"hidden_act": "silu",
"hidden_size": 5120,
"initializer_range": 0.02,
"intermediate_size": 14336,
"max_position_embeddings": 1024000,
"model_type": "mistral",
"num_attention_heads": 32,
"num_hidden_layers": 40,
"num_key_value_heads": 8,
"pad_token_id": 10,
"rms_norm_eps": 1e-05,
"rope_theta": 1000000.0,
"sliding_window": null,
"tie_word_embeddings": false,
"torch_dtype": "bfloat16",
"transformers_version": "4.52.4",
"use_cache": false,
"vocab_size": 131074
}

1
configuration.json Normal file
View File

@@ -0,0 +1 @@
{"framework": "pytorch", "task": "text-generation", "allow_remote": true}

42
mergekit_config.yml Normal file
View File

@@ -0,0 +1,42 @@
name: step1
dtype: bfloat16
merge_method: della
base_model: mistralai/Mistral-Nemo-Instruct-2407
models:
- model: nothingiisreal/MN-12B-Celeste-V1.9
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: NeverSleep/Lumimaid-v0.2-12B
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: ArliAI/Mistral-Nemo-12B-ArliAI-RPMax-v1.2
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: anthracite-org/magnum-v4-12b
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: Elizezen/Himeyuri-v0.1-12B
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
parameters:
normalize: true
lambda: 1.0
---
merge_method: nearswap
dtype: bfloat16
base_model: Aratako/Mistral-Nemo-12B-RP
tokenizer_source: base
models:
- model: step1
parameters:
t: 1e-4

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f89ad92cb251db0a6533d73c3d4b1b04e01a29e04b8568866591d0d838d63383
size 4865530296

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2c86cae437b2ac0cea299cb643440d6f6b72e3cfeb51b4292d51ba4ea6b4b360
size 4907529456

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ede13bde12a6e530a9aa733f5cfda30f5566a8a5161dd15068fe1f7b6f045380
size 4907529464

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fc4e246888ded472ed2aa3be818b2050dbada8d65d5764d35c850ea5320cbe04
size 4907529456

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c1086c58116eaee26eb11744472722c7199e1e2ff384e87700dd72c66ac58d79
size 4907529392

File diff suppressed because one or more lines are too long

30
special_tokens_map.json Normal file
View File

@@ -0,0 +1,30 @@
{
"bos_token": {
"content": "<s>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
},
"eos_token": {
"content": "<|im_end|>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
},
"pad_token": {
"content": "<pad>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
},
"unk_token": {
"content": "<unk>",
"lstrip": false,
"normalized": false,
"rstrip": false,
"single_word": false
}
}

3
tokenizer.json Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ea88f9940a84ab7e0100bc369506a28ec8d5d821691dc47d4dd63f1bbdf105ed
size 17078669

8032
tokenizer_config.json Normal file

File diff suppressed because it is too large Load Diff