> 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.8.md) をローカルデバイスで。

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

実行時に [GGUF](/docs/jp/ji-chu/dynamic-3.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="/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)でも実行できます。Gemma 4 QATでMTPのベンチマークを行ったところ、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/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="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/shii/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-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-bitの動的量子化 `UD-Q2_K_XL` を使用することを推奨します。ダウンロードが止まる場合は、こちらを参照してください： [Hugging Face Hub、XET のデバッグ](/docs/jp/ji-chu/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*" # 動的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*" # 動的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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
