> 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.8](/docs/jp/moderu/qwen3.6.md) をローカルデバイスで使用する方法を学びます。

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

を実行する場合、 [GGUF](/docs/jp/ji-ben/dynamic-3.0-ggufs.md)では、MTPにより生成が **約1.4倍〜2.2倍高速**になります。Gemma-4-31Bのような密なモデルでは最も恩恵が大きく、 **>1.4倍の高速化** を達成します。古いMacのようにメモリ帯域幅が低いデバイスでは、改善幅は小さくなります。MTPモデルは、 [Unsloth StudioのUI](/docs/jp/xin-zhe/studio.md) または llama.cpp で直接実行できます。

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

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

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

<div data-with-frame="true"><figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FbFaiVrra3iTZQvZjAeoR%2Fgemma%204%20mtp.png?alt=media&amp;token=c32a50d3-36ef-47b6-a9c0-5ca0b1d1549b" alt="" width="563"><figcaption></figcaption></figure></div>

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

| Gemma 4 バリアント   |    4-bit |    8-bit | BF16 / FP16 |
| --------------- | -------: | -------: | ----------: |
| **E2B**         |     5 GB |   6〜9 GB |       11 GB |
| **E4B**         | 6.5〜7 GB | 10〜13 GB |       17 GB |
| **12B Unified** |   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="/docs/jp/moderu/mtp.md#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-bit版を使用します）

{% 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トークン/秒、Qwen3.6 35B-A3Bは240トークン/秒に到達します。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-bit</th><th>4-bit</th><th width="128">6-bit</th><th>8-bit</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="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FMYn1g7MDeVRAUa6i2oOk%2Fthroughput%20mpt.png?alt=media&amp;token=aff44c0a-3cc3-493e-b6b4-e3279dfb90c1" alt=""><figcaption></figcaption></figure> <figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F4CvUpxr0xdxCR1lTGUbS%2Fmtp%20benchmarks%20landscape.png?alt=media&amp;token=d6579f47-a196-408b-a013-329e09705251" 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/xin-zhe/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="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FdtEdYQfmVn80wEC6rw5P%2FScreenshot%202026-06-11%20at%208.37.44%E2%80%AFAM.png?alt=media&amp;token=288c2c95-9ddc-41c8-aefe-4ce81af16ff1" alt="" width="375"><figcaption></figcaption></figure> <figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F2zQdtdNf0CRBrnTOXBZa%2FScreenshot%202026-05-16%20at%207.10.39%E2%80%AFPM.png?alt=media&amp;token=d1f2e482-5cb7-4e41-97ed-f2905a81f262" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### MTPモデルを実行

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

<div data-with-frame="true"><figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F6OmL5f4aDMFPFCqUcfsN%2FScreenshot%202026-06-11%20at%208.39.48%E2%80%AFAM.png?alt=media&amp;token=3d6fc88a-e275-4a07-bb84-4305f9ba1089" alt="" width="149"><figcaption></figcaption></figure></div>

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

<div data-with-frame="true"><figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FsERzR65n4jc1UtuSHozZ%2Fwedefrwfwe.gif?alt=media&amp;token=e303ed9e-0d90-456d-8d57-874a06803903" 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`は量子化タイプです。Hugging Face経由でダウンロードすることもできます（3番）。これは `ollama run` に似ています。 `export LLAMA_CACHE="folder"` を使うと `llama.cpp` が特定の場所に保存されるよう強制できます。モデルの最大コンテキスト長は256Kです。

特定のモデル用のコマンドのいずれかを実行してください。

<a href="/docs/jp/moderu/mtp.md#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-35B-A3BやQwen3.5など、目的のQwen3.6バリアントに変更してください。以下の手順はQwen3.6-27B向けです。

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

```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-bitの動的量子化 `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*" # Dynamic 2bit では "*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*" # Dynamic 2bit では "*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="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FxvFX69qVxC4PBQ5CyzrN%2Fimage.png?alt=media&amp;token=0ac706d9-1492-4224-be7f-a6876aa488ca" 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.
