初始化项目,由ModelHub XC社区提供模型
Model: Aratako/MistralPrism-24B Source: Original Platform
This commit is contained in:
194
README.md
Normal file
194
README.md
Normal 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上で低めのtemperature(0.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ライセンスの元公開します。
|
||||
Reference in New Issue
Block a user