> 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/fr/modeles/mtp.md).

# Comment exécuter des modèles MTP : guide de prédiction multi-token

MTP, ou prédiction multi-token, accélère l'inférence en permettant à un modèle de prédire plusieurs tokens à venir à la fois au lieu d'en générer un par étape. Cela permet une inférence plus rapide sans perte de précision et est particulièrement efficace sur les GPU. Dans ce guide, vous apprendrez à utiliser des modèles MTP comme [Gemma 4](/docs/fr/modeles/gemma-4.md) ou [Qwen3.8](/docs/fr/modeles/qwen3.8.md) sur votre appareil local.

MTP prédit plusieurs tokens futurs, que le modèle principal vérifie en parallèle. Cela réduit les passes avant de génération, accélérant la sortie tout en préservant la qualité, car seuls les tokens vérifiés sont conservés.

Lors de l'exécution de [GGUF](/docs/fr/notions-de-base/dynamic-3.0-ggufs.md), MTP peut rendre la génération **\~1,4× à 2,2× plus rapide**. Les modèles denses comme Gemma-4-31B en bénéficient le plus, atteignant **>1,4× d'accélération** par rapport à l'original. Les gains sont plus faibles sur les appareils dont la bande passante mémoire est plus faible, comme les anciens Mac. Vous pouvez exécuter les modèles MTP directement dans [l'interface utilisateur d'Unsloth Studio](/docs/fr/nouveau/studio.md) ou llama.cpp.

{% hint style="info" %}
**MTP utilise plus de mémoire que le standard**, donc prévoyez environ 2 Go de marge supplémentaire en RAM/VRAM.
{% endhint %}

<a href="/docs/fr/modeles/mtp.md#gemma-4-mtp" class="button primary">Gemma 4 MTP</a><a href="/pages/8a5380e0865d3d7e5687a50dfdc376839d816086#qwen3.6-mtp" class="button primary">Qwen3.6 MTP</a>

Nous avons constaté `--spec-draft-n-max 2` est le meilleur point de départ cependant, **ne présumez pas `2` est optimal**, car les performances dépendent du matériel. Essayez n'importe quelle valeur de `1` à `6` et utilisez celle qui est la plus rapide pour votre système. Unsloth Studio définit automatiquement les paramètres MTP idéaux optimisés pour votre matériel spécifique (Mac, CPU, GPU, etc.) - vous pouvez toujours les modifier plus tard.

### Gemma 4 MTP

Google DeepMind a entraîné MTP séparément des modèles [Gemma 4](/docs/fr/modeles/gemma-4/qat.md) originaux, y compris pour [les variantes QAT](/docs/fr/modeles/gemma-4/qat.md). Contrairement à Qwen, Google a publié des variantes MTP spécifiques sous le nom `assistant` . Pour de meilleurs résultats, nous téléchargeons uniquement 3 options de précision : **8 bits** et **16 bits** (BF16, F16). Pour QAT - nous avons appliqué le [processus intelligent de récupération 4 bits](/docs/fr/modeles/gemma-4/qat.md#qat-analysis) comme nous l'avons fait pour les quants Gemma 4 QAT, et ainsi les quants MTP sont également dérivés de manière intelligente en 4 bits.

Nous avons téléchargé `mtp-` des GGUF préfixés dans chaque dépôt, vous n'avez donc besoin d'utiliser que les **GGUF Gemma 4 originaux ordinaires**, aucun dépôt séparé n'est nécessaire. Vous pouvez accéder à Gemma [modèles MTP ici](https://huggingface.co/collections/unsloth/gemma-4) et ils peuvent désormais s'exécuter dans [Unsloth](#unsloth-studio-mtp-guide). Nous avons benchmarké Gemma 4 QAT avec MTP, et il s'exécute 1,5x - 2,2x plus rapidement :

<div data-with-frame="true"><figure><img src="https://550366147-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>

**Tableau : exigences matérielles MTP** (unités = mémoire totale : RAM + VRAM, ou mémoire unifiée)

| Variante Gemma 4 |   4 bits |   8 bits | BF16 / FP16 |
| ---------------- | -------: | -------: | ----------: |
| **E2B**          |     5 Go |   6–9 Go |       11 Go |
| **E4B**          | 6,5–7 Go | 10–13 Go |       17 Go |
| **12B Unified**  |   8–9 Go | 14–15 Go |       26 Go |
| **26B A4B**      | 17–18 Go | 29–31 Go |       53 Go |
| **31B**          | 18–21 Go | 35–39 Go |       63 Go |

{% hint style="warning" %}
**Gemma 4 MTP est automatiquement activé dans** [**Unsloth Studio**](#unsloth-studio-mtp-guide)**. Vous n'avez besoin de télécharger que les GGUF originaux réguliers de Gemma 4.** Nous avons mis à jour les fichiers GGUF de Gemma 4 pour inclure un fichier MTP supplémentaire dans un dossier séparé à l'intérieur du package GGUF, il n'est donc pas nécessaire de télécharger un GGUF d'assistant Gemma 4 séparé.

Le seul modèle qui nécessite encore un GGUF MTP séparé est Qwen3.6.
{% endhint %}

Pour exécuter les modèles Gemma 4 MTP, suivez les étapes soit pour [Unsloth Studio](#unsloth-studio-mtp-guide) ou [llama.cpp](#llama.cpp-mtp-guide).

<a href="/docs/fr/modeles/mtp.md#unsloth-studio-mtp-guide" class="button primary">🦥 Exécuter dans Unsloth Studio</a><a href="/pages/8a5380e0865d3d7e5687a50dfdc376839d816086#llama.cpp-mtp-guide" class="button primary">🦙 Exécuter dans llama.cpp</a>

pour que ce qui suit fonctionne directement (cela utilise la version 8 bits)

{% 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 a entraîné MTP directement à l'intérieur des [Qwen3.6](/docs/fr/modeles/qwen3.6.md) et [Qwen3.5](/docs/fr/modeles/qwen3.5.md) modèles. Cela permet à Qwen3.6 27B MTP d'atteindre 160 tokens/s et à Qwen3.6 35B-A3B d'atteindre 240 tokens/s sur un GPU RTX 6000. Téléversements 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) |
| --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |

**Tableau : exigences matérielles MTP** (unités = mémoire totale : RAM + VRAM, ou mémoire unifiée)

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

Voici ci-dessous des graphiques du débit d'inférence avec MTP par rapport à sans MTP :

<div><figure><img src="https://550366147-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://550366147-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>

Nous avons également [téléversé des GGUF MTP](https://huggingface.co/unsloth/models?search=mtp) pour la [Qwen3.5](/docs/fr/modeles/qwen3.5.md) **famille de modèles** notamment : 0,8B, 2B, 4B, 9B, 27B, 35B-A3B, 122B-A10B et 397B-A17B. Llama.cpp améliore continuellement les performances MTP, donc attendez-vous à ce qu'elles s'améliorent au fil du temps !

Pour exécuter les modèles Qwen MTP, suivez les étapes soit pour [Unsloth Studio](#unsloth-studio-mtp-guide) ou [llama.cpp](#llama.cpp-mtp-guide).

### 🦥 Guide MTP d'Unsloth Studio

Unsloth Studio définit automatiquement les paramètres MTP idéaux optimisés pour votre matériel spécifique (Mac, CPU, GPU, etc.) - vous pouvez toujours les modifier plus tard.

{% stepper %}
{% step %}

#### Installer Unsloth

Exécutez dans votre terminal :

**MacOS, Linux, WSL :**

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

**Windows PowerShell :**

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

{% endstep %}

{% step %}

#### Lancer Unsloth

**MacOS, Linux, WSL et Windows :**

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

Puis ouvrez `http://127.0.0.1:8888` (ou votre URL spécifique) dans votre navigateur.
{% endstep %}

{% step %}

#### Recherchez et téléchargez le modèle souhaité

Lors du premier lancement, vous devrez créer un mot de passe pour sécuriser votre compte et vous reconnecter plus tard. Ensuite, allez dans l' [onglet Unsloth Chat](/docs/fr/nouveau/studio/chat.md) et recherchez Qwen3.6 MTP ou Gemma 4 dans la barre de recherche, puis téléchargez le modèle et la quantification souhaités.

{% hint style="warning" %}
**Gemma 4 MTP est automatiquement activé dans Unsloth. Vous n'avez besoin de télécharger que le GGUF original régulier de Gemma 4.** Nous avons mis à jour les fichiers GGUF de Gemma 4 pour inclure un fichier MTP supplémentaire dans un dossier séparé à l'intérieur du package GGUF, il n'est donc pas nécessaire de télécharger un GGUF d'assistant Gemma 4 séparé.

Le seul modèle qui nécessite encore un GGUF MTP séparé est Qwen3.6.
{% endhint %}

<div><figure><img src="https://550366147-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://550366147-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 %}

#### Exécutez votre modèle MTP

Les paramètres d'inférence, MTP et de décodage spéculatif **devraient être définis automatiquement lors de l'utilisation d'Unsloth Studio, mais vous pouvez toujours les modifier manuellement. Vous pouvez également modifier le décodage spéculatif, la longueur du contexte, le modèle de chat et d'autres paramètres dans la barre latérale droite.** devraient être définis automatiquement lors de l'utilisation d'Unsloth Studio, mais vous pouvez toujours les modifier manuellement. Vous pouvez également modifier le décodage spéculatif, la longueur du contexte, le modèle de chat et d'autres paramètres dans la barre latérale droite.

<div data-with-frame="true"><figure><img src="https://550366147-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>

Pour plus d'informations, vous pouvez consulter notre [guide d'inférence d'Unsloth Studio](/docs/fr/nouveau/studio/chat.md). Ci-dessous, le GGUF MTP Qwen3.6 2 bits a effectué plus de 10 appels d'outils, a recherché 10 sites et a exécuté du code Python :

<div data-with-frame="true"><figure><img src="https://550366147-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 %}

### 🦙 Guide MTP de Llama.cpp

{% stepper %}
{% step %}
Installez la dernière version de `llama.cpp` sur [**GitHub ici**](https://github.com/ggml-org/llama.cpp/pull/22673). Vous pouvez également suivre les instructions de compilation ci-dessous. Remplacez `-DGGML_CUDA=ON` par `-DGGML_CUDA=OFF` si vous n'avez pas de GPU ou si vous voulez simplement une inférence CPU. **Pour les appareils Apple Mac / Metal**, définissez `-DGGML_CUDA=OFF` puis continuez normalement - la prise en charge de Metal est activée par défaut.

```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 %}
Si vous voulez utiliser `llama.cpp` directement pour charger des modèles, vous pouvez faire ce qui suit : (:`Q4_K_XL`) est le type de quantification. Vous pouvez également télécharger via Hugging Face (point 3). C'est similaire à `ollama run` . Utilisez `export LLAMA_CACHE="folder"` pour forcer `llama.cpp` à enregistrer vers un emplacement spécifique. Le modèle a une longueur de contexte maximale de 256K.

Suivez l'une des commandes pour les modèles spécifiques :

<a href="/docs/fr/modeles/mtp.md#gemma-4-mtp-1" class="button primary">Gemma 4</a><a href="/pages/8a5380e0865d3d7e5687a50dfdc376839d816086#qwen3.6-mtp-1" class="button primary">Qwen3.6</a>

#### Gemma 4 MTP :

N'oubliez pas de **changer le nom du modèle** pour la taille Gemma 4 souhaitée, comme Gemma-4-26B-A4B, etc., car les instructions ci-dessous concernent Gemma-4-12B. Notez que nous avons fourni un `mtp-` GGUF préfixé, donc la commande ci-dessous `-hf` devrait télécharger automatiquement et utiliser MTP.

**Mode réflexion :**

```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" %}
Veuillez consulter le nouveau mode de Gemma 4 [Réflexion préservée](#thinking-enable-disable--preserve-thinking).
{% endhint %}

**Mode sans réflexion**:

```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 :

N'oubliez pas de **changer le nom du modèle** pour la variante Qwen3.6 souhaitée, comme Qwen3.6-35B-A3B ou Qwen3.5, etc., car les instructions ci-dessous concernent Qwen3.6-27B :

**Mode réflexion** (Tâches générales)**:**

```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
```

Pour les tâches de codage précises, modifiez : `temperature=0.6`

{% hint style="info" %}
Veuillez consulter le nouveau mode de Qwen3.6 [Réflexion préservée](#thinking-enable-disable--preserve-thinking).
{% endhint %}

**Mode sans réflexion** (Tâches générales) :

```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 %}

#### Téléchargement manuel des quants

Si vous voulez télécharger manuellement les quants et les quants MTP, vous pouvez aussi le faire ! Téléchargez le modèle via le code ci-dessous (après avoir installé `pip install huggingface_hub hf_transfer`). Vous pouvez choisir Q4\_K\_M ou d'autres versions quantifiées comme `UD-Q4_K_XL` . Nous recommandons d'utiliser au moins une quantification dynamique 2 bits `UD-Q2_K_XL` pour équilibrer taille et précision. Si les téléchargements se bloquent, voir : [Débogage de Hugging Face Hub et XET](/docs/fr/notions-de-base/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*" # Utilisez "*UD-Q2_K_XL*" pour le 2 bits dynamique
```

#### 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*" # Utilisez "*UD-Q2_K_XL*" pour le 2 bits dynamique
```

{% endstep %}

{% step %}
Puis exécutez le modèle en mode conversation :

#### 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 %}

Et vous verrez ce qui suit - ignorez également les messages d'erreur

<img src="https://550366147-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 %}

#### Déploiement de llama-server

Pour déployer Gemma-4 sur llama-server, utilisez :

{% 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/fr/modeles/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.
