🚀 Magistral-Small-2506のモデルカード
Mistral Small 3.1 (2503) をベースに、推論能力を追加し、Magistral Mediumの痕跡からSFTを行い、その上でRLを行った、240億パラメータの小型で効率的な推論モデルです。
Magistral Smallは、量子化すると、単一のRTX 4090または32GB RAMのMacBookに収まり、ローカルでデプロイすることができます。
Magistralについて詳しくは、ブログ記事をご覧ください。
このモデルは論文 Magistral で発表されました。
✨ 主な機能
- 推論能力:回答を提供する前に、長い推論過程を行うことができます。
- 多言語対応:英語、フランス語、ドイツ語、ギリシャ語、ヒンディー語、インドネシア語、イタリア語、日本語、韓国語、マレー語、ネパール語、ポーランド語、ポルトガル語、ルーマニア語、ロシア語、セルビア語、スペイン語、トルコ語、ウクライナ語、ベトナム語、アラビア語、ベンガル語、中国語、ペルシア語など、数十の言語をサポートしています。
- Apache 2.0ライセンス:商用および非商用目的での使用と変更を許可するオープンライセンスです。
- コンテキストウィンドウ:128kのコンテキストウィンドウを持ちますが、40kを超えるとパフォーマンスが低下する可能性があります。したがって、モデルの最大長を40kに設定することをお勧めします。
📊 ベンチマーク結果
モデル |
AIME24 pass@1 |
AIME25 pass@1 |
GPQA Diamond |
Livecodebench (v5) |
Magistral Medium |
73.59% |
64.95% |
70.83% |
59.36% |
Magistral Small |
70.68% |
62.76% |
68.18% |
55.84% |
📋 サンプリングパラメータ
以下のパラメータを使用してください:
top_p
: 0.95
temperature
: 0.7
max_tokens
: 40960
💻 使用例
基本的なチャットテンプレート
最良の結果を得るために、RL中に使用されるデフォルトのシステムプロンプトを含めることを強くお勧めします。特定のユースケースに合わせて編集およびカスタマイズすることもできます。
<s>[SYSTEM_PROMPT]system_prompt
ユーザーがタスクを解くように依頼します。最終的な答えを導き出すまで、まず思考過程(内心独白)を起草する必要があります。その後、自分の考えをまとめた要約を書きます(つまり、要約は簡潔である必要がありますが、結論に至るまでに必要なすべての重要なステップを含む必要があります)。応答をMarkdownで整形する必要があります。思考過程と要約の両方を、ユーザーが提示したタスクと同じ言語で記述してください。応答で \boxed{} を使用しないでください。
思考過程は、以下のテンプレートに従う必要があります。
<think>
スクラッチ用紙で演習問題を解くように、自分の考えや下書きを記述してください。正しい答えを生成する自信が持てるまで、好きなだけ自由に長く記述してください。
</think>
ここでは、推論を反映し、ユーザーに明確な最終的な答えを提示する簡潔な要約を提供してください。これが要約であると言及しないでください。
問題:
[/SYSTEM_PROMPT][INST]user_message[/INST]<think>
reasoning_traces
</think>
assistant_response</s>[INST]user_message[/INST]
system_prompt
、user_message
、assistant_response
はプレースホルダーです。
マルチターンの対話中に推論過程を保持するか、最終的なアシスタントの応答のみを保持するかは、ユースケースと要件に応じて選択してください。
必ず mistral-common を信頼できる情報源として使用してください
モデルの使用方法
このモデルは、以下のフレームワークで使用できます。
推論
また、コミュニティが量子化バージョンのモデルを用意しており、以下のフレームワークで使用できます(アルファベット順):
学習
微調整は、以下のフレームワークで可能です(アルファベット順):
axolotl
: https://github.com/axolotl-ai-cloud/axolotl/tree/main/examples/magistral
unsloth
: https://docs.unsloth.ai/basics/magistral
その他
また、Magistralは以下の環境でも使用できます:
kaggle
: https://www.kaggle.com/models/mistral-ai/magistral-small-2506
vLLM (推奨)
このモデルは、vLLMライブラリ を使用して、本番環境で使用できる推論パイプラインを実装することをお勧めします。
インストール
最新の vLLM
コードをインストールしてください:
pip install -U vllm \
--pre \
--extra-index-url https://wheels.vllm.ai/nightly
これにより、自動的に mistral_common >= 1.6.0
がインストールされます。
確認するには、以下のコマンドを実行します:
python -c "import mistral_common; print(mistral_common.__version__)"
また、すぐに使える Dockerイメージ または Docker Hub を使用することもできます。
以下のようにモデルをサーブします:
vllm serve mistralai/Magistral-Small-2506 --tokenizer_mode mistral --config_format mistral --load_format mistral --tool-call-parser mistral --enable-auto-tool-choice --tensor-parallel-size 2
以下のようにモデルをpingします:
from openai import OpenAI
from huggingface_hub import hf_hub_download
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"
TEMP = 0.7
TOP_P = 0.95
MAX_TOK = 40_960
client = OpenAI(
api_key=openai_api_key,
base_url=openai_api_base,
)
models = client.models.list()
model = models.data[0].id
def load_system_prompt(repo_id: str, filename: str) -> str:
file_path = hf_hub_download(repo_id=repo_id, filename=filename)
with open(file_path, "r") as file:
system_prompt = file.read()
return system_prompt
SYSTEM_PROMPT = load_system_prompt(model, "SYSTEM_PROMPT.txt")
query = "Write 4 sentences, each with at least 8 words. Now make absolutely sure that every sentence has exactly one word less than the previous sentence."
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": query}
]
stream = client.chat.completions.create(
model=model,
messages=messages,
stream=True,
temperature=TEMP,
top_p=TOP_P,
max_tokens=MAX_TOK,
)
print("client: Start streaming chat completions...")
printed_content = False
for chunk in stream:
content = None
if hasattr(chunk.choices[0].delta, "content"):
content = chunk.choices[0].delta.content
if content is not None:
if not printed_content:
printed_content = True
print("\ncontent:", end="", flush=True)
print(content, end="", flush=True)
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で提供されています。
⚠️ 重要提示
あなたの個人情報の処理方法について詳しく知りたい場合は、プライバシーポリシー をお読みください。
📋 モデル情報
属性 |
详情 |
ベースモデル |
mistralai/Mistral-Small-3.1-24B-Instruct-2503 |
対応言語 |
英語、フランス語、ドイツ語、スペイン語、ポルトガル語、イタリア語、日本語、韓国語、ロシア語、中国語、アラビア語、ペルシア語、インドネシア語、マレー語、ネパール語、ポーランド語、ルーマニア語、セルビア語、スウェーデン語、トルコ語、ウクライナ語、ベトナム語、ヒンディー語、ベンガル語 |
ライブラリ名 |
vllm |
ライセンス |
apache-2.0 |
推論 |
false |
パイプラインタグ |
テキスト生成 |