# Qwen3-Next : Guide d'exécution locale

Qwen a publié Qwen3-Next en sept. 2025, qui sont des MoE 80B avec des variantes de modèle Thinking et Instruct de [Qwen3](/docs/fr/modeles/tutorials/qwen3-how-to-run-and-fine-tune.md). Avec un contexte de 256K, Qwen3-Next a été conçu avec une toute nouvelle architecture (hybride de MoE et Gated DeltaNet + Gated Attention) qui optimise spécifiquement l’inférence rapide sur des longueurs de contexte plus longues. Qwen3-Next a une inférence 10 fois plus rapide que Qwen3-32B.

<a href="/pages/29445d0c137d738fbbd518145144f5451be337d7#run-qwen3-next-tutorials" class="button secondary">Exécuter Qwen3-Next Instruct</a><a href="/pages/29445d0c137d738fbbd518145144f5451be337d7#thinking-qwen3-next-80b-a3b-thinking" class="button secondary">Exécuter Qwen3-Next Thinking</a>

GGUF dynamiques de Qwen3-Next-80B-A3B : [**Instruct**](https://huggingface.co/unsloth/Qwen3-Next-80B-A3B-Instruct-GGUF) **•** [**Thinking**](https://huggingface.co/unsloth/Qwen3-Next-80B-A3B-Thinking-GGUF)

### ⚙️ Guide d’utilisation

{% hint style="success" %}
NOUVEAU au 6 déc. 2025 : Unsloth Qwen3-Next est désormais mis à jour avec iMatrix pour de meilleures performances.

Le modèle thinking utilise `température = 0.6`, mais le modèle instruct utilise `température = 0.7`\
Le modèle thinking utilise `top_p = 0.95`, mais le modèle instruct utilise `top_p = 0.8`
{% endhint %}

Pour obtenir des performances optimales, Qwen recommande ces paramètres :

| Instruct :                                                                                                                                       | Thinking :                                                                                                                                       |
| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| <mark style="background-color:blue;">`Température = 0.7`</mark>                                                                                  | <mark style="background-color:blue;">`Température = 0.6`</mark>                                                                                  |
| `Min_P = 0.00` (la valeur par défaut de llama.cpp est 0.1)                                                                                       | `Min_P = 0.00` (la valeur par défaut de llama.cpp est 0.1)                                                                                       |
| `Top_P = 0.80`                                                                                                                                   | `Top_P = 0.95`                                                                                                                                   |
| `TopK = 20`                                                                                                                                      | `TopK = 20`                                                                                                                                      |
| `presence_penalty = de 0.0 à 2.0` (la valeur par défaut de llama.cpp le désactive, mais pour réduire les répétitions, vous pouvez utiliser ceci) | `presence_penalty = de 0.0 à 2.0` (la valeur par défaut de llama.cpp le désactive, mais pour réduire les répétitions, vous pouvez utiliser ceci) |

**Longueur de sortie adéquate**: Utilisez une longueur de sortie de `32,768` jetons pour la plupart des requêtes pour la variante thinking, et `16,384` pour la variante instruct. Vous pouvez augmenter la taille maximale de sortie pour le modèle thinking si nécessaire.

Modèle de chat pour Thinking (thinking a `<think></think>`) et Instruct ci-dessous :

```
<|im_start|>user
Salut !<|im_end|>
<|im_start|>assistant
Combien font 1+1 ?<|im_end|>
<|im_start|>user
2<|im_end|>
<|im_start|>assistant
```

## 📖 Exécuter les tutoriels Qwen3-Next

Voici des guides pour les [Thinking](#thinking-qwen3-next-80b-a3b-thinking) et [Instruct](#instruct-qwen3-next-80b-a3b-instruct) versions du modèle.

### Instruct : Qwen3-Next-80B-A3B-Instruct

Étant donné qu’il s’agit d’un modèle non thinking, le modèle ne génère pas de blocs `<think> </think>` .

#### ⚙️Bonnes pratiques

Pour obtenir des performances optimales, Qwen recommande les paramètres suivants :

* Nous suggérons d’utiliser `temperature=0.7, top_p=0.8, top_k=20, et min_p=0.0` `presence_penalty` entre 0 et 2 si le framework le prend en charge afin de réduire les répétitions sans fin.
* **`température = 0.7`**
* `top_k = 20`
* `min_p = 0.00` (la valeur par défaut de llama.cpp est 0.1)
* **`top_p = 0.80`**
* `presence_penalty = de 0.0 à 2.0` (la valeur par défaut de llama.cpp le désactive, mais pour réduire les répétitions, vous pouvez utiliser ceci) Essayez 1.0 par exemple.
* Prend en charge jusqu’à `262,144` de contexte nativement, mais vous pouvez le définir à `32,768` jetons pour une moindre utilisation de la RAM

#### :sparkles: Llama.cpp : Exécuter le tutoriel Qwen3-Next-80B-A3B-Instruct

1. Obtenez la dernière version `llama.cpp` sur [GitHub ici](https://github.com/ggml-org/llama.cpp). 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 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 -DLLAMA_CURL=ON
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
```

2. Vous pouvez le télécharger directement depuis HuggingFace via :

   ```bash
   ./llama.cpp/llama-cli \
       -hf unsloth/Qwen3-Next-80B-A3B-Instruct-GGUF:Q4_K_XL \
       --jinja -ngl 99 --ctx-size 32768 \
       --temp 0.7 --min-p 0.0 --top-p 0.80 --top-k 20 --presence-penalty 1.0
   ```
3. Téléchargez le modèle via (après avoir installé `pip install huggingface_hub hf_transfer` ). Vous pouvez choisir `UD_Q4_K_XL` ou d’autres versions quantifiées.

```python
# !pip install huggingface_hub hf_transfer
import os
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
from huggingface_hub import snapshot_download
snapshot_download(
    repo_id = "unsloth/Qwen3-Next-80B-A3B-Instruct-GGUF",
    local_dir = "Qwen3-Next-80B-A3B-Instruct-GGUF",
    allow_patterns = ["*UD-Q4_K_XL*"],
)
```

### Thinking : Qwen3-Next-80B-A3B-Thinking

Ce modèle ne prend en charge nativement que le mode thinking et une fenêtre de contexte de 256K. Le modèle de chat par défaut ajoute `<think>` automatiquement, vous ne verrez donc peut-être qu’une balise fermante `</think>` dans la sortie.

#### ⚙️Bonnes pratiques

Pour obtenir des performances optimales, Qwen recommande les paramètres suivants :

* Nous suggérons d’utiliser `temperature=0.6, top_p=0.95, top_k=20, et min_p=0.0` `presence_penalty` entre 0 et 2 si le framework le prend en charge afin de réduire les répétitions sans fin.
* **`température = 0.6`**
* `top_k = 20`
* `min_p = 0.00` (la valeur par défaut de llama.cpp est 0.1)
* **`top_p = 0.95`**
* `presence_penalty = de 0.0 à 2.0` (la valeur par défaut de llama.cpp le désactive, mais pour réduire les répétitions, vous pouvez utiliser ceci) Essayez 1.0 par exemple.
* Prend en charge jusqu’à `262,144` de contexte nativement, mais vous pouvez le définir à `32,768` jetons pour une moindre utilisation de la RAM

#### :sparkles: Llama.cpp : Exécuter le tutoriel Qwen3-Next-80B-A3B-Thinking

1. Obtenez la dernière version `llama.cpp` sur [GitHub ici](https://github.com/ggml-org/llama.cpp). 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.

```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 -DLLAMA_CURL=ON
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
```

2. Vous pouvez le récupérer directement depuis Hugging Face via :

   ```bash
   ./llama.cpp/llama-cli \
       -hf unsloth/Qwen3-Next-80B-A3B-Thinking-GGUF:Q4_K_XL \
       --jinja -ngl 99 --ctx-size 32768 \
       --temp 0.6 --min-p 0.0 --top-p 0.95 --top-k 20 --presence-penalty 1.0
   ```
3. Téléchargez le modèle via (après avoir installé `pip install huggingface_hub hf_transfer` ). Vous pouvez choisir `UD_Q4_K_XL` ou d’autres versions quantifiées.

```python
# !pip install huggingface_hub hf_transfer
import os
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
from huggingface_hub import snapshot_download
snapshot_download(
    repo_id = "unsloth/Qwen3-Next-80B-A3B-Thinking-GGUF",
    local_dir = "Qwen3-Next-80B-A3B-Thinking-GGUF",
    allow_patterns = ["*UD-Q4_K_XL*"],
)
```

### 🛠️ Améliorer la vitesse de génération <a href="#improving-generation-speed" id="improving-generation-speed"></a>

Si vous avez plus de VRAM, vous pouvez essayer de décharger davantage de couches MoE, ou de décharger des couches entières.

Normalement, `-ot ".ffn_.*_exps.=CPU"` décharge toutes les couches MoE vers le CPU ! Cela permet effectivement de faire tenir toutes les couches non MoE sur 1 GPU, améliorant ainsi les vitesses de génération. Vous pouvez personnaliser l'expression regex pour faire tenir davantage de couches si vous disposez de plus de capacité GPU.

Si vous avez un peu plus de mémoire GPU, essayez `-ot ".ffn_(up|down)_exps.=CPU"` Cela décharge les couches MoE de projection montante et descendante.

Essayez `-ot ".ffn_(up)_exps.=CPU"` si vous avez encore plus de mémoire GPU. Cela décharge uniquement les couches MoE de projection montante.

Vous pouvez aussi personnaliser la regex, par exemple `-ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU"` signifie décharger les couches MoE gate, up et down, mais uniquement à partir de la 6e couche.

La [dernière version de llama.cpp](https://github.com/ggml-org/llama.cpp/pull/14363) introduit également un mode à haut débit. Utilisez `llama-parallel`. En savoir plus [ici](https://github.com/ggml-org/llama.cpp/tree/master/examples/parallel). Vous pouvez aussi **quantifier le cache KV en 4 bits** par exemple pour réduire les mouvements de VRAM / RAM, ce qui peut aussi rendre le processus de génération plus rapide. La [section suivante](#how-to-fit-long-context-256k-to-1m) parle de la quantification du cache KV.

### 📐Comment adapter un long contexte <a href="#how-to-fit-long-context-256k-to-1m" id="how-to-fit-long-context-256k-to-1m"></a>

Pour faire tenir un contexte plus long, vous pouvez utiliser **la quantification du cache KV** pour quantifier les caches K et V en moins de bits. Cela peut aussi augmenter la vitesse de génération grâce à la réduction des transferts de données RAM / VRAM. Les options autorisées pour la quantification K (la valeur par défaut est `f16`) sont les suivantes.

`--cache-type-k f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1`

Vous devriez utiliser les `_1` variantes pour une précision légèrement meilleure, bien que ce soit un peu plus lent. Par exemple `q4_1, q5_1` Essayez donc `--cache-type-k q4_1`

Vous pouvez aussi quantifier le cache V, mais vous devrez **compiler llama.cpp avec la prise en charge de Flash Attention** via `-DGGML_CUDA_FA_ALL_QUANTS=ON`, et utiliser `--flash-attn` pour l’activer. Après l’installation de Flash Attention, vous pouvez ensuite utiliser `--cache-type-v q4_1`

<figure><img src="/files/472a6d6403e68ae6a58a80542d42f88f9bfb013a" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: 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:

```
GET https://unsloth.ai/docs/fr/modeles/tutorials/qwen3-next.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
