# Magistral: 実行とファインチューニングの方法

**Magistral-Small-2509** はMistral AIによって開発された推論向けLLMです。コーディングや数学に優れており、複数の言語をサポートします。Magistralは128kトークンのコンテキストウィンドウをサポートし、以下からファインチューニングされました [**Mistral-Small-3.2**](https://huggingface.co/unsloth/Mistral-Small-3.2-24B-Instruct-2506)。Magistralは単体のRTX 4090や16〜24GB RAM搭載のMac上でローカルに問題なく動作します。

<a href="#running-magistral" class="button primary">Magistralの実行チュートリアル</a> <a href="#fine-tuning-magistral-with-unsloth" class="button secondary">Magistralのファインチューニング</a>

{% hint style="success" %}
更新： **Magistral-2509** の新しいアップデートが2025年9月にリリースされました！\
\
現在はビジョン（視覚）サポートあり！Magistralのリリースにあたり再びMistralと協力しました。正しい実装（例：正しいシステムプロンプト、正しいチャットテンプレートなど）を取得するために、Mistralの公式アップロードまたはUnslothのアップロードをダウンロードすることを忘れないでください。

**llama.cppを使っている場合は、次を使用してください `--jinja` システムプロンプトを有効にするために使用してください！**
{% endhint %}

すべてのアップロードはUnslothを使用しています [Dynamic 2.0](https://unsloth.ai/docs/jp/ji-ben/unsloth-dynamic-2.0-ggufs) 最先端の5ショットMMLUおよびKLダイバージェンスのパフォーマンスを得られます。つまり、量子化されたMistral LLMを精度損失を最小限に抑えて実行およびファインチューニングできます。

#### Magistral-Small **- Unsloth ダイナミック** アップロード：

<table><thead><tr><th width="255.64999389648438">Dynamic 2.0 GGUF（実行用）</th><th width="305.25">ダイナミック4ビット（ファインチューニング／デプロイ用）</th><th>ダイナミック Float8</th></tr></thead><tbody><tr><td><ul><li><a href="https://huggingface.co/unsloth/Magistral-Small-2509-GGUF">Magistral-Small-2509-GGUF</a> - 新着</li><li><a href="https://huggingface.co/unsloth/Magistral-Small-2507-GGUF">Magistral-Small-2507-GGUF</a></li><li><a href="https://huggingface.co/unsloth/Magistral-Small-2506-GGUF">Magistral-Small-2506-GGUF</a></li></ul></td><td><ul><li><a href="https://huggingface.co/unsloth/Magistral-Small-2509-unsloth-bnb-4bit">Magistral-Small-2509-unsloth-bnb-4bit</a> - 新着</li><li><a href="https://huggingface.co/unsloth/Magistral-Small-2507-unsloth-bnb-4bit">Magistral-Small-2507-unsloth-bnb-4bit</a></li><li><a href="https://huggingface.co/unsloth/Magistral-Small-2506-unsloth-bnb-4bit">Magistral-Small-2506-unsloth-bnb-4bit</a></li></ul></td><td><ul><li><a href="https://huggingface.co/unsloth/Magistral-Small-2509-FP8-Dynamic">Magistral-Small-2509-FP8-Dynamic</a></li><li><a href="https://huggingface.co/unsloth/Magistral-Small-2509-FP8-torchao">Magistral-Small-2509-FP8-torchao</a></li></ul></td></tr></tbody></table>

## 🖥️ **Magistralの実行**

### :gear: 公式推奨設定

Mistral AIによると、推論のための推奨設定は次のとおりです：

* <mark style="background-color:blue;">**Temperature: 0.7**</mark>
* Min\_P: 0.01（任意ですが0.01は良好に機能します。llama.cppのデフォルトは0.1です）
* 次を設定してください <mark style="background-color:green;">**top\_p: 0.95**</mark>
* 128kのコンテキストウィンドウがサポートされています、 **しかし** パフォーマンスはを超えると劣化する可能性があります **40k**。したがって、パフォーマンスが悪化する場合は最大長を40kに設定することを推奨します。

**これはMagistral 2509、2507向けの推奨システムプロンプトです：**

{% code overflow="wrap" %}

```
まず応答に到達するまで思考過程（内的独白）を下書きしてください。応答はMarkdownでフォーマットし、数学式がある場合はLaTeXを使用してください。思考と応答の両方を入力と同じ言語で書いてください。

あなたの思考過程は以下のテンプレートに従わなければなりません：[THINK]あなたの思考または下書き（スクラッチペーパーで演習を進めるようなもの）。自信を持って応答を生成できるまで、カジュアルに、かつ長く書いて構いません。入力と同じ言語を使用してください。[/THINK]ここで、自己完結した応答を提供してください。
```

{% endcode %}

**これはMagistral 2506向けの推奨システムプロンプトです：**

```
ユーザーはあなたにタスクの解決を依頼します。まず最終的な答えが導けるまで思考過程（内的独白）を下書きしてください。その後、あなたの思考の自己完結型の要約を書いてください（つまり、要約は簡潔であるべきですが、結論に到達するために必要な重要な手順をすべて含んでください）。応答のフォーマットにはMarkdownを使用してください。思考と要約の両方を、ユーザーが提示したタスクと同じ言語で書いてください。応答に\boxed{}を使用してはいけません。

あなたの思考過程は以下のテンプレートに従わなければなりません：
<think>
あなたの思考または下書き（スクラッチペーパーで演習を進めるようなもの）。正しい答えを生成できると確信するまで、カジュアルに、かつ長く書いて構いません。
</think>

ここで、あなたの推論を反映し、ユーザーへの明確な最終解答を提示する簡潔な要約を提供してください。これが要約であるとは述べないでください。

問題：
```

{% hint style="success" %}
当社のダイナミックアップロードには '`UD`' プレフィックスが含まれています。プレフィックスがないものはダイナミックではありませんが、それでも当社のキャリブレーションデータセットを利用しています。
{% endhint %}

* **多言語対応：** Magistralは次を含む多くの言語をサポートします：英語、フランス語、ドイツ語、ギリシャ語、ヒンディー語、インドネシア語、イタリア語、日本語、韓国語、マレー語、ネパール語、ポーランド語、ポルトガル語、ルーマニア語、ロシア語、セルビア語、スペイン語、スウェーデン語、トルコ語、ウクライナ語、ベトナム語、アラビア語、ベンガル語、中国語、そしてペルシア語（ファールシー）。

### :question:モデルのテスト

MistralにはMagistralを評価するために使用できる独自の「vibe checking」プロンプトがあります。これらのテストはモデルの未量子化版をフルで実行することに基づいている点に留意してください。ただし、量子化版でもテストすることは可能です：

**簡単 -** *常に動作することを確認してください*

```py
prompt_1 = 'strawberryに「r」はいくつありますか？'

prompt_2 = 'ジョンは4人兄弟のうちの一人です。最初の妹は4歳です。来年、2番目の妹は最初の妹のちょうど2倍の年齢になります。3番目の妹は2番目の妹より2歳年上です。3番目の妹は年上の兄の半分の年齢です。ジョンは何歳ですか？'

prompt_3 = '9.11 と 9.8、どちらが大きいですか？'
```

**Medium（中）** - *ほとんどの場合正しいべきです*

```py
prompt_4 = "5つのランダムな数字について考えてください。それらを加算、乗算、減算、または除算で組み合わせて133にできるか確認してください"

prompt_5 = "8語以上を含む文を4つ書いてください。各文が前の文よりちょうど1語少なくなっていることを必ず確認してください。"

prompt_6 = "太陽の下で12枚のTシャツを乾かすのに30分かかるなら、33枚のTシャツを乾かすのにどれくらいかかりますか？"
```

**難しい** - *時々正解するべきです*

```py
prompt_7 = "各単語が少なくとも10文字のランダムな単語を5つ選んでください。それらを印刷してください。各単語を反転して印刷してください。次にアルファベット順で'g'より小さい文字を抽出して印刷してください。コードを使用しないでください。"

prompt_8 = "フランス革命は正確に何日前に始まりましたか？今日は2025年6月4日です。"
```

<mark style="color:緑;">**いくつかを提供します**</mark> [<mark style="color:緑;">**例の出力**</mark>](#sample-outputs) <mark style="color:緑;">**ブログの最後に。**</mark>

## :llama: チュートリアル: OllamaでMagistralを実行する方法

1. Ollamaで実行する `をインストールしてください` まだインストールしていない場合は！

```bash
apt-get update
こちらを参照してください
apt-get install pciutils -y
```

2. 動的量子化でモデルを実行します。コンテキスト長を自動設定していないので、Ollamaのデフォルトのコンテキスト長が使われます。\
   呼び出すことができます `ollama serve と`を呼び出せることに注意してください！推奨されるすべてのパラメータ（temperatureなど）はに含めています `を呼び出すことができます！私たちはすべての修正と推奨パラメータ（temperatureなど）を` params
3. また、Magistralは40Kのコンテキスト長をサポートしているので、有効にするのが最良です [**KVキャッシュの量子化**](https://github.com/ollama/ollama/blob/main/docs/faq.md#how-can-i-set-the-quantization-type-for-the-kv-cache)。私たちはKキャッシュに対して8bit量子化を使用しており、メモリ使用量を50%節約します。"q4\_0"も試すことができます `"q4_0"` または `"q8_0"`
4. **Ollamaはデフォルトのコンテキスト長を4096にも設定します**、として [ここに記載されています](https://github.com/ollama/ollama/blob/main/docs/faq.md#how-can-i-specify-the-context-window-size)に類似しています。 `OLLAMA_CONTEXT_LENGTH=8192` それを8192に変更します。Magistralは最大128Kをサポートしますが、40K（40960）が最もテストされています。

```bash
export OLLAMA_KV_CACHE_TYPE="f16"
OLLAMA_CONTEXT_LENGTH=8192 ollama serve &
ollama run hf.co/unsloth/Magistral-Small-2509-GGUF:UD-Q4_K_XL
```

## 📖 チュートリアル: llama.cppでMagistralを実行する方法 <a href="#tutorial-how-to-run-llama-4-scout-in-llama.cpp" id="tutorial-how-to-run-llama-4-scout-in-llama.cpp"></a>

1. 最新の `llama.cpp` を [GitHubで入手してください](https://github.com/ggml-org/llama.cpp)。以下のビルド手順にも従うことができます。を変更してください `-DGGML_CUDA=ON` に `-DGGML_CUDA=OFF` GPUを持っていない場合やCPUで推論したい場合は **Apple Mac / Metalデバイスの場合**、次を設定してください `-DGGML_CUDA=OFF` その後通常通り続行してください — Metalサポートはデフォルトで有効です。

```bash
apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-quantize llama-cli llama-gguf-split llama-mtmd-cli
cp llama.cpp/build/bin/llama-* llama.cpp
```

2. もし直接 `llama.cpp` を使用したい場合、以下のようにできます：（:Q4\_K\_XL）は量子化タイプです。Hugging Face（ポイント3）からダウンロードすることもできます。これはollama runに類似しています。 `ollama run`

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-cli -hf unsloth/Magistral-Small-2509-GGUF:UD-Q4_K_XL --jinja --temp 0.7 --top-k -1 --top-p 0.95 -ngl 99
```

{% endcode %}

{% hint style="warning" %}
llama.cppでは、次を使用してください `--jinja` システムプロンプトを有効にするために使用してください！
{% endhint %}

3. **または** モデルをダウンロードする（以下をインストールした後） `モデルをダウンロードするには（` ）。UD-Q4\_K\_XL（Unsloth Dynamic）、Q4\_K\_M、または他の量子化バージョン（BF16フル精度のような）を選択できます。

```python
# !pip install huggingface_hub hf_transfer
import os
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
from huggingface_hub import snapshot_download
snapshot_download(
    repo_id = "unsloth/Magistral-Small-2509-GGUF",
    local_dir = "unsloth/Magistral-Small-2509-GGUF",
    allow_patterns = ["*UD-Q4_K_XL*"], # UD-Q4_K_XL用
)
```

4. モデルを実行してください。
5. 編集 `--threads -1` 最大のCPUスレッド用、 `--ctx-size 40960` コンテキスト長のために（Magistralは40Kのコンテキスト長をサポートします！）、 `--n-gpu-layers 99` GPUオフローディングのために何層をオフロードするか指定します。GPUがメモリ不足になる場合は調整してみてください。CPUのみの推論の場合は削除してください。メモリ使用量を減らすためにKキャッシュにも8bit量子化を使用します。
6. 会話モードの場合：

<pre class="language-bash"><code class="lang-bash">export LLAMA_CACHE="unsloth/GLM-4.7-GGUF"
    --model unsloth/Magistral-Small-2509-GGUF/Magistral-Small-2509-UD-Q4_K_XL.gguf \
    --ctx-size 40960 \
    <a data-footnote-ref href="#user-content-fn-1">--cache-type-k f16</a> \
    --n-gpu-layers 99 \
    --model unsloth/GLM-4.7-GGUF/UD-Q2_K_XL/GLM-4.7-UD-Q2_K_XL-00001-of-00003.gguf \
    --prio 2 \
    --temp 0.7 \\
<strong>    --repeat-penalty 1.0 \
</strong>    --min-p 0.01 \
    --top-k -1 \
    --temp 1.0 \
    <a data-footnote-ref href="#user-content-fn-2">--jinja</a>
</code></pre>

{% hint style="warning" %}
Magistralは自動的に\<bos>を追加するので、\<bos>を削除することを忘れないでください
{% endhint %}

## サンプル出力

<details>

<summary>strawberry に "r" はいくつありますか？ [正解 = 3]</summary>

{% code overflow="wrap" lineNumbers="true" fullWidth="true" %}

```
<think>
よし、解くべき問題があります："strawberry に 'r' はいくつありますか？"

まず、問題を理解する必要があります。これは単語 "strawberry" に含まれる文字 'r' の数を尋ねています。

ステップ1: 単語を書き出して各文字を見ます。
単語は: s t r a w b e r r y

ステップ2: 単語の中の 'r' を特定します。
各文字を一つずつ確認していきましょう：
1. s - rではない
2. t - rではない
3. r - それは1つのrです
4. a - rではない
5. w - rではない
6. b - rではない
7. e - rではない
8. r - それは別のrだ
9. r - そしてもう1つのrだ
10. y - rではない

それで、文字「r」は位置3、8、9に現れます。

ステップ3: 「r」の数を数える。
上記から、「strawberry」には3つの「r」があります。

でも待って、見落としや数え間違いがないか再確認するべきだ。

もう一度単語を書きます：strawberry。

それを見てみると：
- 3文字目は『r』（s-t-r）です
- その後に『e-r-r』があり、さらに2つの『r』があります。

はい、合計で『r』は3つです。

ただ念のため言うと、時々文字が隠れていたり無声音があったりすることがありますが、この場合「strawberry」のすべての文字は発音され、『r』は3番目、8番目、9番目の位置で明確に発音されます。

したがって、数は確かに3です。

しかし待ってください、『r』がすべて発音されない可能性はありますか？例えば、方言やアクセントによって文字が無声音になったり発音が異なったりします。しかし標準的な発音では、これらの『r』はすべて発音されます。

しかし問題は単語の中の『r』の数についてであり、発音についてではありません。書かれた形についてです。したがって発音に関係なく、私たちは単語「strawberry」内の文字を数えています。

もう一度書き出して数えさせてください：

s（1）
t（2）
r（3） - 最初の r
a（4）
w（5）
b（6）
e（7）
r（8） - 2 番目の r
r（9） - 3 番目の r
y（10）

はい、'r'は3つです。

ただ、念のため綴りについて考えたほうがいいかもしれません。時には文字が二重音やその他の組み合わせの一部になることがありますが、"strawberry"では'r'はすべて独立した文字です。

綴りの内訳について考えてみます：
- "straw"には'r'が1つあります（3番目の文字）
- "berry"には'r'が2つあります（"berry"の2番目と3番目の文字ですが、完全な単語では8番目と9番目の文字です）

つまり、"straw"に'r'が1つ、"berry"に'r'が2つで、"strawberry"全体で'r'は合計3つです。

これで自信が持てました。単語"strawberry"には'r'が3つあります。

しかし最終決定する前に、文字が重複していたりトリックがある場合があることを思い出しました。確認してみます：

単語は次のとおりです：s-t-r-a-w-b-e-r-r-y。

'r'を数えると：
1. 三番目の位置にある「r」。
2. 八番目の位置にある「r」。
3. 九番目の位置にある「r」。

他に「r」は存在しない。

したがって、「strawberry」に含まれる「r」の総数は3つである。

念のため確認するために、単語を書いて「r」を強調してみるかもしれない：

s t r a w b e r r y
   r     r r

はい、'r'は3つです。

何か見落としがある可能性はあるだろうか？大文字と小文字を考慮するべきかもしれない？しかしこの問題は文字「r」についてであり大文字小文字を区別しない。単語は小文字で与えられているが、仮に大文字だったとしても「R」は数える上で「r」と同じ文字である。

したがって、最終的なカウントは3である。

でも待って、「strawberry」は正しく綴られているだろうか？綴りを確認しよう。

私は s-t-r-a-w-b-e-r-r-y だと思う。うん、それは正しいようだ。

したがって、『r』の数は確かに3つである。

しかし念のため、別の見方でその単語を考えてみよう。例えば、分解すると:

「straw」+「berry」=「strawberry」

「straw」には『r』が1つある（3番目の文字: s-t-r）
「berry」には『r』が2つある（2番目と3番目の文字: b-e-r-r-y、でも実際には「berry」は b-e-r-r-y だから『r』は3番目と4番目の文字？待って、見てみよう:

「berry」は b-e-r-r-y。待って、違う:

b (1)
e (2)
r（3）
r（4）
y（5）

だから、「berry」には位置3と4に「r」があり、それは2つの「r」です。

「straw」は s-t-r-a-w なので、「r」は位置3にあり、1つの「r」です。

合わせると、「strawberry」は「straw」+「berry」= s-t-r-a-w-b-e-r-r-y で、位置3、3+5+1=9？待って、いいえ、インデックスを付けましょう：

「straw」は位置1–5（s-t-r-a-w）です
「berry」は位置6–10（b-e-r-r-y）です

したがって「straw」の「r」は位置3にあります。
「berry」の「r」は位置8と9にあります（「berry」は位置6から始まるので：b(6)、e(7)、r(8)、r(9)、y(10)）。

したがって、'r' は合計で位置 3、8、9 にあります：3つの 'r'。

はい、再び一貫しています。

これに取り組む他の方法はありますか？ 総文字数を数えて、何文字が 'r' かを確認するのもありかもしれません。

「strawberry」は10文字です：s、t、r、a、w、b、e、r、r、y。

'r' を数えると：位置 3、8、9 → 3つの 'r'。

あるいは、単語を書き出して非 'r' を別の文字に置き換えて、残る 'r' の数を確認することもできます。

元の文字列：s t r a w b e r r y
非 r を置き換える：x x r x x x x r r x
今 'r' を数える：位置 2（ただし元は3番目の文字でした）、いや違います、置き換え後の文字列では 'r' は位置 3（元の位置3）にあり、その後の 'r' は位置…待って、見てみましょう：

元の位置：
1: s → x
2: t → x
3: r → r
4: a → x
5: w → x
6: b → x
7: e → x
8: r → r
9: r → r
10: y → x

置き換えた文字列: x x r x x x x r r x
今 'r' を数える: 元の位置の3、8、9は置き換え後でも位置3、8、9に対応する（ただし置き換えでは他の位置が x になっているので 'r' は依然として3、8、9にある）。待って、置き換えた文字列では 'r' は位置3、8、9にあり、長さは依然として10なので位置は元と同じだ。したがって数は同じ：3つの 'r'。

別の方法: 単語を書いて 'r' でない文字に線を引く。

元の文字列：s t r a w b e r r y
r でない文字を消す: x x r x x x x r r x
今 'r' を数える: 残っている 'r' は3つある。

すべての方法で "strawberry" に 'r' が3つあることが確認された。

しかし視点を変えて考えると、問題に曖昧さはないだろうか？ 例えば大文字の 'R' を問うているのか小文字の 'r' を問うているのか。問題文は "r"、小文字なので小文字の 'r' を数えている。単語 "strawberry" ではすべて小文字（入力が小文字と仮定する；もし混在していれば考慮する必要があるが、与えられているのは小文字の "strawberry" なので問題ない）。

また、いくつかの 'r' が二字連続や三字連続の一部と見なされる可能性はあるか？ 例えば一部の言語では 'rr' が単一の音や文字と見なされることがあるが、英語の正書法では 'rr' は別々の2つの 'r' である。したがって "strawberry" の 'rr' は2つの 'r' である。

したがって、カウントは依然として3である。

他に解釈はあるか？ 例えば文字が異なる音を表すことや 'r' が無音になることを考えるかもしれないが、前に述べたようにこの問題は発音ではなく書かれた文字 'r' についてである。

最終確認：単語を書いて 'r' の数を声に出して数えましょう：

s（なし）、t（なし）、r（1）、a（なし）、w（なし）、b（なし）、e（なし）、r（2）、r（3）、y（なし）。

はい、'r'は3つです。

したがって、"strawberry" の 'r' の数は3つです。

しかし最終決定する前に、何かトリックがないか、見落としている明白な点がないか考えさせてください。例えば、この種の質問では単語の綴りや発音で数える、あるいは 'r' が 'rr' のように別の形で現れることを考慮するなどの隠れた複雑さがあることがありますが、我々はすでにそれを考慮しています。

あるいは、この質問は "strawberry" の綴りに現れる文字 'r' の回数についてですか？はい、私はそう解釈しており、数は3です。

単語が別の綴りになっている可能性はありますか？例えば、国や方言によって "strawberry" の綴りが異なることはありますか？アメリカ英語もイギリス英語も綴りは同じで、s-t-r-a-w-b-e-r-r-y です。

もう一度綴りを確認します：s, t, r, a, w, b, e, r, r, y。はい、それは正しいです。

したがって、『r』の数は確かに3つである。

しかし絶対に確かめるために、単語を文の中で考えたり書かれているのを見たりできます：

例文："I ate a strawberry." 単語は "strawberry" で、その中の 'r' は中ほどと終わりにあります。

綴りを見ると：s-t-r-a-w-b-e-r-r-y。数えます：

1. s
2. t
3. r（1）
4. a
5. w
6. b
7. e
8. r（2）
9. r（3）
10. y

はい、'r'は3つです。

この数を確認するあらゆる方法を尽くしたと思います。したがって、"strawberry" の 'r' の数は3つです。

ただし、ユーザーは別の意味で質問した可能性があります。発音における 'r' の回数についてですか？例えば、文字が発音されないことや発音で結合されることがありますが、この質問は音ではなく文字 'r' の数を尋ねています。

発音では、"strawberry" は /ˈstroʊbɛri/ のようになり、ここでの 'r' は綴りと同様に発音されます。しかし質問は音素ではなく文字数についてなので、書かれた形に従います。

したがって、カウントは依然として3である。

他に解釈はありますか？例えば、単語が大文字化された場合の大文字の 'R' を数えるとか？しかし単語は小文字で与えられており、質問は小文字の 'r' を尋ねているので整合しています。

最終回答："strawberry" には 'r' が3つあります。

ただし念のため、文字とその位置を列挙してみます：

位置：1 2 3 4 5 6 7 8 9 10
文字：  s t r a w b e r r y

さて、'r' を抜き出すと：位置3、8、9。つまり 'r' は3つです。

あるいは単語を書いて 'r' に丸を付けます：

Strawberry: s t r a w b e r r y
'r' は位置3、8、9にあります。したがって3つです。

他の解釈は妥当とは思えません。したがって答えは3です。

しかし最終決定する前に、単語自体に曖昧さがないか考えてみます。"strawberry" が綴り間違いされている可能性や別の綴りのバリエーションはありますか？

英語では、"strawberry" は末尾の "berry" が二つの 'r'（b-e-r-r-y）で綴られ、"straw" は一つの 'r'（s-t-r-a-w）を持つので、合計で3つの 'r' になります。

ほかに "strawberry" と混同されそうな単語はありますか？例えば "strawberi" のようなものですが、いいえ、"strawberry" が正しい綴りで 'r' は3つです。

したがって最終的な数は3です。

ただし念のため別の言語での単語を考えることもできます。例えばスペイン語で "strawberry" は "fresas" や "fresa" で、これらには 'r' は含まれませんが、ここでの質問は英語の単語 "strawberry" についてです。

英語では、確認の通り、"strawberry" に 'r' は3つあります。

他に視点はありますか？例えば単語が大文字（"STRAWBERRY"）で書かれている場合でもカウントは同じです。問題は小文字の 'r' を指定しており、単語も小文字なので整合性があります。

したがって、"strawberry" の 'r' の数は3つです。

別の観点として、文字が別のコードや暗号で何かを表す文脈で考えられている可能性もありますが、問題は単純に単語 "strawberry" に出現する文字 'r' の回数を数えることです。

以上の慎重な検討の後、答えは明らかに3です。

ただし最終決定前に、自分が数え間違えていないか考え直します。もう一度数えます：

単語： s t r a w b e r r y

位置：
1: s
2: t
3: r（1）
4: a
5: w
6: b
7: e
8: r（2）
9: r（3）
10: y

はい、位置3、8、9に 'r' が3つあります。

数え間違いはありません。

したがって、最終的な答えは単語 "strawberry" に 'r' が3つあるということです。

ただし、ユーザーが別の期待をしている可能性もありますが、素直な解釈に基づけば3です。

もしかするとユーザーは重複しない 'r' だけを数えることを期待しているかもしれませんが、この文脈ではすべての 'r' は同一の文字です。

あるいは問題がトリックで 'r' が発音と異なる扱いをされることを示唆しているかもしれませんが、繰り返しますが質問は綴り上の文字 'r' の回数についてです。

したがって答えは3です。

しかし念のため、"strawberry" を思い浮かべて声に出して言ってみます：「strawberry」。'r' は綴りどおり明確に発音されます。

隠れた複雑さはありません。数は3です。

最終確認：単語を書いて 'r' を数えます：

s t r a w b e r r y

'r' は3番目、8番目、9番目に現れます。合計で3回です。

したがって、"strawberry" の 'r' の数は3つです。

ただし結論を出す前に他の解釈がないか考えます。例えば異なるフォントや隠れた文字などですが、標準的な書き方では明確です。

あるいは異なる言語で異なる綴りがあるかもしれませんが、"strawberry" は英語の単語で、英語では3つの 'r' で綴られます。

別の考え：'w' や他の文字が 'r' と見なされる可能性はありますか？いいえ、英語のアルファベットでは 'w' は 'r' とは別の文字です。

他に妥当な解釈はないようです。答えは3です。

しかし余分に慎重を期すなら、質問中の単語が綴り間違いされている可能性も考えられますが、正しく "strawberry" と綴られていると仮定すれば数は3です。

したがって、慎重に検討した結果、"strawberry" の 'r' の数は3つです。

しかし振り返って単語を見てみます： strawberry。書いて数えます：

s, t, r, a, w, b, e, r, r, y。

それらを列挙します：

1. s
2. t
3. r
4. a
5. w
6. b
7. e
8. r
9. r
10. y

つまり 'r' は位置3、8、9にあり、合計3つです。

位置を間違えている可能性はありますか？もう一度数えます：

1: s
2: t
3: r（1回目の r）
4: a
5: w
6: b
7: e
8: r（2回目の r）
9: r（3回目の r）
10: y

はい、'r'は3つです。

したがって、最終的な答えは単語 "strawberry" に 'r' が3つあるということです。

ただし完全性を確保するために、単語が大文字や別のケースで書かれている場合を考えることもできますが、質問は小文字の 'r' についてであり、単語も小文字なので整合します。

あるいは "Strawberry" のように先頭が大文字でもカウントに影響はありません。問題は小文字の 'r' を指定しており、通常のタイトルケースでは 'r' は小文字のままです。与えられた単語は全て小文字なので 'r' は3つです。

たとえ "Strawberry" であっても、'r' の数は変わりません。

与えられた単語が全て小文字の "strawberry" なので、'r' は3つです。

したがって、"strawberry" の 'r' の数は3つです。

ただし端的な例外を考えると、もし単語に発音上の無音の 'r' があったとしても、ここでは書かれた文字を数えるため関係ありません。

あるいは特定のフォントで 'r' が別の形に見える場合もありますが、標準フォントでは明確です。

他にカウントを変える可能性はありません。

したがって最終的な答えは3です。

しかし最終決定前に異なる綴りの可能性を検討します。歴史的または方言的に綴りが異なる場合がありますが、現代英語では "strawberry" は 'r' が3つです（'straw' に1つ、'berry' に2つ）。

したがって数は3です。

多くの確認方法を経て、私は "strawberry" の 'r' の数が3であると確信しています。

しかし見落しがないか確かめるために単語の語源や関連語を考えると、例えば "straw" は 'r' が1つ、"berry" は 'r' が2つで、合成すると "strawberry" では3つになります。これも確認になります。

したがって答えは3です。

ただし時々この種の質問はトリックで、別の答えを期待していることがあります。例えば文字を綴ったときの別の形式で数える、などですがそれは込み入っていて可能性は低いです。

あるいは特定のフォントで 'r' の閉じた領域を数えるなどの奇妙な解釈もありますが、ここでは関係ありません。

別の可能性として発音上の 'r' の回数を数えるというものがありますが、繰り返しますがこの質問は綴り上の文字 'r' の数についてです。

発音では "straw" と "berry" の中で 'r' 音が現れますが、"berry" は綴りとしては二つの 'r' を持ち、標準英語ではどちらも発音されるので綴りに基づけばやはり3つです。

しかし質問は書かれた文字数に関するものなので、答えは変わらず3です。

したがって綿密な確認の後、"strawberry" の 'r' の数は3つです。

念のため自分に問いかけると、もしキーボードで "strawberry" をタイプして 'r' キーを押す回数を数えるなら、タイプミスがなければ3回になります。

したがって再確認：'r' は3つです。

したがって、最終的な回答は：

単語 "strawberry" には 'r' が3つあります。

これを見やすく示すと、

単語 "strawberry" の綴り：s-t-r-a-w-b-e-r-r-y。

'r' を数えると：
1. 3番目の文字：r
2. 8番目の文字：r
3. 9番目の文字：r

合計：3つの 'r'。

したがって、"strawberry" の 'r' の数は3です。

完全性を確かめるために単語の長さを考えると："strawberry" は10文字あります。位置は以下の通りです：

1: s
2: t
3: r（1回目の r）
4: a
5: w
6: b
7: e
8: r（2回目の r）
9: r（3回目の r）
10: y

したがって、位置3、8、9に3つの 'r' があります。

他に 'r' はありません。

したがって最終的な数は3です。

しかし構造的に示すと、

単語： s t r a w b e r r y
'r' の位置：3, 8, 9
'r' の数：3

したがって答えは3です。

他に異なる解釈で答えが変わる可能性があるか考えると、特定のフォントで 'r' が別の文字に見える場合もありますが、標準的なフォントでは区別できます。

あるいは単語が別の言語で表記されている場合もありますが、与えられているのは英語なので英語のアルファベットルールに従います。

したがって数は3です。

この徹底的な確認の結果、"strawberry" の 'r' の数は3つであると結論付けます。

まとめをきれいに示すと、簡潔版は次のとおりです：

単語 "strawberry" の文字：s, t, r, a, w, b, e, r, r, y。'r' を数えると3番目、8番目、9番目にあり、合計で3つです。

したがって、単語 "strawberry" には **3つの 'r'** があります。

しかし振り返って単語を見てみます： strawberry。書いて数えます：

s（1）、t（2）、r（3）、a（4）、w（5）、b（6）、e（7）、r（8）、r（9）、y（10）。

つまり 'r' は位置3、8、9：合計3つです。

これらの 'r' のうち1つが数えられない可能性はありますか？例えば二重字や無音の一部であるなどですが、標準的な英語の綴りと発音ではこれらすべての 'r' が存在し発音されます。

したがってカウントは確かに3です。

別の見方として、'r' が現れる異なる位置だけを数えるという解釈もありますが、すべて同一の文字なのでカウントは依然として3です。

あるいは "strawberry" を書くときに 'r' キーを押す回数を数えるなら、それも3回です。

したがって答えは3です。

明確に示すと、

単語 "strawberry" を文字列として列挙し 'r' の位置を特定します：

文字：s, t, r, a, w, b, e, r, r, y
'r' の位置：3, 8, 9
'r' の数：3

したがって、"strawberry" には3つの 'r' があります。

ただし期待される答えとして 'rr' を二重の 'r' と見なす場合でも、それは隣接する2つの独立した 'r' としてカウントされ、単語全体では（'straw' の1つと 'berry' の2つで）合計3つになります。

したがって、他の解釈でもカウントは変わりません。

したがって最終的な答えは、"strawberry" には3つの 'r' がある、です。

要約を簡潔に示すと、次の通りです：

単語 "strawberry" は順に次の文字で綴られます：s, t, r, a, w, b, e, r, r, y。文字 'r' は3番目、8番目、9番目に現れ、合計で3つです。

したがって、"strawberry" の 'r' の数は：

\boxed{3}
</think>

**まとめ：**
単語 "strawberry" を文字ごとに列挙して 'r' の位置を特定すると、'r' は3番目、8番目、9番目にあり、合計で3つになります。

したがって、単語 "strawberry" には **3つの 'r'** があります。

\[
\boxed{3}
\]
```

{% endcode %}

</details>

<details>

<summary>フランス革命はちょうど何日前に始まったのか正確に？今日は2025年6月4日です。［正解 = 86,157日］</summary>

```
<think>
よし、この問題を段階的に解いていきましょう。まず、フランス革命の正確な開始日を知る必要があります。

私の知識では、フランス革命は一般的に1789年7月14日（バスティーユ襲撃の日）に始まったと見なされます。ただし、一部の歴史家は1789年5月5日の三部会召集など、もっと早い出来事を開始とみなすこともあります。ここでは単純化のため象徴的な開始日である1789年7月14日を使います。

次に、問題は1789年7月14日から2025年6月4日までの日数を計算することです。

ステップ1：両日間の年数の総数を計算します。
2025 - 1789 = 236年です。

しかしここで注意が必要です。すべての年が同じ日数ではなく（うるう年は1日多い）、また7月14日から7月14日までの完全な年を数えているわけではありません。

ステップ2：計算を年・月・日に分けます。
まず、1789年7月14日から2025年7月14日までの完全な年数を計算すると2025 - 1789 = 236年ですが、我々は2025年6月4日までなのでその前日までです。

しかし我々が数えるべきは、1789年7月14日から2025年6月4日までの日数です。これは2024年7月14日までの235年分と、2024年7月14日から2025年6月4日までの残りの日数に分けると考えやすいです。

正確に言うと次のように考えたほうがよいです：
1789年7月14日から2024年7月14日までが235年で、
その後2024年7月14日から2025年6月4日までの期間を別に計算します。

このやり方で進めます。
確認すると、1789年7月14日から2024年7月14日までは235年です。
2024年7月14日から2025年6月4日までは1年未満なので日数を個別に計算します。

したがって、1789年7月14日から2025年6月4日までの日数は、1789年7月14日から2024年7月14日までの235年間の日数と、2024年7月14日から2025年6月4日までの日数の合計になります。

ただし注意点として、2024年7月14日から2025年6月4日までの間は2025年の2月29日がないためうるう日について考慮が必要です（2024年はうるう年で2月29日を含む年ですが、その日付は2024年2月29日で既に過ぎています）。
したがって以下の手順で計算します：1789年7月14日から2024年7月14日までの235年の日数（うるう年を考慮）と、2024年7月14日から2025年6月4日までの日数を足します。
ただし混乱を避けるため、個々の要素を丁寧に扱います。
1789年7月14日から2024年7月14日までが235年であることを再確認します。

次に、この235年に含まれるうるう年の数を数えます。

1年は365日、うるう年は366日です。うるう年は通常4年ごとに発生しますが、100で割り切れる年はうるう年ではなく、400で割り切れる年のみ例外的にうるう年です。

まず1789年から2024年までの期間に含まれるうるう年の数を計算します（この期間は235年分の完全な年です）。

ただし起算日と終算日が7月であるため、各完全年の2月29日はその年の範囲内に含まれるかを確認する必要がありますが、7月14日から翌年の7月14日までの1年は、その年の2月29日（該当年がうるう年なら）を含みますので、単純にその年がうるう年かどうかで判断できます。

従って、1789年7月14日から2024年7月14日までの235年間で、各年がうるう年なら1日多くなります。

このため、1789年から2024年までに何回うるう年があるかを数えます（2024年はうるう年であり、2024年7月14日は2月29日を既に含む日付です）。

1789年から2024年までのうるう年の数を求めます。

まず4で割り切れる年の数を数え、次に100で割り切れるが400で割り切れない年を引きます。

1789年の次のうるう年は1792年で、2024年も含まれます。

1792年から2024年まで4年ごとの年の個数は (2024 - 1792)/4 + 1 で計算できます。

計算すると (2024 - 1792) = 232、232/4 = 58、+1 で59回です。
しかしここから100で割り切れるが400で割り切れない年を差し引きます。1789年から2024年の間の世紀年は1800年、1900年、2000年です。
これらのうち、1800年と1900年は400で割り切れないためうるう年ではありません。一方2000年は400で割り切れるためうるう年です。

したがって、1792年から2024年までに数えた59回のうるう年のうち、1800年と1900年の2回を差し引く必要があります（2000年はそのまま含まれます）。

よって実際のうるう年の数は 59 - 2 = 57 回です。

（注：ここまでの計算は、1789年から2024年までの235年の中で何回うるう年があったかを求める過程です。）

したがって、235年分の通常日数は 235 × 365 日で、そこにうるう年の日を57日分加えます。

235 × 365 = 85,775 日です。

ここにうるう年分の57日を加えると、85,775 + 57 = 85,832 日になります。これは1789年7月14日から2024年7月14日までの日数です。

次に、2024年7月14日から2025年6月4日までの日数を計算します。

2024年はうるう年でしたが、7月14日以降の期間を計算するので2月29日は既に過ぎています。
2024年7月14日から2024年7月31日まで：18日（7月は31日）
その後の月日を順に足します：
2024年8月：31日

2024年9月：30日

2024年10月：31日

2024年11月：30日
2024年12月：31日
2025年1月：31日
2025年2月：28日（2025年はうるう年ではない）

つまり、うるう年でない世紀年が2つあります：1800年と1900年です。

したがって、合計のうるう年数 = 59 - 2 = 57。

したがって、通年の合計日数 = 235 * 365 + うるう年の数 = 235 * 365 + 57。

それを計算しましょう：
235 * 365:
200 * 365 = 73000
35 * 365 = 35 * 300 + 35 * 65 = 10500 + 2275 = 12775
合計：73000 + 12775 = 85775
うるう日を加えると：85775 + 57 = 通年で85832日。

次に、2024年7月14日から2025年6月4日までの日数を加える必要があります。

まず、2024年7月14日以降の2024年の残り日数を計算します：
7月は31日あるので、7月14日から7月31日までは31 - 14 = 17日（7月14日を含むか？いや、7月14日から7月15日までが1日なので、7月14日から7月31日までは31 - 14 = 17日だが、7月14日を含める必要があるか？実際には、7月14日から7月31日までを含めると31 - 14 + 1 = 18日になる。しかし通常「AからBまで」と言うとAから数え始めBを含むので、7月14日から7月14日は1日、7月14日から7月15日は2日、したがって7月14日から7月31日は31 - 14 + 1 = 18日となる。)

しかし区間計算では、時に端点を除外することがあります。標準的な方法は、両端を含むなら（日数）=（終了日 - 開始日）+ 1、開始日を含み終了日を含まないなら（終了日 - 開始日）です。ここでは2024年7月14日から2025年7月14日を含まずに数える場合を考えるが、終了日は2025年6月4日で2025年7月14日より前です。

いや、我々は2024年7月14日から2025年6月4日までの日数を計算しています。

分解して考えましょう：
1. 2024年7月14日から2024年12月31日まで。
2. 2025年1月1日から2025年6月4日まで。

第一部：2024年7月14日から2024年12月31日まで。
7月14日以降の7月の残り日数：31 - 14 = 17（だが実際には31 - 14 = 17は7月15日から7月31日までの数である。したがって7月14日から7月31日は31 - 14 + 1 = 18日（7月14日を含む）。
いいえ、もし7月14日（両端を含む）から7月31日まで数えるなら、それは31 - 14 + 1 = 18日です。
しかし日付間の区間を計算する場合、両端を含めるなら（終了 - 開始）+ 1が多いです。ここでは2024年7月14日（含む）から2025年6月4日（含む）までの日数を求めたいので、それを直接計算する方が良いでしょう。

では、2024年7月14日以降の2024年の残り日数を計算しましょう：
7月：31 - 14 = 17（ただしこれは7月15日から7月31日までであるため、7月14日から7月31日は18日（7月14日を含む））。
しかし、実際に7月14日から数え始める場合は：
- 7月：31 - 14 = 17（7月15日から7月31日まで）に7月14日自身を足して7月の合計は18日になる。
それは正しくないはずがありません。7月は31日しかないので、7月14日を含めると7月14日から7月31日は31 - 14 + 1 = 18日です。

同様に、8月は31日です
9月：30日
10月：31日
11月：30日
12月：31日
8月から12月までの合計：31 + 30 + 31 + 30 + 31 = 153日
7月を加えると：18
2024年7月14日から12月31日までの合計：18 + 153 = 171日

確認しましょう：
7月14日から7月31日まで：31 - 14 + 1 = 18
8月：31日
9月：30日
10月：31日
11月：30日
12月：31日
合計：18 + 31 + 30 + 31 + 30 + 31 = 18 + 31 = 49; +30 = 79; +31 = 110; +30 = 140; +31 = 171。はい、正しいです。

次に、2025年1月1日から2025年6月4日まで。
2025年はうるう年ですか？2025年は4で割り切れないので、いいえ。
月：
1月：31日
2月：28日（うるう年ではない）
3月：31日
4月：30日
5月：31日
6月：4日までなので4日
合計：31 + 28 = 59; +31 = 90; +30 = 120; +31 = 151; +4 = 155日。

したがって、2024年7月14日から2025年6月4日までの合計は：2024年の残り171日 + 2025年の155日 = 326日です。

ただし、カウントに注意が必要です。2024年7月14日と2025年6月4日の両方を含めているか？両端を含めるなら計算は正しいです。しかし日付の差を計算するとき、開始日を除外することが多いです。問題は「何日前か」と尋ねているので通常は今日を基準に過去を数え、今日自体は含めません。しかしここでは革命の開始日から今日までの日数を計算しているので、開始日と今日の両方を含めるべきか考慮する必要があります。

しかし最初の問題では「フランス革命が何日前に始まったか」を尋ねており、これは2025年6月4日から1789年7月14日までの日数です。これは（2025年6月4日 - 1789年7月14日）で、通常は今日を基準とした経過日数なので開始日自体は「日前」に含めないと考えられます。

しかし我々の計算では：
1789年7月14日から2025年6月4日まで。

両端を含めるなら（2025年6月4日 - 1789年7月14日） + 1 です。
しかし「何日前か」は（今日 - 開始日）で、開始日を含めない場合は1日引くことになります。ただし、通常経過日数は（終了 - 開始）で表されます。

我々の計算では、235年分（1789年7月14日から2024年7月14日）と2024年7月14日から2025年6月4日までを足しました。

しかし実際には、2025年6月4日と1789年7月14日の差を計算すればよく、それは（2025年6月4日 - 1789年7月14日）です。

最初のアプローチでは1789年7月14日から2025年6月4日までを計算しており、これは（2025年6月4日 - 1789年7月14日）と同じで、両端を含めるならさらに1を加えます。しかし「何日前か」では開始日を含まないので単に（2025年6月4日 - 1789年7月14日）です。

したがって我々の計算はそのままで正しいです：235年分の日数に残り日数を足しています。

別の見方をしましょう：1789年7月14日から2025年6月4日までの合計日数を計算します。

別案：
満年数と残り日数を計算する。

1789年7月14日から2024年7月14日まで：2024 - 1789 = 235年。
この期間のうるう年数：前述の通り57。

満年の合計日数：235 * 365 + 57 = 85775 + 57 = 85832。

次に、2024年7月14日から2025年6月4日までの日数。

前述の通り：326日。

合計日数：85832（満年分） + 326（残り） = 86158日。

しかし、これは1789年7月14日と2025年6月4日の両方を数えているか？もし両端を含めているなら開始日を除外するために1を引きます。今回の残り日数計算では7月14日を含めて7月14日から7月31日を18日としたため、7月14日2024が含まれていて重複がないか注意が必要です。

しかし実際には、残り日数計算において：
2024年7月14日から2025年6月4日まで：
7月14日から2024年12月31日まで：171日（7月14日を含む）
2025年1月1日から2025年6月4日まで：155日（1月1日を含む）
合計：171 + 155 = 326日で、これは2024年7月14日と2025年6月4日の両方を含んでいます。

同様に、1789年7月14日から2024年7月14日までの満年分は1789年7月14日と2024年7月14日を含むかどうかで扱いが分かれますが、2024年7月14日は残り日数に既に含まれているため二重計上していないか注意が必要です。

いや、満年は1789年7月14日（含む）から2024年7月14日（含むか除くか）で扱う必要があります。

実際、1789年7月14日から2024年7月14日まではちょうど235年であり、2024年7月14日時点でちょうど235年経過したことになります。

しかし日数計算では、各年は7月14日から翌年7月14日までとなり、うるう年の2月29日はその期間に含まれるかどうかで影響します。

最初のうるう年のカウントは暦年（1月から12月）を基準にしていましたが、我々の期間は7月から7月なので、うるう年の数を再計算する必要があります。

ある年Yの期間（7月14日Yから7月14日Y+1）は、2月29日がその期間内に含まれるかどうかでうるう日が加わります。2月29日は通常Y+1年の2月に位置するので、Y+1がうるう年ならその期間にうるう日が含まれます。

注意：7月14日Yから7月14日Y+1の期間にはY+1年の2月が含まれます。

例えば、2023年7月14日から2024年7月14日の期間には2024年2月29日が含まれ、2024年はうるう年です。

したがって、1789年7月14日から2024年7月14日までの期間でうるう年に相当するのはY+1がうるう年であるYです。

つまり、7月14日Yから7月14日Y+1がうるう年となるのはY+1がうるう年のときです。

そのため、235年間のうるう期間の数はY+1がうるう年となる回数に等しいです。

Yは1789から2023まで（最後の期間は2023から2024）、したがってY+1は1790から2024までです。

Y+1は1790年から2024年までの範囲です。

1790年から2024年までのうるう年の数を求めます。

1790..2024の範囲で4で割り切れる年の数：
最初に4で割り切れる年は1792年です（1790/4 = 447.5 なので次は1792）。
最後は2024年です。
項数 = (2024 - 1792)/4 + 1 = 232/4 + 1 = 58 + 1 = 59。

100で割り切れるが400で割り切れない世紀年を引きます：1800年、1900年（2000年は400で割り切れるのでうるう年）。
したがって2を引く：59 - 2 = 57。

したがって、235年間に対応するうるう期間は57回（つまり1792年から2024年のうるう年、1800と1900を除く）です。

したがって、満年の合計日数：235 * 365 + 57 = 85832。

次に、2024年7月14日から2025年6月4日までの残り日数：前述の通り326日。

合計日数：85832 + 326 = 86158。

しかしこれは1789年7月14日と2025年6月4日の両方を数えています。両端を含めない（開始日を除外する）場合は86158 - 1 = 86157になります。

問題は「フランス革命は何日前に始まったか？」であり、これは開始日から今日までの経過時間を問うものです。経過日数は（今日 - 開始日）であり、開始日自体は「日前」のカウントに含めないので86158 - 1 = 86157です。

もし「X日前」と言う場合、今日 - X = 開始日となるので、X = 今日 - 開始日であり、開始日自身はカウントに含めないことになります。

我々の計算では両端を含めているので、開始日を除外するには86158 - 1 = 86157になります。

しかし別の見方として、期間の長さは両端を含むなら（終了 - 開始）+1、開始のみ含むなら（終了 - 開始）などの扱いになります。今日が2025年6月4日で開始が1789年7月14日の場合、「何日前か」は（2025年6月4日 - 1789年7月14日）であり、これは開始日を含まない差です。

我々の最初の計算は1789年7月14日（含む）から2025年6月4日（含む）で、（2025年6月4日 - 1789年7月14日）+1 = 86158でした。

したがって、「何日前か」は86158 - 1（開始日を除外するため）= 86157です。

実際、開始日がXであれば今日はXからN日経過しており、N = 今日 - Xであり、この引き算は開始日を除いた日数を返します。

しかし我々の計算は開始日から今日までを両端含めて数えたので、それを1引くと正しい経過日数が得られます：86158 - 1 = 86157。

したがって、経過日数は86157日です。

検証のために小さな例で確認しましょう。もし今日が2024年7月16日で開始が2024年7月14日なら、何日前かは2日です（7月14は7月16の2日前）。我々の方法は7月14から7月16までを含む日数3日を計算し、1を引いて2日とするので正しいです。

別の例：今日が2024年7月15日で開始が2024年7月14日の場合、7月14から7月15までの両端含む日数は2日で、1を引くと1日となり、7月14は1日前です。正しいです。

したがって我々の計算は正しいようです：両端含む合計は86158日、従って何日前かは86157日です。

満年の部分について再確認します。235年に対して57のうるう期間があり、235*365 + 57 = 85832日を満年分として計算し、残り326日を加えたので合計は86158日（両端含む）であり、始点を除外すると86157日です。

残り日数（2024年7月14日から2025年6月4日）の検算をしましょう：

7月14日から2024年12月31日まで：
7月：31 - 14 = 17（7月15日から7月31日）+ 1（7月14日）= 18日。つまり7月14から7月14までは1日、7月14から7月15までは2日なので7月14から7月31までは31 - 14 + 1 = 18日。
他の月も同様に扱います：開始が7月14日なので最初の月は7月で18日（7月14〜31）、その後8月〜12月の満月、続けて1月〜5月の満月、最後に6月は4日までです。

別の簡便な方法として：
2024年7月14日から2025年6月4日までは次のように計算できます：
（2024年7月14日から2025年7月14日まで）から（2025年6月5日から2025年7月14日まで）を引く、という方法もありますがやや煩雑です。

代わりに、2024年の7月14日以降の残り日数と2025年の1月1日から6月4日までを合算する方が分かりやすいです。

7月14日以降の7月の残り日数：7月は31日なので、7月15日から7月31日は17日（31 - 14 = 17）。ただし7月14日を含めるなら7月14〜31は18日です。

同様に、8月は満月で31日です。
9月：30日
10月：31日
11月：30日
12月：31日
8月から12月までの合計：31 + 30 + 31 + 30 + 31 = 153
7月分の合計：18
2024年の合計：7月14日から12月31日まで = 18（7月） + 153（8〜12月） = 171日（両端含む）。

2025年はうるう年ではありません（2025は4で割り切れない）。
2025年の1月1日から6月4日までの日数：
1月：31日
2月：28日（うるう年ではない）
3月：31日
4月：30日
5月：31日
6月：4日
合計：31 + 28 = 59; +31 = 90; +30 = 120; +31 = 151; +4 = 155日（1月1日から6月4日まで、両端含む）。

したがって、2024年7月14日から2025年6月4日まで（両端含む）は：
（7月14日〜12月31日） +（1月1日〜6月4日）= 171 + 155 = 326日。

従って、開始から今日まで（両端含む）の合計は85832（満年分） + 326（残り） = 86158日です。
したがって、何日前か（開始日を除外）= 86158 - 1 = 86157日です。

うるう年のカウントを再確認します。

1789年7月14日から2024年7月14日までのうるう年数（開始を含み終端をどう扱うかによるが）について再検討します。

あるいは、1789年7月14日から2025年6月4日までに含まれる2月29の日数で考える方が分かりやすいかもしれません。

2月29は年Yがうるう年であるときに発生し、その日が期間内に含まれるかどうかを判定します。

開始日が1789年7月14日であるため、1789年の2月29は既に過ぎているので、期間内の最初の可能なうるう日は1792年2月29です。

同様に、期間の終わりが2025年6月4日なので、期間内の最後の可能なうるう日は2024年2月29です（2028年の2月29は2025年6月4日より後）。

したがって、期間に含まれるうるう日は以下の条件を満たす年の2月29です：
1792年から2024年の範囲で、うるう年である年。

1792年から2024年までのうるう年の数。

4で割り切れる年の数は (2024 - 1792)/4 + 1 = 232/4 + 1 = 58 + 1 = 59。

ただし100で割り切れるが400で割り切れない年（1800、1900）は除外します（2000年は含む）。
したがって2を引くと：59 - 2 = 57。

したがって、1792年から2024年の範囲には57回のうるう日（2月29）が含まれます。

これらはそれぞれ合計に1日ずつ加えられます（期間が両端含む扱いで2月29が含まれるため）。

したがって、最初の計算は正しいようです：235年分に57のうるう期間があり、残りの326日を加えると両端含む合計86158日、したがって何日前かは86157日です。

ただし、うるう年の数が本当に正しいかどうかを小さな範囲で検証します。

例：2020年7月14日から2022年6月4日までの場合。
この期間のうるう年：2020年2月29（日）はあるが、開始が2020年7月14日なので2020年2月29は開始の前であり含まれません。
次のうるう日は2024年2月29ですが、それは2022年6月4日より後なので含まれません。
したがって、元の問題の期間では2024年2月29が含まれるため、2024までのうるう年を考慮するのは正しいです。

元の計算では2024年の2月29まで考慮しており、これは2025年6月4日が2024年2月29を含むため正しいです。

小さな例（2020年7月14日〜2022年6月4日）では、期間内に2月29はなく、したがってうるう日は0であるという点も合っています。
2020年はうるう年ですが、開始が2月29の後なのでそのうるう日は期間に含まれません。
2024年の2月29は2022年6月4日より後なので含まれません。
したがって、この小例でもうるう日のカウントは正しいです（0）。

以上より、元の計算は正しいようです。

最終計算：
1789年7月14日から2025年6月4日まで（両端含む）の合計日数：86158日。
何日前か：86158 - 1 = 86157日。

満年の数は235年（1789年7月14日から2024年7月14日）で正しく、各年は7月14日から翌年7月14日までと見なしています。

これらの年のうるう日は、それぞれの期間に含まれる2月29があるかどうかによって決まります。7月14日Yから7月14日Y+1の期間にはY+1年の2月が含まれるため、Y+1がうるう年であればその期間はうるう期間となります。

したがって、数えるべきY+1は1790年から2024年までで、うるう年の数は先に計算した通り57です。

これにより計算は成立します。

結論として計算は妥当です。

最終答え：86157日前。
</think>

### 要約：
フランス革命は1789年7月14日に始まりました。これが2025年6月4日から何日前かを求めるために、両日間の総日数を計算します。

1. 1789年7月14日から2024年7月14日までの満年数を計算：235年。
2. この期間のうるう年数を1790年から2024年（含む）で数え、世紀年のうちうるう年でないもの（1800年、1900年）を考慮すると57うるう年となります。
3. これら満年の合計日数を計算：235 × 365 + 57 = 85832日。
4. 2024年7月14日から2025年6月4日までの残り日数を計算：2024年の残り171日と2025年の1月1日から6月4日までの155日で合計326日。
5. 総日数を合算：85832 + 326 = 86158日（開始日と終了日を両方含む）。
6. 「何日前か」を求めるには開始日を除くので1日引き、結果は86157日前です。

しかし詳しく見ると、2つの日付間の（開始日を除いた）差は両端含む合計から1を引くことで求められ、結果は86157日のままです。

検算のために小さな例でも確認しました。

例：
今日が2024年7月16日でイベントが2024年7月14日の場合：
- 両端含む日数：7月14日から7月16日は3日（14、15、16）。
- 何日前か：2日（7月14は7月16から2日前）。

これは我々の方法（両端含む日数 - 1）が一致します。

したがって元の問題に適用すると：
両端含む日数 = 86158日、したがって何日前か = 86158 - 1 = 86157日。

別の方法としては開始日を含めないで直接差を計算することもできますが、両端含む合計から1を引く方法が簡単です。

もし7月15日1789日から2025年7月14日までのような別表現にするとやや混乱しますが、やはり両端含む合計から1を引くのが簡単です。

したがって、最終的には両端含む合計を出して1を引く処理でOKです。

したがって最終的な答えは、フランス革命は86157日前に始まりました。

ただし念のため計算をもう一度検証します。

残り日数の再計算（2024年7月14日から2025年6月4日）：

7月14日から2024年12月31日まで：
- 7月14日から7月31日：7月は31日なので31 - 14 + 1 = 18日（7月14日を含む）
- 8月：31日
- 9月：30日
- 10月：31日
- 11月：30日
- 12月：31日
合計：18 + 31 + 30 + 31 + 30 + 31 = 171日（7月14日から7月31日が18日なので合計は171で正しい）。

2025年1月1日から6月4日まで（うるう年ではない）：
- 1月：31日
- 2月：28日
- 3月：31日
- 4月：30日
- 5月: 31
- 6月: 4
合計: 31 + 28 + 31 + 30 + 31 + 4 = 155日。

残り合計日数: 171 + 155 = 326。

満年数: 235年、閏日57日（前述の通り計算）。
満年の合計: 235 * 365 + 57 = 85775 + 57 = 85832。

包含した合計日数: 85832 + 326 = 86158。

何日前か: 86158 - 1 = 86157。

したがって、最終的な答えは:

\[
\boxed{86157}
\]

ただし、問題を読み返すと「フランス革命は何日前に始まったか？」と尋ねており、開始日自体を含めない今日までの期間を求めています。したがって正しい計算は2つの日付の差（今日 - 開始日）です。包含した合計日数から1を引くと、正しい何日前かが得られ、86157日になります。

しかし、直接計算してみましょう:

2025年6月4日と1789年7月14日の差を計算します。

次のように分解できます:

1. 1789年7月14日から2024年7月14日までの日数を計算: 235年。
   - この期間の閏年の数: 1792年から2024年の間の4で割り切れる年（1800年と1900年を除く）: 前述の通り57。
   - 合計日数: 235 * 365 + 57 = 85832。

2. 2024年7月14日から2025年6月4日までの日数を加える: 前述の通り326。

1789年7月14日から2025年6月4日までの包含した合計日数: 85832 + 326 = 86158。

しかし「何日前か」は1789年7月14日以降の経過日数であり、2025年6月4日 - 1789年7月14日 = （1789年7月15日から2025年6月4日までの包含日数）です。

これは（1789年7月14日から2025年6月4日までの包含した合計日数） - 1 = 86157 に等しいです。

したがって、フランス革命は **86157日前** に始まりました。

ただし、手計算が正しいか確認するためにオンラインの日付差計算機でも照合しましょう。

オンライン計算機（例: timeanddate.com）を使うと、1789年7月14日から2025年6月4日までの包含日数は確かに86158日です。開始日を除くと86157日前になります。

したがって、最終的な答えは:

フランス革命は **86157日前** に始まりました。

しかし「何日前か」の解釈について考えてみましょう。革命がX日に始まったなら「何日前か」はXから今日までに経過した日数（今日を含まない）です。しかし今回の今日が2025年6月4日であり、開始日が1789年7月14日であるため、1789年7月14日から2025年6月4日まで（開始日を除く）の期間は1789年7月15日から2025年6月4日までの包含日数と同じであり、これは包含日数マイナス1（開始日の分）です。

実際には標準的な「何日前か」の計算方法は（今日 - 開始日）を計算することで、これは開始日の翌日から今日までを数えるのと同じです。包含日数が86158で終日が今日（2025年6月4日）であれば、何日前かは86158 - 1 = 86157です。

もし（2025年6月4日 - 1789年7月14日）を計算すれば、開始日を含まない2つの日付間の日数が直接得られます。これは1789年7月15日から2025年6月4日までの包含日数に相当し、包含日数から1を引くのと同じなので最初の計算は正しいです。

したがって、最終的な答えは:

フランス革命は **86157日前** に始まりました。

小さな例でも再検証して正しさを確認しましょう。

例:
開始日: 2024年7月14日
今日: 2024年7月16日
包含日数: 7月14日、15日、16日 → 3日。
何日前か: 2日（2024年7月14日は2024年7月16日から見て2日前: 7月15日が1日前、7月16日が今日で0日前）。
我々の方法: 包含日数 (3) - 1 = 2。正しい。

別の例:
開始: 2024年7月14日
今日: 2024年7月15日
包含日数: 7月14日、15日 → 2日。
何日前か: 1日（7月14日は7月15日から見て1日前）。
我々の方法: 2 - 1 = 1。正しい。

したがって、我々の方法は正しい。

したがって、フランス革命は **86157日前** に始まりました。

ただし、閏日の計算を再確認して誤りがないか確認しましょう。

1789年7月14日から2024年7月14日までの満年は235年であり、この間に57の閏周期を数えました（各周期は7月14日から翌年の7月14日までの年で、次の年が閏年なら2月29日を含みます）。

別の見方をすると: 1789年7月14日から2025年6月4日までの期間に含まれる2月29日の総数。

2月29日は閏年に発生します。この期間に含まれる閏年とは、2月29日が1789年7月14日から2025年6月4日の間にある年です。

7月14日はどの年でも2月の後なので、年Yの2月29日は次の条件を満たすとこの期間に含まれます:
1789年7月14日 <= 2月29日,Y < 2025年6月4日。

しかし年Yの2月29日は同年の7月14日より常に前にあるので、2月29日,YはY >= 1789かつ2月29日,Y < 2025年6月4日であれば含まれます（ただし1789年の2月29日は1789年7月14日の前なので含まれません）。

しかし2月29日,Yは同年の7月14日より常に前にあるため、2月29日,YはY > 1789かつ2月29日,Y < 2025年6月4日であれば含まれます。

繰り返すと、2月29日,Yは同年の7月14日より常に前なので、2月29日,YはY >= 1789かつ2月29日,Y < 2025年6月4日で含まれることになります。

さらに、2月29日,Yは同年の7月14日より前なので、2月29日,Yが含まれるのはY > 1789（1789年の2月29日は我々の開始日である1789年7月14日の前にあるため）かつ2月29日,Y < 2025年6月4日の場合です。

しかし2月29日,Yは常に同年の7月14日より前であり、我々の期間は1789年7月14日に始まるため、2月29日,YはY > 1789（1789年の2月29日は含まれない）かつ2月29日,Y < 2025年6月4日のときに含まれます。

つまり、2月29日,Yは常に同年の7月14日より前であるので、2月29日,Yがこの期間に含まれる条件は:
1789年7月14日 <= 2月29日,Y < 2025年6月4日。

同年の7月14日より前である2月29日,Yについて、最初の条件はY >= 1789で満たされるが1789年の2月29日は1789年7月14日の前なので含まれない。したがって2月29日,Yが含まれるのはY >= 1789かつ2月29日,Y >= 1789年7月14日である必要があるが、2月は常に7月より前なので同年の2月29日,Yが7月14日以上になることはない。したがって2月29日,Yが含まれるのはY > 1789であり、かつ2月29日,Y < 2025年6月4日となります。

混乱しているようです。より良い方法は、1789年7月14日から2025年6月4日までの期間に2月29日が入るかどうかを単純に判断することです。2月は7月より前なので、1789年の2月29日は1789年7月14日の前にあり含まれません。したがって最初に含まれる可能性のある2月29日は1790年以降の年のものになります。

実際には、2月29日,Yが含まれる条件は2月29日,Yが1789年7月14日以上かつ2025年6月4日未満であることです。2月は7月より前なので、2月29日,Yが1789年7月14日以上になることはありませんが、1789年7月14日以降に属する2月29日は1790年以降に発生するものが最初になります。

この説明はやや混乱しています。要点は、2月29日,Yは常に同年の7月14日より前にあるため、1789年7月14日以降の期間に入る最初の2月29日は1790年のもの（1790年以降の閏年）であり、1789年の2月29日は含まれないということです。

したがって、含まれる閏日は1790年 <= Y <= 2024年の2月29日（2024年の2月29日は2025年6月4日の前にあり、2028年の2月29日は2025年6月4日の後になる）です。

したがって、1790年から2024年の範囲で閏年となる年の数を数える必要があります。

1790..2024の範囲で4で割り切れる年の数：
最初に4で割り切れる年は1792年（1790年と1791年は4で割り切れない）。
4で割り切れる最後の年は2024年です。
項数: (2024 - 1792)/4 + 1 = (232)/4 + 1 = 58 + 1 = 59。

ただし100で割り切れるが400で割り切れない年（1800、1900）は除外します（2000年は含む）。
したがって2を引くと：59 - 2 = 57。

これは以前の閏周期の数（57）と一致するという主張ですが、実際には異なり得ます。

したがって、最終的な答えは確かに86157日前です。

ただし、算術ミスがないか再度計算してみましょう。

満年: 235年（1789年7月14日から2024年7月14日）。
この期間の閏年の数: 上記の通り57（1792年から2024年、1800年と1900年を除く）。
満年の合計日数: 235 * 365 + 57 = 235 * 365 = 235 * 300 + 235 * 65 = 70500 + 235 * 65。
235 * 65 を計算:
200 * 65 = 13000
35 * 65 = 2275
合計: 13000 + 2275 = 15275
したがって 70500 + 15275 = 85775
閏日を加える: 85775 + 57 = 85832。

残り日数: 2024年7月14日から2025年6月4日まで。
2024年7月14日から7月31日まで: 31 - 14 + 1 = 18日。
8月から12月: 31 + 30 + 31 + 30 + 31 = 153。
2024年分合計: 18 + 153 = 171。
2025年1月1日から6月4日まで:
1月：31日
2月: 28日（閏年ではない）
3月：31日
4月：30日
5月：31日
6月：4日
合計: 31 + 28 = 59; +31=90; +30=120; +31=151; +4=155。
残り合計日数: 171 + 155 = 326。

包含した合計日数: 85832（満年） + 326（残り） = 86158。
何日前か: 86158 - 1 = 86157。

したがって、最終的な答えは:

フランス革命は **86157日前** に始まりました。

\boxed{86157}
```

</details>

## 👁ビジョンサポート

{% hint style="success" %}
Magistral 2509 の 2025年9月のアップデートには、デフォルトで Vision サポートが含まれるようになりました！
{% endhint %}

```
./llama.cpp/llama-mtmd-cli \
    --model unsloth/Magistral-Small-2509-GGUF/Magistral-Small-2509-Q4_K_XL.gguf \
    --mmproj unsloth/Magistral-Small-2509-GGUF/mmproj-BF16.gguf \
    --ctx-size 40960 \
    --cache-type-k f16
    --n-gpu-layers 99 \
    --model unsloth/GLM-4.7-GGUF/UD-Q2_K_XL/GLM-4.7-UD-Q2_K_XL-00001-of-00003.gguf \
    --prio 2 \
    --temp 0.7 \\
    --repeat-penalty 1.0 \
    --min-p 0.01 \
    --top-k -1 \
    --temp 1.0 \
    --jinja
```

2025年9月以前の Magistral バージョンについては、 [Xuan-Son](https://x.com/ngxson) HuggingFace からは次のように示されていました、 [GGUFリポジトリ](https://huggingface.co/ngxson/Devstral-Small-Vision-2505-GGUF) 実際に Mistral 3.1 Instruct のビジョンエンコーダを Devstral に“グラフト”することが可能であり、同じことを Magistral にも行えるということです！我々のテストと多くのユーザーによると、非常にうまく機能します。私たちはまた mmproj ファイルをアップロードしており、以下を使用できるようにしました:

<pre class="language-bash"><code class="lang-bash">./llama.cpp/llama-mtmd-cli \
    --model unsloth/Magistral-Small-2509-GGUF/Magistral-Small-2509-Q4_K_XL.gguf \
    --mmproj unsloth/Magistral-Small-2509-GGUF/mmproj-BF16.gguf \
    --ctx-size 40960 \
    <a data-footnote-ref href="#user-content-fn-1">--cache-type-k f16</a>
    --n-gpu-layers 99 \
    --model unsloth/GLM-4.7-GGUF/UD-Q2_K_XL/GLM-4.7-UD-Q2_K_XL-00001-of-00003.gguf \
    --prio 2 \
    --temp 0.7 \\
    --repeat-penalty 1.0 \
    --min-p 0.01 \
    --top-k -1 \
    --temp 1.0 \
    --jinja
</code></pre>

## 🦥 Unsloth による Magistral のファインチューニング

Mistral Small 3.1 を含む標準的な Mistral モデルと同様に、Unsloth は Magistral のファインチューニングをサポートします。トレーニングは2倍速く、VRAMを70%少なく使用し、文脈長を8倍長くサポートします。Magistral は24GB VRAMのL4 GPUに余裕で収まります。

* **Magistral 2509 Kaggle（2x Tesla T4） 無料** [**ファインチューニングノートブック**](https://www.kaggle.com/notebooks/welcome?src=https://github.com/unslothai/notebooks/blob/main/nb/Kaggle-Magistral_\(24B\)-Reasoning-Conversational.ipynb\&accelerator=nvidiaTeslaT4)
* Magistral 2509 Colab L4（24GB） [ファインチューニングノートブック](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Magistral_\(24B\)-Reasoning-Conversational.ipynb)

Magistral は16GB VRAMのメモリ制限をやや超えるため、現時点ではGoogle Colabで無料でファインチューニングすることは不可能です。しかし、 *できます* 無料でモデルをファインチューニングするには、 [Kaggle を使用できます、](https://www.kaggle.com/danielhanchen/code)Kaggle はデュアルGPUへのアクセスを提供します。

**新しい推論トレースでファインチューニングするには、我々の無料の** [**Magistral 用の Kaggle ノートブック を使用できます。**](https://www.kaggle.com/notebooks/welcome?src=https://github.com/unslothai/notebooks/blob/main/nb/Kaggle-Magistral_\(24B\)-Reasoning-Conversational.ipynb\&accelerator=nvidiaTeslaT4)

```python
!pip install --upgrade unsloth
from unsloth import FastLanguageModel
import torch
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "unsloth/Magistral-Small-2509-unsloth-bnb-4bit",
    max_seq_length = 2048,   # コンテキスト長 - より長くできますがメモリを多く消費します
    load_in_4bit = True,     # 4ビットはメモリを大幅に節約します
    load_in_8bit = False,    # 若干精度が高くなりますがメモリは2倍使用します
    full_finetuning = False, # 現在フルファインチューニングも可能です！
    device_map = "balanced", # 2x Tesla T4を使用
    # token = "hf_...",      # ゲーテッドモデルを使用する場合はトークンを使用してください
)
```

古いバージョンのUnslothを使用している、またはローカルでファインチューニングする場合は、最新バージョンのUnslothをインストールしてください：

```
pip install --upgrade --force-reinstall --no-cache-dir unsloth unsloth_zoo
```

## :diamond\_shape\_with\_a\_dot\_inside:動的 Float8 チェックポイント

また、精度を最大限保持するための動的手法の一部を利用した、float8 チェックポイントの2つの一般的なフォーマットも提供しています:

* [vLLM の Float8 フォーマット](https://huggingface.co/unsloth/Magistral-Small-2509-FP8-Dynamic)
* [TorchAO の Float8 フォーマット](https://huggingface.co/unsloth/Magistral-Small-2509-FP8-torchao)

どちらも vLLM 経由でのデプロイに最適です。vLLM で TorchAO ベースの FP8 量子化を使用する方法について読んでください。 [こちら](https://docs.vllm.ai/en/latest/features/quantization/torchao.html).

[^1]: Kの量子化でメモリ使用量を削減します。f16、q8\_0、q4\_0 が使用可能です。

[^2]: システムプロンプトを有効にするには必ず --jinja を使用してください


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://unsloth.ai/docs/jp/moderu/tutorials/magistral-how-to-run-and-fine-tune.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
