> 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 Multi-Token Prediction, accélère l’inférence en permettant à un modèle de prédire plusieurs jetons à 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.6](/docs/fr/modeles/qwen3.6.md) sur votre appareil local.

MTP prédit plusieurs jetons 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 jetons vérifiés sont conservés.

Lors de l’exécution de [des GGUF](/docs/fr/bases/unsloth-dynamic-2.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 tirent le plus grand bénéfice, 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 limitée, comme les anciens Mac. Vous pouvez exécuter les modèles MTP directement dans [l’interface d’Unsloth Studio](/docs/fr/nouveau/studio.md) ou llama.cpp.

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

<a href="/pages/8a5380e0865d3d7e5687a50dfdc376839d816086#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 supposez 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 réglages 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 [Gemma 4](/docs/fr/modeles/gemma-4/qat.md) modèles 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 ne téléversons que 3 options de précision : **8 bits** et **16 bits** (BF16, F16). Pour QAT, nous avons appliqué le [processus intelligent de récupération en 4 bits](/docs/fr/modeles/gemma-4/qat.md#qat-analysis) comme nous l’avons fait pour les quants Gemma 4 QAT, et donc les quants MTP sont également dérivés intelligemment en 4 bits.

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

<div data-with-frame="true"><figure><img src="/files/7261372fed50063d5039a8b59e28d9bc9e97f461" 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 qu’à télécharger les GGUF originaux Gemma 4 réguliers.** Nous avons mis à jour les fichiers GGUF de Gemma 4 pour inclure un fichier MTP supplémentaire dans un dossier séparé au sein du package GGUF, il n’est donc pas nécessaire de télécharger un GGUF 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="/pages/8a5380e0865d3d7e5687a50dfdc376839d816086#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>

donc ce qui suit fonctionne (cela utilise celui en 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 directement entraîné MTP à 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 jetons/s et à Qwen3.6 35B-A3B d’atteindre 240 jetons/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>

Ci-dessous se trouvent des graphiques du débit d’inférence pour MTP par rapport à sans MTP :

<div><figure><img src="/files/e6a3988315db5e44cc88a90e5e55c34aad0095be" alt=""><figcaption></figcaption></figure> <figure><img src="/files/c52b5eee682e367e79a885fdedb27ab348dfbdb7" 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, alors attendez-vous à ce qu’elles s’accélèrent avec le 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 réglages MTP idéaux optimisés pour votre matériel spécifique (Mac, CPU, GPU, etc.) — vous pouvez toujours les modifier plus tard.

{% stepper %}
{% step %}

#### Installez 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é

Au 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 qu’à télécharger le GGUF Gemma 4 original régulier.** Nous avons mis à jour les fichiers GGUF de Gemma 4 pour inclure un fichier MTP supplémentaire dans un dossier séparé au sein du package GGUF, il n’est donc pas nécessaire de télécharger un GGUF 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="/files/783e781ddc4577961148d744a6295e8c7b79690b" alt="" width="375"><figcaption></figcaption></figure> <figure><img src="/files/6ce285ce425860e42b38d1490d616c92d874c7c8" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

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

Paramètres d’inférence, MTP et spéculatifs **de décodage** doivent être définis automatiquement lors de l’utilisation d’Unsloth Studio, cependant 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="/files/929297567955ec6da334417a3d725482eef8e894" 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, recherché 10 sites et exécuté du code Python :

<div data-with-frame="true"><figure><img src="/files/e508a762e6597ccd32fd8a692e462c5f69c87fe2" 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. Changez `-DGGML_CUDA=ON` en `-DGGML_CUDA=OFF` si vous n’avez pas de GPU ou si vous souhaitez simplement une inférence CPU. **Pour les appareils Apple Mac / Metal**, définissez `-DGGML_CUDA=OFF` puis continuez comme d’habitude — la prise en charge 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 souhaitez utiliser `llama.cpp` directement pour charger les modèles, vous pouvez faire ce qui suit : (:`Q4_K_XL`) est le type de quantification. Vous pouvez aussi 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="/pages/8a5380e0865d3d7e5687a50dfdc376839d816086#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 **modifier le nom du modèle** pour la taille de modèle 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 le `-hf` commande ci-dessous 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 voir le nouveau [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 **modifier 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, changez : `temperature=0.6`

{% hint style="info" %}
Veuillez voir le nouveau [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 souhaitez 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 la taille et la précision. Si les téléchargements se bloquent, voir : [Hugging Face Hub, débogage XET](/docs/fr/bases/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 dynamique 2 bits
```

#### 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 dynamique 2 bits
```

{% 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="/files/0d3cc82e741387b96e8d6f1f892ab1a1c6d67896" 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 avec 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 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/fr/modeles/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.
