> 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 les 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 de générer un jeton par étape. Cela permet une inférence plus rapide sans perte de précision, et c’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.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 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 [GGUFs](/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 à moindre bande passante mémoire, comme les anciens Mac. Vous pouvez exécuter des 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**, prévoyez donc \~2 Go de RAM/VRAM supplémentaires.
{% 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, **n’assumez 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 originaux [Gemma 4](/docs/fr/modeles/gemma-4/qat.md) , 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 QAT de Gemma 4, et les quants MTP sont donc eux aussi dérivés intelligemment en 4 bits.

Nous avons téléversé `mtp-` des GGUF préfixés à chaque dépôt, donc vous n’avez besoin d’utiliser que les **GGUF originaux réguliers de Gemma 4**, 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 cela s’exécute 1,5x à 2,2x plus vite :

<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 unifié**   |   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 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é au sein du paquet GGUF, il n’est donc pas nécessaire de télécharger un GGUF assistant séparé pour Gemma 4.

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

Pour exécuter les modèles MTP de Gemma 4, 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>

donc 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 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 au Qwen3.6 27B MTP d’atteindre 160 jetons/s et au 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>

Voici ci-dessous des graphiques du débit d’inférence pour MTP vs 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, alors attendez-vous à ce qu’il devienne plus rapide au fil du temps !

Pour exécuter les modèles MTP de Qwen, 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é

Au premier lancement, vous devrez créer un mot de passe pour sécuriser votre compte et vous reconnecter plus tard. Puis 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 le quant souhaités.

{% hint style="warning" %}
**Gemma 4 MTP est automatiquement activé dans Unsloth. Vous n’avez qu’à télécharger 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é au sein du paquet GGUF, il n’est donc pas nécessaire de télécharger un GGUF assistant séparé pour Gemma 4.

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

Paramètres d’inférence, MTP et spéculative **de décodage** devraient ê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 discussion 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 Qwen3.6 MTP 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 comme d’habitude - 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 souhaitez 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 à 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 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 devrait télécharger et utiliser automatiquement 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 [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 des tâches de codage précises, modifiez : `temperature=0.6`

{% hint style="info" %}
Veuillez consulter 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 le quant dynamique 2 bits `UD-Q2_K_XL` pour équilibrer taille et précision. Si les téléchargements restent bloqués, voir : [Hugging Face Hub, débogage 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 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="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 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.
