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

Model: Aratako/MistralPrism-24B
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-05-10 10:19:09 +08:00
commit d8141e16f6
20 changed files with 10455 additions and 0 deletions

59
.gitattributes vendored Normal file
View File

@@ -0,0 +1,59 @@
*.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-00010.safetensors filter=lfs diff=lfs merge=lfs -text
model-00006-of-00010.safetensors filter=lfs diff=lfs merge=lfs -text
model-00009-of-00010.safetensors filter=lfs diff=lfs merge=lfs -text
model-00005-of-00010.safetensors filter=lfs diff=lfs merge=lfs -text
model-00008-of-00010.safetensors filter=lfs diff=lfs merge=lfs -text
model-00001-of-00010.safetensors filter=lfs diff=lfs merge=lfs -text
model-00007-of-00010.safetensors filter=lfs diff=lfs merge=lfs -text
model-00003-of-00010.safetensors filter=lfs diff=lfs merge=lfs -text
tokenizer.json filter=lfs diff=lfs merge=lfs -text
model-00004-of-00010.safetensors filter=lfs diff=lfs merge=lfs -text
model-00010-of-00010.safetensors filter=lfs diff=lfs merge=lfs -text

194
README.md Normal file
View File

@@ -0,0 +1,194 @@
---
license: mit
language:
- ja
base_model:
- AlexHung29629/Mistral-Small-3.1-24B-Instruct-2503-text
- TheDrummer/Cydonia-24B-v3
- LatitudeGames/Harbinger-24B
- Gryphe/Pantheon-RP-1.8-24b-Small-3.1
- aixonlab/Eurydice-24b-v3
- Aratako/Mistral-Small-3.1-24B-RP
library_name: transformers
tags:
- merge
- mergekit
---
# MistralPrism-24B
[GGUF版はこちら/Click here for the GGUF version](https://huggingface.co/Aratako/MistralPrism-24B-GGUF)
## 概要
このモデルは、[mistralai/Mistral-Small-3.1-24B-Instruct-2503](https://huggingface.co/mistralai/Mistral-Small-3.1-24B-Instruct-2503)をベースにしたロールプレイ用モデルである[Aratako/Mistral-Small-3.1-24B-RP](https://huggingface.co/Aratako/Mistral-Small-3.1-24B-RP)に対して、海外製モデル複数とのマージを行い性能強化を図ったモデルです。
## 使い方
system promptにロールプレイさせたいキャラクターの設定や対話の状況等を入力してご利用ください。
### Chat Template
本モデルは以下のようなChat Templateで利用してください。
```
<s>[SYSTEM_PROMPT]system prompt[/SYSTEM_PROMPT][INST]user message 1[/INST]assistant message 1</s>[INST]user message 2[/INST]
```
以下のようにtokenizerの`apply_chat_template`によって加工できます。
```
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("Aratako/MistralPrism-24B")
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/MistralPrism-24B-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.15
# 実行
>>> こんにちは。あなたの名前を教えて
桜です!よろしくね、悠人くん
```
### vLLMを使った推論例
```python
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
# モデルのロード
model_name = "Aratako/MistralPrism-24B"
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.15,
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-Small-3.1-24BはREADME上で低めのtemperature0.15以下での利用が推奨されているので、このモデルも低temperatureで利用したほうが良いかもしれません。詳しくは未検証です。
- Vision部分は削除しているので、画像入力等は出来ません。
## MergeKit Config
本モデルは以下のモデルをマージに利用しています。
- [AlexHung29629/Mistral-Small-3.1-24B-Instruct-2503-text](https://huggingface.co/AlexHung29629/Mistral-Small-3.1-24B-Instruct-2503-text)
- [TheDrummer/Cydonia-24B-v3](https://huggingface.co/TheDrummer/Cydonia-24B-v3)
- [LatitudeGames/Harbinger-24B](https://huggingface.co/LatitudeGames/Harbinger-24B)
- [Gryphe/Pantheon-RP-1.8-24b-Small-3.1](https://huggingface.co/Gryphe/Pantheon-RP-1.8-24b-Small-3.1)
- [aixonlab/Eurydice-24b-v3](https://huggingface.co/aixonlab/Eurydice-24b-v3)
- [Aratako/Mistral-Small-3.1-24B-RP](https://huggingface.co/Aratako/Mistral-Small-3.1-24B-RP)
MergeKit Configは以下の通りです。
```yaml
name: step1
dtype: bfloat16
merge_method: della
base_model: AlexHung29629/Mistral-Small-3.1-24B-Instruct-2503-text
models:
- model: TheDrummer/Cydonia-24B-v3
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: LatitudeGames/Harbinger-24B
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: Gryphe/Pantheon-RP-1.8-24b-Small-3.1
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: aixonlab/Eurydice-24b-v3
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-Small-3.1-24B-RP
tokenizer_source: base
models:
- model: step1
parameters:
t: 1e-6
```
## ライセンス
MITライセンスの元公開します。

51
chat_template.jinja Normal file
View File

@@ -0,0 +1,51 @@
{%- set today = strftime_now("%Y-%m-%d") %}
{%- set default_system_message = "You are Mistral Small 3, a Large Language Model (LLM) created by Mistral AI, a French startup headquartered in Paris.\nYour knowledge base was last updated on 2023-10-01. The current date is " + today + ".\n\nWhen you're not sure about some information, you say that you don't have the information and don't make up anything.\nIf the user's question is not clear, ambiguous, or does not provide enough context for you to accurately answer the question, you do not try to answer it right away and you rather ask the user to clarify their request (e.g. \"What are some good restaurants around me?\" => \"Where are you?\" or \"When is the next flight to Tokyo\" => \"Where do you travel from?\")" %}
{{- bos_token }}
{%- if messages[0]['role'] == 'system' %}
{%- if messages[0]['content'] is string %}
{%- set system_message = messages[0]['content'] %}
{%- else %}
{%- set system_message = messages[0]['content'][0]['text'] %}
{%- endif %}
{%- set loop_messages = messages[1:] %}
{%- else %}
{%- set system_message = default_system_message %}
{%- set loop_messages = messages %}
{%- endif %}
{{- '[SYSTEM_PROMPT]' + system_message + '[/SYSTEM_PROMPT]' }}
{%- for message in loop_messages %}
{%- if message['role'] == 'user' %}
{%- if message['content'] is string %}
{{- '[INST]' + message['content'] + '[/INST]' }}
{%- else %}
{{- '[INST]' }}
{%- for block in message['content'] %}
{%- if block['type'] == 'text' %}
{{- block['text'] }}
{%- elif block['type'] in ['image', 'image_url'] %}
{{- '[IMG]' }}
{%- else %}
{{- raise_exception('Only text and image blocks are supported in message content!') }}
{%- endif %}
{%- endfor %}
{{- '[/INST]' }}
{%- endif %}
{%- elif message['role'] == 'system' %}
{%- if message['content'] is string %}
{{- '[SYSTEM_PROMPT]' + message['content'] + '[/SYSTEM_PROMPT]' }}
{%- else %}
{{- '[SYSTEM_PROMPT]' + message['content'][0]['text'] + '[/SYSTEM_PROMPT]' }}
{%- endif %}
{%- elif message['role'] == 'assistant' %}
{%- if message['content'] is string %}
{{- message['content'] + eos_token }}
{%- else %}
{{- message['content'][0]['text'] + eos_token }}
{%- endif %}
{%- else %}
{{- raise_exception('Only user, system and assistant roles are supported!') }}
{%- endif %}
{%- endfor %}

26
config.json Normal file
View File

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

1
configuration.json Normal file
View File

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

37
mergekit_config.yml Normal file
View File

@@ -0,0 +1,37 @@
name: step1
dtype: bfloat16
merge_method: della
base_model: AlexHung29629/Mistral-Small-3.1-24B-Instruct-2503-text
models:
- model: TheDrummer/Cydonia-24B-v3
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: LatitudeGames/Harbinger-24B
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: Gryphe/Pantheon-RP-1.8-24b-Small-3.1
parameters:
weight: 1.0
density: 0.4
epsilon: 0.1
- model: aixonlab/Eurydice-24b-v3
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-Small-3.1-24B-RP
tokenizer_source: base
models:
- model: step1
parameters:
t: 1e-6

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because one or more lines are too long

1032
special_tokens_map.json Normal file

File diff suppressed because it is too large Load Diff

3
tokenizer.json Normal file
View File

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

9021
tokenizer_config.json Normal file

File diff suppressed because it is too large Load Diff