MistralPrism-24B

GGUF版はこちら/Click here for the GGUF version

概要

このモデルは、mistralai/Mistral-Small-3.1-24B-Instruct-2503をベースにしたロールプレイ用モデルである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を使った推論例

# モデルをダウンロードして実行(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を使った推論例

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上で低めのtemperature(0.15以下)での利用が推奨されているので、このモデルも低temperatureで利用したほうが良いかもしれません。詳しくは未検証です。
  • Vision部分は削除しているので、画像入力等は出来ません。

MergeKit Config

本モデルは以下のモデルをマージに利用しています。

MergeKit Configは以下の通りです。

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ライセンスの元公開します。

Downloads last month
50
Safetensors
Model size
23.6B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Aratako/MistralPrism-24B