> For the complete documentation index, see [llms.txt](https://unsloth.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unsloth.ai/docs/jp/moderu/mtp.md).

# MTPモデルの実行方法: マルチトークン予測ガイド

MTP、または Multi-Token Prediction は、1ステップにつき1トークンを生成する代わりに、モデルに複数の次トークンをまとめて予測させることで推論を高速化します。精度を落とさずに推論を高速化でき、特に GPU で効果的です。このガイドでは、次のような MTP モデルの使い方を学びます。 [Gemma 4](/docs/jp/moderu/gemma-4.md) または [Qwen3.6](/docs/jp/moderu/qwen3.6.md) をローカルデバイスで。

MTP は複数の将来トークンを予測し、メインモデルがそれらを並列に検証します。これにより生成のフォワードパスが減り、検証済みトークンだけが保持されるため、品質を保ちながら出力が高速化されます。

実行時に [GGUFs](/docs/jp/ji-ben/unsloth-dynamic-2.0-ggufs.md)、MTP により生成が **約1.4×〜2.2×高速化**します。Gemma-4-31B のような密なモデルが最も恩恵を受け、 **1.4×超の高速化** を達成します。古い Mac など、メモリ帯域幅が低いデバイスでは効果は小さくなります。MTP モデルは [Unsloth Studio の UI](/docs/jp/shii/studio.md) または llama.cpp で直接実行できます。

{% hint style="info" %}
**MTP は標準の**より多くのメモリを使用するため、約2 GB の追加 RAM/VRAM の余裕を見込んでください。
{% endhint %}

<a href="/pages/dd5bb70bca754ea9bde116b50d92614a5ee10c37#gemma-4-mtp" class="button primary">Gemma 4 MTP</a><a href="/pages/dd5bb70bca754ea9bde116b50d92614a5ee10c37#qwen3.6-mtp" class="button primary">Qwen3.6 MTP</a>

私たちは `--spec-draft-n-max 2` が最適な出発点だと分かりましたが、 **最適だと `2` 考えないでください**。性能はハードウェアに依存するためです。 `1` から `6` までの任意の値を試し、システムで最も速いものを使ってください。Unsloth Studio は、お使いの特定のハードウェア（Mac、CPU、GPU など）に最適化された理想的な MTP 設定を自動的に適用します。後から変更することもできます。

### Gemma 4 MTP

Google DeepMind は MTP を元の [Gemma 4](/docs/jp/moderu/gemma-4/qat.md) モデルとは別に学習し、 [QAT 版](/docs/jp/moderu/gemma-4/qat.md)にも対応しています。Qwen とは異なり、Google は `assistant` という名前で特定の MTP バリアントを公開しました。最良の結果のため、私たちは 3 つの精度オプションのみをアップロードしています： **8ビット** と **16ビット** （BF16、F16）。QAT については、 [スマート 4ビット復元プロセス](/docs/jp/moderu/gemma-4/qat.md#qat-analysis) を Gemma 4 QAT の量子化版で行ったのと同様に適用したため、MTP の量子化版もスマート 4ビット由来です。

私たちは `mtp-` を接頭辞とする GGUF を各リポジトリにアップロードしたので、必要なのは **通常の元の Gemma 4 GGUF**だけです。別のリポジトリは必要ありません。Gemma [の MTP モデルはこちらからアクセスできます](https://huggingface.co/collections/unsloth/gemma-4) 。そして現在、 [Unsloth](#unsloth-studio-mtp-guide)で実行できます。Gemma 4 QAT を MTP でベンチマークしたところ、1.5倍〜2.2倍高速です：

<div data-with-frame="true"><figure><img src="/files/ae8dd38c9580ea88a43d3a4c5eedb52f5c6f4442" alt="" width="563"><figcaption></figcaption></figure></div>

**表：MTP のハードウェア要件** （単位 = 合計メモリ：RAM + VRAM、または統合メモリ）

| Gemma 4 バリアント |     4ビット |     8ビット | BF16 / FP16 |
| ------------- | -------: | -------: | ----------: |
| **E2B**       |     5 GB |   6〜9 GB |       11 GB |
| **E4B**       | 6.5〜7 GB | 10〜13 GB |       17 GB |
| **12B 統合**    |   8〜9 GB | 14〜15 GB |       26 GB |
| **26B A4B**   | 17〜18 GB | 29〜31 GB |       53 GB |
| **31B**       | 18〜21 GB | 35〜39 GB |       63 GB |

{% hint style="warning" %}
**Gemma 4 MTP は** [**Unsloth Studio**](#unsloth-studio-mtp-guide)**で自動的に有効になります。通常の元の Gemma 4 GGUF をダウンロードするだけで構いません。** Gemma 4 GGUF ファイルを更新して、GGUF パッケージ内の別フォルダに追加の MTP ファイルを含めたため、別の Gemma 4 assistant GGUF をダウンロードする必要はありません。

それでも別個の MTP GGUF が必要なのは Qwen3.6 だけです。
{% endhint %}

Gemma 4 MTP モデルを実行するには、次のいずれかの手順に従ってください。 [Unsloth Studio](#unsloth-studio-mtp-guide) または [llama.cpp](#llama.cpp-mtp-guide).

<a href="/pages/dd5bb70bca754ea9bde116b50d92614a5ee10c37#unsloth-studio-mtp-guide" class="button primary">🦥 Unsloth Studio で実行</a><a href="/pages/dd5bb70bca754ea9bde116b50d92614a5ee10c37#llama.cpp-mtp-guide" class="button primary">🦙 llama.cpp で実行</a>

ので、以下の内容はそのまま動作します（これは 8ビット版を使用しています）

{% code overflow="wrap" %}

```bash
llama-server \
    -hf unsloth/gemma-4-31B-it-GGUF \\
    --spec-type draft-mtp \\
    --spec-draft-n-max 4
```

{% endcode %}

### Qwen3.6 MTP

Qwen は MTP を [Qwen3.6](/docs/jp/moderu/qwen3.6.md) と [Qwen3.5](/docs/jp/moderu/qwen3.5.md) モデル内で直接学習しました。これにより Qwen3.6 27B MTP は RTX 6000 GPU で 160 tokens/s、Qwen3.6 35B-A3B は 240 tokens/s に達します。GGUF のアップロード：

| [Qwen3.6-27B-MTP-GGUF](https://huggingface.co/unsloth/Qwen3.6-27B-MTP-GGUF) | [Qwen3.6-35B-A3B-MTP-GGUF](https://huggingface.co/unsloth/Qwen3.6-35B-A3B-MTP-GGUF) |
| --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |

**表：MTP のハードウェア要件** （単位 = 合計メモリ：RAM + VRAM、または統合メモリ）

<table><thead><tr><th>Qwen3.6</th><th>3ビット</th><th>4ビット</th><th width="128">6ビット</th><th>8ビット</th><th>BF16</th></tr></thead><tbody><tr><td><strong>27B</strong></td><td>16 GB</td><td>19 GB</td><td>25 GB</td><td>31 GB</td><td>56 GB</td></tr><tr><td><strong>35B-A3B</strong></td><td>18 GB</td><td>24 GB</td><td>31 GB</td><td>39 GB</td><td>71 GB</td></tr></tbody></table>

以下は、MTP と非 MTP の推論スループットのグラフです：

<div><figure><img src="/files/79b0e64b0c4c5291d7ca2efbc1d52ed6ecc127e2" alt=""><figcaption></figcaption></figure> <figure><img src="/files/0561a4e8c87a3ade89ad713eb2897e3967a03b52" alt=""><figcaption></figcaption></figure></div>

また [MTP GGUF をアップロードしました](https://huggingface.co/unsloth/models?search=mtp) ための [Qwen3.5](/docs/jp/moderu/qwen3.5.md) **モデルファミリー** には 0.8B、2B、4B、9B、27B、35B-A3B、122B-A10B、397B-A17B が含まれます。Llama.cpp は MTP 性能を継続的に改善しているため、今後さらに速くなるはずです！

Qwen MTP モデルを実行するには、次のいずれかの手順に従ってください。 [Unsloth Studio](#unsloth-studio-mtp-guide) または [llama.cpp](#llama.cpp-mtp-guide).

### 🦥 Unsloth Studio MTP ガイド

Unsloth Studio は、お使いの特定のハードウェア（Mac、CPU、GPU など）に最適化された理想的な MTP 設定を自動的に適用します。後から変更することもできます。

{% stepper %}
{% step %}

#### Unsloth をインストール

ターミナルで次を実行してください：

**MacOS、Linux、WSL：**

```bash
curl -fsSL https://unsloth.ai/install.sh | sh
```

**Windows PowerShell：**

```bash
irm https://unsloth.ai/install.ps1 | iex
```

{% endstep %}

{% step %}

#### Unsloth を起動

**MacOS、Linux、WSL および Windows：**

```bash
unsloth studio -H 127.0.0.1 -p 8888
```

その後 `http://127.0.0.1:8888` （または指定した URL）をブラウザで開いてください。
{% endstep %}

{% step %}

#### 目的のモデルを検索してダウンロード

初回起動時には、アカウントを保護するためのパスワードを作成し、後で再度サインインする必要があります。その後、 [Unsloth Chat](/docs/jp/shii/studio/chat.md) タブに移動し、検索バーで Qwen3.6 MTP または Gemma 4 を検索して、目的のモデルと量子化版をダウンロードしてください。

{% hint style="warning" %}
**Gemma 4 MTP は Unsloth で自動的に有効になります。通常の元の Gemma 4 GGUF をダウンロードするだけで構いません。** Gemma 4 GGUF ファイルを更新して、GGUF パッケージ内の別フォルダに追加の MTP ファイルを含めたため、別の Gemma 4 assistant GGUF をダウンロードする必要はありません。

それでも別個の MTP GGUF が必要なのは Qwen3.6 だけです。
{% endhint %}

<div><figure><img src="/files/c8209ab398f8b1672a449169ff26bb9beaa54425" alt="" width="375"><figcaption></figcaption></figure> <figure><img src="/files/3d9052ef233d9a70773230b1cab0b1212d78b4b3" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### MTP モデルを実行

推論、MTP、および speculative **デコード設定** は Unsloth Studio を使うと自動設定されるはずですが、手動で変更することもできます。右側のサイドバーで speculative decoding、コンテキスト長、チャットテンプレート、その他の設定も編集できます。

<div data-with-frame="true"><figure><img src="/files/2362cd74fc838da23f249f32a77095370fb4ceed" alt="" width="149"><figcaption></figcaption></figure></div>

詳細については、 [Unsloth Studio 推論ガイド](/docs/jp/shii/studio/chat.md)をご覧ください。以下では、2ビットの Qwen3.6 MTP GGUF が 10 回以上のツール呼び出しを行い、10 のサイトを検索し、Python コードを実行しました：

<div data-with-frame="true"><figure><img src="/files/27973fefe5b7ff34e02e2db67d51a11ac926e6a1" alt=""><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

### 🦙 Llama.cpp MTP ガイド

{% stepper %}
{% step %}
最新バージョンをインストールしてください `llama.cpp` で [**GitHub はこちら**](https://github.com/ggml-org/llama.cpp/pull/22673)。以下のビルド手順に従うこともできます。 `-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
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
```

{% endstep %}

{% step %}
もし `llama.cpp` を`直接使ってモデルを読み込みたい場合は、以下のようにできます：（`Q4\_K\_XL `ollama run` と似ています。 `export LLAMA_CACHE="folder"` を使って `llama.cpp` に保存先を強制できます。モデルの最大コンテキスト長は 256K です。

特定のモデル向けのコマンドのいずれかに従ってください：

<a href="/pages/dd5bb70bca754ea9bde116b50d92614a5ee10c37#gemma-4-mtp-1" class="button primary">Gemma 4</a><a href="/pages/dd5bb70bca754ea9bde116b50d92614a5ee10c37#qwen3.6-mtp-1" class="button primary">Qwen3.6</a>

#### Gemma 4 MTP：

忘れずに **モデル名を変更して** 、Gemma-4-26B-A4B などお好みの Gemma 4 モデルサイズにしてください。以下の手順は Gemma-4-12B 用です。 `mtp-` 接頭辞付き GGUF を用意しているので、以下の `-hf` コマンドは MTP を自動ダウンロードして使用します。

**思考モード：**

```bash
export LLAMA_CACHE="unsloth/gemma-4-12b-it-GGUF"
./llama.cpp/llama-cli \\
    -hf unsloth/gemma-4-12b-it-GGUF:UD-Q4_K_XL \\
    --temp 1.0 \\
    --top-p 0.95 \\
    --top-k 64  \\
    --spec-type draft-mtp --spec-draft-n-max 2
```

{% hint style="info" %}
Gemma 4 の新しい [Preserved Thinking](#thinking-enable-disable--preserve-thinking).
{% endhint %}

**非思考モード**:

```bash
export LLAMA_CACHE="unsloth/gemma-4-12b-it-GGUF"
./llama.cpp/llama-cli \\
    -hf unsloth/gemma-4-12b-it-GGUF:UD-Q4_K_XL \\
    --temp 1.0 \\
    --top-p 0.95 \\
    --top-k 64  \\
    --spec-type draft-mtp --spec-draft-n-max 2 \\
    --chat-template-kwargs '{"enable_thinking":false}'
```

#### Qwen3.6 MTP：

忘れずに **モデル名を変更して** 以下の手順は Qwen3.6-27B 用ですので、Qwen3.6-35B-A3B や Qwen3.5 などお好みの Qwen3.6 バリアントに変更してください：

**思考モード** （一般タスク）**:**

```bash
export LLAMA_CACHE="unsloth/Qwen3.6-27B-MTP-GGUF"
./llama.cpp/llama-cli \\
    -hf unsloth/Qwen3.6-27B-MTP-GGUF:UD-Q4_K_XL \\
    --temp 1.0 \\
    --top-p 0.95 \\
    --top-k 20 \\
    --min-p 0.00 \\
    --spec-type draft-mtp --spec-draft-n-max 2
```

精密なコーディング作業では、次を変更してください： `temperature=0.6`

{% hint style="info" %}
Qwen3.6 の新しい [Preserved Thinking](#thinking-enable-disable--preserve-thinking).
{% endhint %}

**非思考モード** （一般タスク）：

```bash
export LLAMA_CACHE="unsloth/Qwen3.6-27B-MTP-GGUF"
./llama.cpp/llama-server \\
    -hf unsloth/Qwen3.6-27B-MTP-GGUF:UD-Q4_K_XL \\
    --temp 0.7 \\
    --top-p 0.8 \\
    --top-k 20 \\
    --presence-penalty 1.5 \\
    --min-p 0.00 \\
    --spec-type draft-mtp --spec-draft-n-max 2 \\
    --chat-template-kwargs '{"enable_thinking":false}'
```

{% endstep %}

{% step %}

#### 量子化版を手動でダウンロード

量子化版と MTP の量子化版を手動でダウンロードしたい場合は、それも可能です！以下のコードでモデルをダウンロードしてください（ `pip install huggingface_hub hf_transfer`をインストールした後）。Q4\_K\_M や `UD-Q4_K_XL` のような他の量子化版も選べます。サイズと精度のバランスを取るため、少なくとも 2ビット動的量子化 `UD-Q2_K_XL` の使用を推奨します。ダウンロードが止まる場合は、次を参照してください： [Hugging Face Hub、XETのデバッグ](/docs/jp/ji-ben/troubleshooting-and-faqs/hugging-face-hub-xet-debugging.md)

#### Gemma 4 MTP：

```bash
hf download unsloth/gemma-4-12B-it-qat-GGUF \\
    --local-dir unsloth/gemma-4-12B-it-qat-GGUF \\
    --include "*mmproj-F16*" \\
    --include "mtp-*" \\
    --include "*UD-Q4_K_XL*" # 動的 2ビットには "*UD-Q2_K_XL*" を使用
```

#### Qwen3.6 MTP：

```bash
hf download unsloth/Qwen3.6-27B-MTP-GGUF \\
    --local-dir unsloth/Qwen3.6-27B-MTP-GGUF \\
    --include "*mmproj-F16*" \\
    --include "*UD-Q4_K_XL*" # 動的 2ビットには "*UD-Q2_K_XL*" を使用
```

{% endstep %}

{% step %}
その後、会話モードでモデルを実行します：

#### Gemma 4 MTP：

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-cli \\
    --model unsloth/gemma-4-12B-it-qat-GGUF/gemma-4-12B-it-qat-UD-Q4_K_XL.gguf \\
    --mmproj unsloth/gemma-4-12B-it-qat-GGUF/mmproj-F16.gguf \\
    --model-draft unsloth/gemma-4-12B-it-qat-GGUF/mtp-gemma-4-12B-it.gguf \\
    --temp 1.0 \\
    --top-p 0.95 \\
    --top-k 64  \\
    --spec-type draft-mtp --spec-draft-n-max 2
```

{% endcode %}

そして以下の内容が表示されます。エラーメッセージも無視してください

<img src="/files/2a356ada28900aa1f0099a68ecbf2b95c43e7779" alt="" data-size="original">

#### Qwen3.6 MTP：

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-cli \\
    --model unsloth/Qwen3.6-27B-MTP-GGUF/Qwen3.6-27B-UD-Q4_K_XL.gguf \\
    --mmproj unsloth/Qwen3.6-27B-MTP-GGUF/mmproj-F16.gguf \\
    --temp 1.0 \\
    --top-p 0.95 \\
    --min-p 0.00 \\
    --top-k 20 \\
    --spec-type draft-mtp --spec-draft-n-max 2
```

{% endcode %}
{% endstep %}

{% step %}

#### Llama-server のデプロイ

llama-server で Gemma-4 をデプロイするには、次を使用します：

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-server \\
    --model unsloth/gemma-4-12B-it-qat-GGUF/gemma-4-12B-it-qat-UD-Q4_K_XL.gguf \\
    --mmproj unsloth/gemma-4-12B-it-qat-GGUF/mmproj-F16.gguf \\
    --model-draft unsloth/gemma-4-12B-it-qat-GGUF/mtp-gemma-4-12B-it.gguf \\
    --temp 1.0 \\
    --top-p 0.95 \\
    --top-k 64 \\
    --alias "unsloth/gemma-4-12b-it-qat-GGUF" \\
    --port 8001 \\
    --chat-template-kwargs '{"enable_thinking":true}'
```

{% endcode %}
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://unsloth.ai/docs/jp/moderu/mtp.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
