# Qwen3-2507 : guide d’exécution locale

Qwen a publié les mises à jour 2507 (juillet 2025) pour leurs [Qwen3](https://unsloth.ai/docs/fr/modeles/tutorials/qwen3-how-to-run-and-fine-tune) modèles 4B, 30B et 235B, introduisant des variantes « thinking » et « non-thinking ». Le modèle non-thinking '**Qwen3-30B-A3B-Instruct-2507**' et '**Qwen3-235B-A22B-Instruct-2507'** dispose d'une fenêtre de contexte de 256K, d'une meilleure conformité aux instructions, de capacités multilingues et d'un alignement amélioré.

Les modèles thinking '**Qwen3-30B-A3B-Thinking-2507**' et '**Qwen3-235B-A22B-Thinking-2507**' excellent en raisonnement, le modèle 235B obtenant des résultats SOTA en logique, mathématiques, sciences, codage et tâches académiques avancées.

[Unsloth](https://github.com/unslothai/unsloth) prend désormais également en charge le fine-tuning et [l'apprentissage par renforcement (RL)](https://unsloth.ai/docs/fr/commencer/reinforcement-learning-rl-guide) des modèles Qwen3-2507 — 2x plus rapide, avec 70 % de VRAM en moins, et des longueurs de contexte 8x plus longues

<a href="#run-qwen3-30b-a3b-2507-tutorials" class="button secondary">Exécuter 30B-A3B</a><a href="#run-qwen3-235b-a22b-2507-tutorials" class="button secondary">Exécuter 235B-A22B</a><a href="#fine-tuning-qwen3-2507-with-unsloth" class="button secondary">Affiner Qwen3-2507</a>

**Unsloth** [**méthodologie Dynamic 2.0**](https://unsloth.ai/docs/fr/notions-de-base/unsloth-dynamic-2.0-ggufs) **GGUFs :**

| Modèle                   | GGUF à exécuter :                                                                                                                                             |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Qwen3-**4B-2507**        | [Instruct](https://huggingface.co/unsloth/Qwen3-4B-Instruct-2507-GGUF) • [Thinking](https://huggingface.co/unsloth/Qwen3-4B-Thinking-2507-GGUF)               |
| Qwen3-**30B-A3B**-2507   | [Instruct](#llama.cpp-run-qwen3-30b-a3b-instruct-2507-tutorial) • [Thinking](https://huggingface.co/unsloth/Qwen3-30B-A3B-Thinking-2507-GGUF)                 |
| Qwen3-**235B-A22B**-2507 | [Instruct](https://huggingface.co/unsloth/Qwen3-235B-A22B-Instruct-2507-GGUF) • [Thinking](https://huggingface.co/unsloth/Qwen3-235B-A22B-Thinking-2507-GGUF) |

## ⚙️ Bonnes pratiques

{% hint style="success" %}
Les paramètres pour les modèles Thinking et Instruct sont différents.\
Le modèle thinking utilise temperature = 0.6, mais le modèle instruct utilise temperature = 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 réglages :

| Paramètres du modèle Instruct :                                                                                                            | Paramètres du modèle 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 = 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 l'utiliser) | `presence_penalty = 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 l'utiliser) |

**Longueur de sortie adéquate** : Utilisez une longueur de sortie de `32,768` tokens pour la plupart des requêtes, ce qui est adéquat pour la plupart des requêtes.

Le modèle de conversation pour les deux Thinking (thinking a `<think></think>`) et Instruct est ci-dessous :

```
<|im_start|>user
Salut !<|im_end|>
<|im_start|>assistant
Quelle est la valeur de 1+1 ?<|im_end|>
<|im_start|>user
2<|im_end|>
<|im_start|>assistant
```

## 📖 Exécuter les tutoriels Qwen3-30B-A3B-2507

Ci-dessous figurent des guides pour les [Thinking](#thinking-qwen3-30b-a3b-thinking-2507) et [Instruct](#instruct-qwen3-30b-a3b-instruct-2507) versions du modèle.

### Instruct : Qwen3-30B-A3B-Instruct-2507

Étant donné qu'il s'agit d'un modèle non thinking, il n'est pas nécessaire de définir `thinking=False` et le modèle ne génère pas `<think> </think>` blocs.

#### ⚙️ Bonnes pratiques

Pour obtenir des performances optimales, Qwen recommande les réglages 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 = 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 l'utiliser) Essayez 1.0 par exemple.
* Prend en charge jusqu'à `262,144` contexte nativement mais vous pouvez le régler sur `32,768` tokens pour une utilisation de RAM réduite

#### 🦙 Ollama : Exécuter le tutoriel Qwen3-30B-A3B-Instruct-2507

1. Installer `ollama` si vous ne l'avez pas déjà fait ! Vous ne pouvez exécuter que des modèles jusqu'à 32B.

```bash
apt-get update
apt-get install pciutils -y
curl -fsSL https://ollama.com/install.sh | sh
```

2. Exécutez le modèle ! Notez que vous pouvez appeler `ollama serve`dans un autre terminal s'il échoue ! Nous incluons toutes nos corrections et paramètres suggérés (température etc.) dans `params` dans notre upload Hugging Face !

```bash
ollama run hf.co/unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF:UD-Q4_K_XL
```

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

1. Obtenez la dernière `llama.cpp` sur [GitHub ici](https://github.com/ggml-org/llama.cpp). Vous pouvez aussi 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 voulez simplement de l'inférence CPU. **Pour les appareils Apple Mac / Metal**, définissez `-DGGML_CUDA=OFF` puis continuez comme d'habitude - le support Metal est activé 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 directement récupérer depuis HuggingFace via :

   ```bash
   ./llama.cpp/llama-cli \
       -hf unsloth/Qwen3-30B-A3B-Instruct-2507-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-30B-A3B-Instruct-2507-GGUF",
    local_dir = "unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF",
    allow_patterns = ["*UD-Q4_K_XL*"],
)
```

### Thinking : Qwen3-30B-A3B-Thinking-2507

Ce modèle prend en charge uniquement le mode thinking et une fenêtre de contexte de 256K nativement. Le modèle de conversation par défaut ajoute `<think>` automatiquement, donc vous pouvez voir seulement une balise de fermeture `</think>` dans la sortie.

#### ⚙️ Bonnes pratiques

Pour obtenir des performances optimales, Qwen recommande les réglages 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 = 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 l'utiliser) Essayez 1.0 par exemple.
* Prend en charge jusqu'à `262,144` contexte nativement mais vous pouvez le régler sur `32,768` tokens pour une utilisation de RAM réduite

#### 🦙 Ollama : Exécuter le tutoriel Qwen3-30B-A3B-Instruct-2507

1. Installer `ollama` si vous ne l'avez pas déjà fait ! Vous ne pouvez exécuter que des modèles jusqu'à 32B. Pour exécuter les modèles complets 235B-A22B, [voir ici](#run-qwen3-235b-a22b-instruct-2507).

```bash
apt-get update
apt-get install pciutils -y
curl -fsSL https://ollama.com/install.sh | sh
```

2. Exécutez le modèle ! Notez que vous pouvez appeler `ollama serve`dans un autre terminal s'il échoue ! Nous incluons toutes nos corrections et paramètres suggérés (température etc.) dans `params` dans notre upload Hugging Face !

```bash
ollama run hf.co/unsloth/Qwen3-30B-A3B-Thinking-2507-GGUF:UD-Q4_K_XL
```

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

1. Obtenez la dernière `llama.cpp` sur [GitHub ici](https://github.com/ggml-org/llama.cpp). Vous pouvez aussi 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 voulez simplement de l'inférence CPU. **Pour les appareils Apple Mac / Metal**, définissez `-DGGML_CUDA=OFF` puis continuez comme d'habitude - le support Metal est activé 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 récupérer directement depuis Hugging Face via :

   ```bash
   ./llama.cpp/llama-cli \
       -hf unsloth/Qwen3-30B-A3B-Thinking-2507-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-30B-A3B-Thinking-2507-GGUF",
    local_dir = "unsloth/Qwen3-30B-A3B-Thinking-2507-GGUF",
    allow_patterns = ["*UD-Q4_K_XL*"],
)
```

## 📖 Exécuter **Qwen3-235B-A22B-2507** Tutoriels

Ci-dessous figurent des guides pour les [Thinking](#run-qwen3-235b-a22b-thinking-via-llama.cpp) et [Instruct](#run-qwen3-235b-a22b-instruct-via-llama.cpp) versions du modèle.

### Thinking : Qwen3-**235B-A22B**-Thinking-2507

Ce modèle prend en charge uniquement le mode thinking et une fenêtre de contexte de 256K nativement. Le modèle de conversation par défaut ajoute `<think>` automatiquement, donc vous pouvez voir seulement une balise de fermeture `</think>` dans la sortie.

#### :gear: Bonnes pratiques

Pour atteindre des performances optimales, Qwen recommande ces paramètres pour le modèle Thinking :

* **`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 = 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 l'utiliser) Essayez 1.0 par exemple.
* **Longueur de sortie adéquate** : Utilisez une longueur de sortie de `32,768` tokens pour la plupart des requêtes, ce qui est adéquat pour la plupart des requêtes.

#### :sparkles:Exécuter Qwen3-235B-A22B-Thinking via llama.cpp :

Pour Qwen3-235B-A22B, nous utiliserons spécifiquement Llama.cpp pour une inférence optimisée et une pléthore d'options.

{% hint style="success" %}
Si vous voulez une **version non quantifiée en pleine précision**, utilisez notre `Q8_K_XL, Q8_0` ou `BF16` versions !
{% endhint %}

1. Obtenez la dernière `llama.cpp` sur [GitHub ici](https://github.com/ggml-org/llama.cpp). Vous pouvez aussi 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 voulez simplement de l'inférence CPU. **Pour les appareils Apple Mac / Metal**, définissez `-DGGML_CUDA=OFF` puis continuez comme d'habitude - le support Metal est activé 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 utiliser directement llama.cpp pour télécharger le modèle, mais je suggère normalement d'utiliser `huggingface_hub` Pour utiliser llama.cpp directement, faites :

   ```bash
   ./llama.cpp/llama-cli \
       -hf unsloth/Qwen3-235B-A22B-Thinking-2507-GGUF:Q2_K_XL \
       --ctx-size 16384 \
       --n-gpu-layers 99 \
       -ot ".ffn_.*_exps.=CPU" \
       --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` Nous suivons des étapes similaires à celles ci‑dessus, cependant cette fois nous devrons également effectuer des étapes supplémentaires car le modèle est si volumineux.

   ```python
   # !pip install huggingface_hub hf_transfer
   import os
   os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "0" # Peut parfois limiter le débit, donc mettez à 0 pour désactiver
   from huggingface_hub import snapshot_download
   snapshot_download(
       repo_id = "unsloth/Qwen3-235B-A22B-Thinking-2507-GGUF",
       local_dir = "unsloth/Qwen3-235B-A22B-Thinking-2507-GGUF",
       local_dir = "unsloth/Qwen3-VL-235B-A22B-Instruct-GGUF",
   )
   ```
4. local\_dir = "unsloth/Qwen3-VL-8B-Instruct-GGUF", # Ou "unsloth/Qwen3-VL-8B-Thinking-GGUF"
5. Modifier `--threads -1` pour le nombre de threads CPU, `--ctx-size` 262114 pour la longueur de contexte, `--n-gpu-layers 99` pour le déchargement sur GPU du nombre de couches. Essayez de l'ajuster si votre GPU manque de mémoire. Supprimez-le également si vous avez uniquement une inférence CPU.

{% hint style="success" %}
Utilisez `-ot ".ffn_.*_exps.=CPU"` pour décharger toutes les couches MoE sur le CPU ! Cela vous permet effectivement de placer toutes les couches non-MoE sur 1 GPU, améliorant les vitesses de génération. Vous pouvez personnaliser l'expression regex pour décharger plus de couches si vous avez plus de capacité GPU.
{% endhint %}

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-cli \
    --model unsloth/Qwen3-235B-A22B-Thinking-2507-GGUF/UD-Q2_K_XL/Qwen3-235B-A22B-Thinking-2507-UD-Q2_K_XL-00001-of-00002.gguf \
    --ctx-size 16384 \
    --n-gpu-layers 99 \
    -ot ".ffn_.*_exps.=CPU" \
    --seed 3407 \
    --temp 0.6 \
    --min-p 0.0 \
    --top-p 0.95 \
    --top-k 20
    --presence-penalty 1.0
```

{% endcode %}

### Instruct : Qwen3-**235B-A22B**-Instruct-2507

Étant donné qu'il s'agit d'un modèle non thinking, il n'est pas nécessaire de définir `thinking=False` et le modèle ne génère pas `<think> </think>` blocs.

#### ⚙️ Bonnes pratiques

Pour obtenir des performances optimales, nous recommandons les paramètres suivants :

**1. Paramètres d'échantillonnage** : Nous suggérons d'utiliser `temperature=0.7, top_p=0.8, top_k=20, et min_p=0.` `presence_penalty` entre 0 et 2 si le framework le prend en charge afin de réduire les répétitions sans fin.

2\. **Longueur de sortie adéquate** : Nous recommandons d'utiliser une longueur de sortie de `16,384` tokens pour la plupart des requêtes, ce qui est adéquat pour les modèles instruct.

3\. **Standardiser le format de sortie :** Nous recommandons d'utiliser des prompts pour standardiser les sorties du modèle lors des benchmarks.

* **Problèmes de mathématiques** : Inclure `Veuillez raisonner étape par étape, et mettre votre réponse finale dans \boxed{}.` dans l'invite.
* **Questions à choix multiple** : Ajoutez la structure JSON suivante à l'invite pour standardiser les réponses : "Veuillez montrer votre choix dans le champ \`answer\` avec uniquement la lettre du choix, par ex. \`"answer": "C".

#### :sparkles:Exécuter Qwen3-235B-A22B-Instruct via llama.cpp :

Pour Qwen3-235B-A22B, nous utiliserons spécifiquement Llama.cpp pour une inférence optimisée et une pléthore d'options.

{% hint style="info" %}
Si vous voulez une **version non quantifiée en pleine précision**, utilisez notre `Q8_K_XL, Q8_0` ou `BF16` versions !
{% endhint %}

1. Obtenir la dernière version de llama.cpp sur [GitHub](https://github.com/ggml-org/llama.cpp) ici. 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 voulez simplement de l'inférence CPU. **Pour les appareils Apple Mac / Metal**, définissez `-DGGML_CUDA=OFF` puis continuez comme d'habitude - le support Metal est activé 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 utiliser directement llama.cpp pour télécharger le modèle, mais je suggère normalement d'utiliser `huggingface_hub` Pour utiliser llama.cpp directement, faites :\\

```bash
./llama.cpp/llama-cli \
    -hf unsloth/Qwen3-235B-A22B-Instruct-2507-GGUF:Q2_K_XL \
    --ctx-size 16384 \
    --n-gpu-layers 99 \
    -ot ".ffn_.*_exps.=CPU" \
    --temp 0.7 \
    --min-p 0.0 \
    --top-p 0.8 \
    --top-k 20 \
    --repeat-penalty 1.0
```

3\. Téléchargez le modèle via (après avoir installé `pip install huggingface_hub hf_transfer` Nous suivons des étapes similaires à celles ci‑dessus, cependant cette fois nous devrons également effectuer des étapes supplémentaires car le modèle est si volumineux.

```python
# !pip install huggingface_hub hf_transfer
import os
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "0" # Peut parfois limiter le débit, donc mettez à 0 pour désactiver
from huggingface_hub import snapshot_download
snapshot_download(
    repo_id = "unsloth/Qwen3-235B-A22B-Instruct-2507-GGUF",
    local_dir = "unsloth/Qwen3-235B-A22B-Instruct-2507-GGUF",
    local_dir = "unsloth/Qwen3-VL-235B-A22B-Instruct-GGUF",
)
```

4\. Exécutez le modèle et testez n'importe quelle invite. 5. Éditez `--threads -1` pour le nombre de threads CPU, `--ctx-size` 262114 pour la longueur de contexte, `--n-gpu-layers 99` pour le déchargement sur GPU du nombre de couches. Essayez de l'ajuster si votre GPU manque de mémoire. Supprimez-le également si vous avez uniquement une inférence CPU.

{% hint style="success" %}
Utilisez `-ot ".ffn_.*_exps.=CPU"` pour décharger toutes les couches MoE sur le CPU ! Cela vous permet effectivement de placer toutes les couches non-MoE sur 1 GPU, améliorant les vitesses de génération. Vous pouvez personnaliser l'expression regex pour décharger plus de couches si vous avez plus de capacité GPU.
{% endhint %}

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-cli \
    --model unsloth/Qwen3-235B-A22B-Instruct-2507-GGUF/UD-Q2_K_XL/Qwen3-235B-A22B-Instruct-2507-UD-Q2_K_XL-00001-of-00002.gguf \
    --ctx-size 16384 \
    --n-gpu-layers 99 \
    -ot ".ffn_.*_exps.=CPU" \
    --temp 0.7 \
    --min-p 0.0 \
    --top-p 0.8 \
    --top-k 20
```

{% endcode %}

### 🛠️ 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 plus de couches MoE, ou de décharger des couches entières elles-mêmes.

Normalement, `-ot ".ffn_.*_exps.=CPU"` décharge toutes les couches MoE sur le CPU ! Cela vous permet effectivement de placer toutes les couches non-MoE sur 1 GPU, améliorant les vitesses de génération. Vous pouvez personnaliser l'expression regex pour décharger plus de couches si vous avez 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 up et down.

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

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 aussi un mode haut débit. Utilisez `llama-parallel`. Lisez-en plus à ce sujet [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 VRAM / RAM, ce qui peut aussi accélérer le processus de génération. 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 adapter un contexte plus long, vous pouvez utiliser **quantification du cache KV** pour quantifier les caches K et V en bits plus faibles. Cela peut également augmenter la vitesse de génération en réduisant les mouvements de données RAM / VRAM. Les options autorisées pour la quantification de K (par défaut est `f16`) incluent ci-dessous.

`--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 quelque peu accrue, bien que ce soit légèrement plus lent. Par ex `q4_1, q5_1` Donc essayez `--cache-type-k q4_1`

Vous pouvez aussi quantifier le cache V, mais vous devrez **compiler llama.cpp avec le support Flash Attention** via `-DGGML_CUDA_FA_ALL_QUANTS=ON`, et utiliser `--flash-attn` pour l'activer. Après avoir installé Flash Attention, vous pouvez alors utiliser `--cache-type-v q4_1`

## 🦥 Fine-tuning Qwen3-2507 avec Unsloth

Unsloth rend [Qwen3](https://unsloth.ai/docs/fr/modeles/tutorials/qwen3-how-to-run-and-fine-tune/..#fine-tuning-qwen3-with-unsloth) et le fine-tuning de Qwen3-2507 2x plus rapides, utilise 70 % de VRAM en moins et prend en charge des longueurs de contexte 8x plus longues. Parce que Qwen3-2507 n'a été publié que dans une variante 30B, cela signifie que vous aurez besoin d'environ un GPU A100 40GB pour affiner le modèle en utilisant QLoRA (4 bits).

Pour un notebook, comme le modèle ne tient pas dans les GPU gratuits 16GB de Colab, vous devrez utiliser un A100 40GB. Vous pouvez utiliser notre notebook conversationnel mais remplacer le jeu de données par n'importe lequel des vôtres. Cette fois vous n'avez pas besoin de combiner le raisonnement dans votre jeu de données car le modèle n'a pas de raisonnement.

* [Qwen3 (14B) notebook de raisonnement + conversation](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_\(14B\)-Reasoning-Conversational.ipynb)

Si vous avez une ancienne version d’Unsloth et/ou affinez localement, installez la dernière version d’Unsloth :

```bash
pip install --upgrade --force-reinstall --no-cache-dir unsloth unsloth_zoo
```

### Fine-tuning des modèles MOE Qwen3-2507

La prise en charge du fine-tuning inclut les modèles MOE : 30B-A3B et 235B-A22B. Qwen3-30B-A3B fonctionne sur 30GB de VRAM avec Unsloth. Lors de l'affinage des MoE - ce n'est probablement pas une bonne idée d'affiner la couche de routage, nous l'avons donc désactivée par défaut.

**Notebooks Qwen3-2507-4B pour :** [Thinking](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_\(4B\)-Thinking.ipynb) et [Instruct](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_\(4B\)-Instruct.ipynb)

Le 30B-A3B tient dans 30GB de VRAM, mais vous pourriez manquer de RAM ou d'espace disque puisque le modèle complet en 16 bits doit être téléchargé et converti en 4 bits à la volée pour le fine-tuning QLoRA. Cela est dû à des problèmes d'importation directe des modèles MOE 4-bit BnB. Cela n'affecte que les modèles MOE.

{% hint style="warning" %}
Si vous affinez les modèles MOE, veuillez utiliser `FastModel` et pas `FastLanguageModel`
{% endhint %}

```python
from unsloth import FastModel
import torch
model, tokenizer = FastModel.from_pretrained(
    model_name = "unsloth/Qwen3-30B-A3B-Instruct-2507",
    max_seq_length = 2048, # Choisissez n'importe quelle valeur pour un long contexte !
    load_in_4bit = True,  # quantification 4 bits pour réduire la mémoire
    load_in_8bit = False, # [NOUVEAU !] Un peu plus précis, utilise 2x la mémoire
    full_finetuning = False, # [NOUVEAU !] Nous avons maintenant l'affinage complet !
    # token = "hf_...", # en utiliser un si vous utilisez des modèles restreints
)
```

<figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fgit-blob-be34c101c627020c7a6cfb6cd249f2462587d235%2Fqwen33%20mascot.png?alt=media" alt=""><figcaption></figcaption></figure>
