# Ministral 3 - Guide d'exécution

Mistral lance Ministral 3, ses nouveaux modèles multimodaux en variantes Base, Instruct et Reasoning, disponibles en **3B**, **8B**, et **14B** tailles. Ils offrent des performances de pointe pour leur taille et sont affinés pour les cas d’usage d’instructions et de chat. Les modèles multimodaux prennent en charge **contexte de 256K** les fenêtres, plusieurs langues, l’appel de fonctions natif et la sortie JSON.

Le modèle complet Ministral-3-Instruct-2512 non quantifié de 14B tient dans **24 Go de RAM**/VRAM. Vous pouvez désormais exécuter, affiner et faire du RL sur tous les modèles Ministral 3 avec Unsloth :

<a href="#run-ministral-3-tutorials" class="button primary">Exécuter les tutoriels Ministral 3</a><a href="/pages/b7e8e6530edc0f8d90d1dd7614a8a127f98532da#fine-tuning" class="button primary">Affinage de Ministral 3</a>

Nous avons également téléversé Mistral Large 3 [GGUF ici](https://huggingface.co/unsloth/Mistral-Large-3-675B-Instruct-2512-GGUF). Pour tous les téléversements Ministral 3 (BnB, FP8), [voir ici](https://huggingface.co/collections/unsloth/ministral-3).

| GGUF de Ministral-3-Instruct :                                                                                                                                                                                             | GGUF de Ministral-3-Reasoning :                                                                                                                                                                                               |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [3B](https://huggingface.co/unsloth/Ministral-3-3B-Instruct-2512-GGUF) • [8B](https://huggingface.co/unsloth/Ministral-3-8B-Instruct-2512-GGUF) • [14B](https://huggingface.co/unsloth/Ministral-3-14B-Instruct-2512-GGUF) | [3B](https://huggingface.co/unsloth/Ministral-3-3B-Reasoning-2512-GGUF) • [8B](https://huggingface.co/unsloth/Ministral-3-8B-Reasoning-2512-GGUF) • [14B](https://huggingface.co/unsloth/Ministral-3-14B-Reasoning-2512-GGUF) |

### ⚙️ Guide d’utilisation

Pour obtenir des performances optimales pour **Instruct**, Mistral recommande d’utiliser des températures plus basses telles que `temperature = 0.15` ou `0.1`<br>

Pour **Reasoning**, Mistral recommande `température = 0.7` et `top_p = 0.95`.

| Instruct :                    | Reasoning :         |
| ----------------------------- | ------------------- |
| `Température = 0,15` ou `0.1` | `Température = 0.7` |
| `Top_P = par défaut`          | `Top_P = 0.95`      |

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

La longueur maximale du contexte que Ministral 3 peut atteindre est `262,144`

Le format du modèle de conversation se trouve lorsque nous utilisons ce qui suit :

{% code overflow="wrap" %}

```python
tokenizer.apply_chat_template([
    {"role" : "user", "content" : "What is 1+1?"},
    {"role" : "assistant", "content" : "2"},
    {"role" : "user", "content" : "What is 2+2?"}
    ], add_generation_prompt = True
)
```

{% endcode %}

#### Ministral *Reasoning* template de chat :

{% code overflow="wrap" lineNumbers="true" %}

```
<s>[SYSTEM_PROMPT]# COMMENT VOUS DEVEZ RÉFLÉCHIR ET RÉPONDRE

Rédigez d’abord votre processus de réflexion (monologue intérieur) jusqu’à obtenir une réponse. Formatez votre réponse en Markdown et utilisez LaTeX pour toute équation mathématique. Écrivez à la fois vos pensées et la réponse dans la même langue que l’entrée.

Votre processus de réflexion doit suivre le modèle ci-dessous :[THINK]Vos pensées et/ou brouillon, comme si vous travailliez sur un exercice sur une feuille de brouillon. Soyez aussi informel et aussi long que vous le souhaitez jusqu’à ce que vous soyez certain de générer la réponse à l’utilisateur.[/THINK]Ici, fournissez une réponse autonome.[/SYSTEM_PROMPT][INST]Que fait 1+1 ?[/INST]2</s>[INST]Que fait 2+2 ?[/INST]
```

{% endcode %}

#### Ministral *Instruct* template de chat :

{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```
<s>[SYSTEM_PROMPT]Vous êtes Ministral-3-3B-Instruct-2512, un grand modèle de langage (LLM) créé par Mistral AI, une startup française dont le siège est à Paris.
Vous alimentez un assistant IA appelé Le Chat.
Votre base de connaissances a été mise à jour pour la dernière fois le 2023-10-01.
La date actuelle est {today}.

Lorsque vous n’êtes pas sûr de certaines informations ou lorsque la demande de l’utilisateur nécessite des données à jour ou spécifiques, vous devez utiliser les outils disponibles pour récupérer les informations. N’hésitez pas à utiliser les outils chaque fois qu’ils peuvent fournir une réponse plus précise ou plus complète. Si aucun outil pertinent n’est disponible, indiquez clairement que vous ne disposez pas de l’information et évitez d’inventer quoi que ce soit.
Si la question de l’utilisateur n’est pas claire, est ambiguë ou ne fournit pas suffisamment de contexte pour que vous puissiez y répondre avec précision, n’essayez pas d’y répondre immédiatement et demandez plutôt à l’utilisateur de clarifier sa demande (par ex. "Quels sont de bons restaurants près de chez moi ?" => "Où êtes-vous ?" ou "Quand est le prochain vol pour Tokyo" => "D’où partez-vous ?").
Vous faites toujours très attention aux dates, en particulier vous essayez de résoudre les dates (par ex. "hier" correspond à {yesterday}) et, lorsqu’on vous demande des informations à des dates spécifiques, vous ignorez les informations qui concernent une autre date.
Vous suivez ces instructions dans toutes les langues et répondez toujours à l’utilisateur dans la langue qu’il utilise ou demande.
Les sections suivantes décrivent les capacités dont vous disposez.

# INSTRUCTIONS DE NAVIGATION WEB

Vous ne pouvez effectuer aucune recherche web ni accéder à Internet pour ouvrir des URL, des liens, etc. Si cela semble être ce que l’utilisateur attend de vous, vous clarifiez la situation et demandez à l’utilisateur de copier-coller le texte directement dans le chat.

# INSTRUCTIONS MULTIMODALES

Vous avez la capacité de lire des images, mais vous ne pouvez pas générer d’images. Vous ne pouvez pas non plus transcrire des fichiers audio ou des vidéos.
Vous ne pouvez ni lire ni transcrire des fichiers audio ou des vidéos.

# INSTRUCTIONS D’APPEL D’OUTILS

Vous pouvez avoir accès à des outils que vous pouvez utiliser pour récupérer des informations ou effectuer des actions. Vous devez utiliser ces outils dans les situations suivantes :

1. Lorsque la demande nécessite des informations à jour.
2. Lorsque la demande nécessite des données spécifiques que vous n’avez pas dans votre base de connaissances.
3. Lorsque la demande implique des actions que vous ne pouvez pas effectuer sans outils.

Priorisez toujours l’utilisation des outils afin de fournir la réponse la plus précise et la plus utile. Si les outils ne sont pas disponibles, informez l’utilisateur que vous ne pouvez pas effectuer l’action demandée pour le moment.[/SYSTEM_PROMPT][INST]Que fait 1+1 ?[/INST]2</s>[INST]Que fait 2+2 ?[/INST]
```

{% endcode %}

## 📖 Exécuter les tutoriels Ministral 3

Voici des guides pour les [Reasoning](#reasoning-ministral-3-reasoning-2512) et [Instruct](#instruct-ministral-3-instruct-2512) variantes du modèle.

### Instruct : Ministral-3-Instruct-2512

Pour obtenir des performances optimales pour **Instruct**, Mistral recommande d’utiliser des températures plus basses telles que `temperature = 0.15` ou `0.1`

#### :sparkles: Llama.cpp : Exécuter le tutoriel Ministral-3-14B-Instruct

{% stepper %}
{% step %}
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.

{% code overflow="wrap" %}

```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-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
```

{% endcode %}
{% endstep %}

{% step %}
Vous pouvez le récupérer directement depuis Hugging Face via :

```bash
./llama.cpp/llama-cli \
    -hf unsloth/Ministral-3-14B-Instruct-2512-GGUF:Q4_K_XL \
    --jinja -ngl 99 --ctx-size 32784 \
    --temp 0,15
```

{% endstep %}

{% step %}
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/Ministral-3-14B-Instruct-2512-GGUF",
    local_dir = "Ministral-3-14B-Instruct-2512-GGUF",
    allow_patterns = ["*UD-Q4_K_XL*"],
)
```

{% endstep %}
{% endstepper %}

### Reasoning : Ministral-3-Reasoning-2512

Pour obtenir des performances optimales pour **Reasoning**, Mistral recommande d’utiliser `température = 0.7` et `top_p = 0.95`.

#### :sparkles: Llama.cpp : Exécuter le tutoriel Ministral-3-14B-Reasoning

{% stepper %}
{% step %}
Obtenez la dernière version `llama.cpp` sur [GitHub](https://github.com/ggml-org/llama.cpp). Vous pouvez également utiliser les instructions de compilation ci-dessous. Modifiez `-DGGML_CUDA=ON` en `-DGGML_CUDA=OFF` si vous n’avez pas de GPU ou si vous souhaitez simplement une inférence CPU.

{% code overflow="wrap" %}

```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-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
```

{% endcode %}
{% endstep %}

{% step %}
Vous pouvez le récupérer directement depuis Hugging Face via :

```bash
./llama.cpp/llama-cli \
    -hf unsloth/Ministral-3-14B-Reasoning-2512-GGUF:Q4_K_XL \
    --jinja -ngl 99 --ctx-size 32784 \
    --temp 0.6 --top-p 0.95
```

{% endstep %}

{% step %}
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/Ministral-3-14B-Reasoning-2512-GGUF",
    local_dir = "Ministral-3-14B-Reasoning-2512-GGUF",
    allow_patterns = ["*UD-Q4_K_XL*"],
)
```

{% endstep %}
{% endstepper %}

## 🛠️ Affinage de Ministral 3 <a href="#fine-tuning" id="fine-tuning"></a>

Unsloth prend désormais en charge l’affinage de tous les modèles Ministral 3, y compris la prise en charge de la vision. Pour entraîner, vous devez utiliser la dernière version de 🤗Hugging Face `transformers` v5 et `unsloth` qui inclut notre récente [très long contexte](/docs/fr/blog/500k-context-length-fine-tuning.md) prise en charge. Le grand modèle Ministral 3 de 14B devrait tenir sur un GPU Colab gratuit.

Nous avons créé des notebooks Unsloth gratuits pour affiner Ministral 3. Modifiez le nom pour utiliser le modèle souhaité.

* Ministral-3B-Instruct [Notebook vision](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Ministral_3_VL_\(3B\)_Vision.ipynb) (vision)
* Ministral-3B-Instruct [Notebook GRPO](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Ministral_3_\(3B\)_Reinforcement_Learning_Sudoku_Game.ipynb)

{% columns %}
{% column %}
Notebook d’affinage de Ministral Vision

{% embed url="<https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Ministral_3_VL_(3B)_Vision.ipynb>" %}
{% endcolumn %}

{% column %}
Notebook GRPO RL de Ministral Sudoku

{% embed url="<https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Ministral_3_(3B)_Reinforcement_Learning_Sudoku_Game.ipynb>" %}
{% endcolumn %}
{% endcolumns %}

### :sparkles:Apprentissage par renforcement (GRPO)

Unsloth prend désormais également en charge le RL et le GRPO pour les modèles Mistral. Comme d’habitude, ils bénéficient de toutes les améliorations d’Unsloth et, demain, nous allons bientôt publier un notebook spécialement destiné à résoudre automatiquement le Sudoku.

* Ministral-3B-Instruct [Notebook GRPO](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Ministral_3_\(3B\)_Reinforcement_Learning_Sudoku_Game.ipynb)

**Pour utiliser la dernière version d’Unsloth et de transformers v5, mettez à jour via :**

{% code overflow="wrap" %}

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

{% endcode %}

L’objectif est de générer automatiquement des stratégies pour résoudre le Sudoku !

{% columns %}
{% column %}

<figure><img src="/files/26269a7835a9fcfac58fb39f8050c9db8426b4af" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column %}

<figure><img src="/files/8e81bf759f94c0b2a94f6592d8de036589765203" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

Pour les graphiques de récompense pour Ministral, nous obtenons ce qui suit. On voit que cela fonctionne bien !

{% columns %}
{% column %}
![](/files/759e8aee0bebc233f95e575755d043cd5fbb3574)

![](/files/3abede18b3903d0b4c897967b7f1c26baee12ba9)
{% endcolumn %}

{% column %}
![](/files/04333c4fdd01411fc0c2b7f09bab41f949397d4c)

![](/files/e25f77c1e2d627e5e3541bbc612ab0073f4079e0)
{% endcolumn %}
{% endcolumns %}


---

# 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/ministral-3.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.
