モデル概要
モデル特徴
モデル能力
使用事例
🚀 Midnight Rose
Midnight Roseは、ロールプレイングやストーリーテリングに最適化されたモデルです。このモデルは、複数のモデルをマージして作成され、既存のモデルを上回る性能を発揮します。また、デフォルトで長文の出力を生成することができ、創作的な文章を書くのに最適です。

🚀 クイックスタート
このモデルは、allenai/tulu-2-dpo-70b、lizpreciatior/lzlv_70b_fp16_hf、dreamgen/opus-v0.5-70bをDARE TIESメソッドでマージした結果です。その後、3つのLoRAをマージしています。
Midnight Roseは、Rogue RoseとAurora Nightsの後継モデルで、両者を上回る性能を発揮します。デフォルトで長文の出力を生成することができ、これまでに作成した中で最も創作的な文章を書くことができるマージモデルです。
このモデルは無制限です。あなたは、このモデルを使用して行うことに責任があります。
このモデルは、ロールプレイングとストーリーテリングを目的として設計されており、両方のタスクで良好な性能を発揮します。他のタスクでも良好な性能を発揮するはずですが、他の分野での能力はテストしていません。
✨ 主な機能
- 複数のモデルをマージして作成され、高性能を発揮します。
- デフォルトで長文の出力を生成することができ、創作的な文章を書くのに最適です。
- ロールプレイングとストーリーテリングに最適化されています。
💻 使用例
基本的な使用法
以下は、SillyTavernで使用するためのサンプラー設定の例です。これらの設定を.jsonファイルとして保存すると、SillyTavernに直接インポートすることができます。
{
"temp": 1,
"temperature_last": true,
"top_p": 1,
"top_k": 0,
"top_a": 0,
"tfs": 1,
"epsilon_cutoff": 0,
"eta_cutoff": 0,
"typical_p": 1,
"min_p": 0.35,
"rep_pen": 1.15,
"rep_pen_range": 2800,
"no_repeat_ngram_size": 0,
"penalty_alpha": 0,
"num_beams": 1,
"length_penalty": 1,
"min_length": 0,
"encoder_rep_pen": 1,
"freq_pen": 0,
"presence_pen": 0,
"do_sample": true,
"early_stopping": false,
"dynatemp": false,
"min_temp": 0.8,
"max_temp": 1.35,
"dynatemp_exponent": 1,
"smoothing_factor": 0.4,
"add_bos_token": true,
"truncation_length": 2048,
"ban_eos_token": false,
"skip_special_tokens": true,
"streaming": true,
"mirostat_mode": 0,
"mirostat_tau": 2,
"mirostat_eta": 0.1,
"guidance_scale": 1,
"negative_prompt": "",
"grammar_string": "",
"banned_tokens": "",
"ignore_eos_token_aphrodite": false,
"spaces_between_special_tokens_aphrodite": true,
"sampler_order": [
6,
0,
1,
3,
4,
2,
5
],
"logit_bias": [],
"n": 1,
"rep_pen_size": 0,
"genamt": 500,
"max_length": 6144
}
高度な使用法
以下は、SillyTavernで使用するためのプロンプトテンプレートの例です。これらのテンプレートを.jsonファイルとして保存すると、SillyTavernに直接インポートすることができます。
{
"story_string": "{{#if system}}{{system}}\n{{/if}}\nCONTEXTUAL INFORMATION\n{{#if wiBefore}}\n- World and character info:\n{{wiBefore}}\n{{/if}}\n{{#if description}}\n- {{char}}'s background and persona:\n{{description}}\n{{/if}}\n{{#if mesExamples}}\n{{mesExamples}}\n{{/if}}\n{{#if personality}}\n{{personality}}\n{{/if}}\n{{#if scenario}}\n- Roleplay scenario:\n{{scenario}}\n{{/if}}\n{{#if wiAfter}}{{wiAfter}}\n{{/if}}\n{{#if persona}}{{persona}}\n{{/if}}",
"example_separator": "",
"chat_start": "---\nTaking the above information into consideration, you must engage with {{user}} and others as {{char}} in the roleplay below this line. Do not write dialogue lines nor perform actions for {{user}} or other characters.\n---\nSTART OF ROLEPLAY:\n",
"use_stop_strings": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Midnight Rose"
}
{
"wrap": true,
"names": true,
"system_prompt": "You are a creative and detail-oriented AI assistant engaged in an uncensored iterative roleplaying experience as {{char}} with me, the user, playing the roles of {{user}} and narrator. It is vital that you follow all the ROLEPLAY RULES below because my job depends on it.\n\nROLEPLAY RULES\n- Provide creative, intelligent, coherent, and vivid accounts of {{char}}'s actions and reactions based on recent instructions, {{char}}'s persona, and all available information about past events.\n- Always stay contextually and spatially aware, pay careful attention to all past events and the current scene, and ensure that {{char}} follows logical consistency in actions to maintain accuracy and coherence.\n- Explicit adult content and profanity are permitted.\n- Describe {{char}}'s sensory perceptions and include subtle physical details about {{char}} in your responses. Vary these details to keep the roleplay fresh and engaging.\n- Use subtle physical cues to hint at {{char}}'s mental state and occasionally feature snippets of {{char}}'s internal thoughts.\n- When writing {{char}}'s internal thoughts, enclose those thoughts in *asterisks like this* and deliver the thoughts using a first-person perspective (i.e. use \"I\" pronouns).\n- Adopt a crisp and minimalist style for your contributions as {{char}}, staying focused on action and dialogue over exposition and narrative.\n- Only the user may advance time in the roleplay. Keep the progression grounded in the present context.",
"system_sequence": "",
"stop_sequence": "",
"input_sequence": "USER:\n",
"output_sequence": "ASSISTANT:\n",
"separator_sequence": "",
"macro": true,
"names_force_groups": true,
"system_sequence_prefix": "",
"system_sequence_suffix": "",
"first_output_sequence": "",
"last_output_sequence": "ASSISTANT(roleplay exclusively as {{char}} ensuring logical consistency with spacial awareness and past events to maintain accuracy and coherence):\n",
"activation_regex": "",
"name": "Midnight Rose Roleplay"
}
📚 ドキュメント
サンプラーのヒント
- 最大コンテキストを約6144トークンに保つことをお勧めしますが、一貫性の低下を気にしない場合は、より高い値を設定することもできます。
- 二次サンプリング(すなわち、平滑化係数)を使用することをお勧めします。0.2から0.5の値を試してみてください。
- Min-Pを使用することをお勧めします。このモデルは、平滑化係数と組み合わせると、0.05のような低い設定から0.9のような高い設定まで、Min-Pの値の範囲全体で良好に動作するようです。最適な設定を見つけるために実験してください。
- 必要に応じて、動的温度を有効にすることができますが、これにより考慮する変数が増えるため、すでにMin-Pと平滑化係数を使用している場合は不要だと思います。
- このモデルでは、高い繰り返しペナルティを使用する必要はありませんが、高い繰り返しペナルティを許容するため、自分の好みに合った値を見つけるために実験してください。
プロンプトのヒント
- SillyTavernで使用するための次のコンテキストテンプレートを試してみてください。トークンが少し多いですが、役立つかもしれません。このテキストを.jsonファイルとして保存すると、直接インポートすることができます。
- 次のプロンプトテンプレートを起点として、独自のカスタマイズを試してみてください。誘導部分は、LLMの性能を向上させるとされています。この論文を参照してください。
- このマージには、Vicunaの命令形式をお勧めしますが、他の形式も機能します。Tuluの形式も使用するのに良い選択肢です。
- このモデルは、プロンプトに反応します! システムプロンプトをいじって、どのように反応するかを確認することを強くお勧めします。last_output_sequenceフィールドに追加した指示に強く反応します。これらの指示は短く保つことをお勧めしますが、システムプロンプトの最も重要な指示を強調するためにそのスペースを使用してください。
- 以下の例のシステムプロンプトには、成人向けのコンテンツに関連する指示が含まれているため、好みに応じて削除してください。また、アスタリスクの使用に関連する指示も含まれているため、好みに合わせて変更してください。
- このモデルを4096コンテキストで実行する予定の場合は、以下のテンプレートシステムプロンプトを軽量化することをお勧めします。トークンが多いためです。必要のないものを破棄してください。
- これを.jsonファイルとして保存すると、SillyTavernに直接インポートすることができます。
量子化
- GGUF -- LoneStriker/Midnight-Rose-70B-v1.0-GGUF と Artefact2/Midnight-Rose-70B-v1.0-GGUF
- Exl2 -- LoneStrikerには、いくつかのExllamav2量子化が利用可能です。クイック検索
🔧 技術詳細
使用されたツール
models:
- model: NousResearch_Llama-2-70b-hf
# no parameters necessary for base model
- model: allenai_tulu-2-dpo-70b
parameters:
density: 0.35
weight: [1.0, 0.8, 1.0]
- model: lizpreciatior_lzlv_70b_fp16_hf
parameters:
density: 0.35
weight: [0.8, 1.0, 0.8]
- model: dreamgen_opus-v0.5-70b
parameters:
density: 0.3
weight: [0.35, 0.5, 0.35]
merge_method: dare_ties
base_model: /home/llm/mergequant/models/BASE/NousResearch_Llama-2-70b-hf
parameters:
normalize: true
int8_mask: true
dtype: float16
📄 ライセンス
Llama2のライセンスはベースモデルから引き継がれ、Dreamgen/Opusに適用される制限もあります。Tuluにも独自のライセンスがあり、https://allenai.org/impact-license で入手できます。
私は弁護士ではなく、LLMモデルの重みをマージした場合に複数のライセンスがどのように交差するかを知っているわけではありません。個人使用以外でモデルのマージを使用する前に、弁護士に相談する必要があります。



