# Comment affiner des LLM sur Windows avec Unsloth (guide étape par étape)

Vous pouvez désormais affiner des modèles directement sur votre appareil Windows local sans WSL en utilisant [Unsloth](https://github.com/unslothai/unsloth). Pour ce guide, il existe 3 méthodes principales que vous pouvez utiliser ([Conda](#method-1-windows-via-conda), [Docker](#method-2-docker) et [WSL](#method-3-wsl)).\
Si PyTorch est déjà installé sur Windows, `pip install unsloth` devrait fonctionner. Sinon, suivez nos guides ci-dessous :

<a href="/pages/897f358231280f27c42fdd0fe983b7be0dd75dfc#method-1-windows-via-conda" class="button secondary">Tutoriel Conda</a><a href="/pages/897f358231280f27c42fdd0fe983b7be0dd75dfc#method-2-docker" class="button secondary">Tutoriel Docker</a><a href="/pages/897f358231280f27c42fdd0fe983b7be0dd75dfc#method-3-wsl" class="button secondary">Tutoriel WSL</a>

### Unsloth Studio

Nous avons lancé une nouvelle interface web appelée [Unsloth Studio](/docs/fr/nouveau/studio/install.md) qui fonctionne sur Windows immédiatement, sans configuration :

```bash
irm https://unsloth.ai/install.ps1 | iex
```

Utilisez la même commande pour mettre à jour ou utiliser `unsloth studio update`.

Ensuite, pour lancer à chaque fois :

```bash
unsloth studio -H 0.0.0.0 -p 8888
```

Pour des instructions d’installation détaillées et les prérequis d’Unsloth Studio, [consultez notre guide](/docs/fr/nouveau/studio/install.md).

Vous trouverez ci-dessous les instructions d’installation pour l’original **Unsloth Core**:

### Méthode n°1 - Windows via Conda :

{% stepper %}
{% step %}
**Installer Miniconda (ou Anaconda)**

Téléchargez Anaconda [ici](https://www.anaconda.com/download). Nous vous suggérons d’utiliser [Miniconda](https://www.anaconda.com/docs/getting-started/miniconda/install#quickstart-install-instructions). Pour l’utiliser, ouvrez d’abord Powershell - recherchez « Windows Powershell » dans Démarrer :

<figure><img src="/files/90842dedf8b6468877928c76d77c08821eb58d0b" alt="" width="375"><figcaption></figcaption></figure>

Ensuite, Powershell s’ouvrira :

<figure><img src="/files/34d128a79a0c98eb432ec4a65dba8a2e7891b337" alt="" width="375"><figcaption></figcaption></figure>

Puis copiez-collez ce qui suit : CTRL+C, puis collez-le dans Powershell avec CTRL+V :

{% code overflow="wrap" %}

```ps
Invoke-WebRequest -Uri "https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe" -OutFile ".\miniconda.exe"
Start-Process -FilePath ".\miniconda.exe" -ArgumentList "/S" -Wait
del .\miniconda.exe
```

{% endcode %}

Acceptez l’avertissement et appuyez sur « Coller quand même », puis attendez.

<figure><img src="/files/325922e8d495be69f4c1eb4cb988b663640e99b2" alt="" width="375"><figcaption></figcaption></figure>

Il télécharge l’installateur comme ci-dessous :

<figure><img src="/files/82cbafdefa1e650d620a29b9ad33053176422f91" alt="" width="375"><figcaption></figcaption></figure>

Après l’installation, ouvrez le **Anaconda Powershell Prompt** pour utiliser Miniconda via Démarrer -> recherchez-le :

<figure><img src="/files/a4aaf42f51f81a1e2b71de38ad1aed5bac7553b8" alt="" width="375"><figcaption></figcaption></figure>

Vous verrez alors :

<figure><img src="/files/f52c267e3549e418f830365c9f148ca1d2905742" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Créer un environnement conda**

```bash
conda create --name unsloth_env python==3.12 -y
conda activate unsloth_env
```

**Vous verrez :**

<figure><img src="/files/ae2a6f146141140ec3b4cde39388382bb5a77c68" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Vérifiez `nvidia-smi` pour confirmer que vous avez un GPU, et vérifiez la version de CUDA**

Après avoir tapé `nvidia-smi` dans Powershell, vous devriez voir quelque chose comme ci-dessous. Si vous n’avez pas `nvidia-smi` ou si cela échoue à s’afficher ci-dessous, vous devez réinstaller les [pilotes NVIDIA](https://www.nvidia.com/en-us/drivers/).

<figure><img src="/files/5d34640d662e5e38eb176c4569a044462a1a71d0" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Installer PyTorch**

Lors de l’exécution de `nvidia-smi` vous verrez en haut à droite : « CUDA Version: 13.0 ». Installez PyTorch dans PowerShell via. Changez `130` pour correspondre à votre version de CUDA - assurez-vous que la [version existe](https://pytorch.org/) et correspond à la version de votre pilote CUDA.

{% code overflow="wrap" %}

```bash
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu130
```

{% endcode %}

Vous verrez :

<figure><img src="/files/67a9df327e788af0c985dba0533ef3c055013a8e" alt="" width="563"><figcaption></figcaption></figure>

Essayez d’exécuter ceci dans Python via `python` une fois PyTorch installé :

{% code overflow="wrap" %}

```python
import torch
print(torch.cuda.is_available())
A = torch.ones((10, 10), device = "cuda")
B = torch.ones((10, 10), device = "cuda")
A @ B
```

{% endcode %}

Vous devriez voir une matrice de 10. Vérifiez également que le premier renvoie True.

<figure><img src="/files/20f92487f8005b9f55dd113008f28208c96406c6" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Installer Unsloth (uniquement si PyTorch fonctionne !)**

{% hint style="danger" %}
**Confirmez que PyTorch fonctionne correctement et s’exécute - sinon, PyTorch est cassé et cela signifie malheureusement que votre machine Windows pourrait nécessiter une réinstallation des pilotes CUDA.**
{% endhint %}

Dans Powershell (après avoir quitté Python via `exit()` , faites-le et attendez :

```bash
pip install unsloth
```

{% endstep %}

{% step %}
**Vérifier qu’Unsloth fonctionne**

Utilisez maintenant n’importe quel script dans [Carnets Unsloth](/docs/fr/commencer/unsloth-notebooks.md) (enregistrez-le dans un fichier .py), ou utilisez le script de base ci-dessous :

{% code expandable="true" %}

```python
from unsloth import FastLanguageModel, FastModel
import torch
from trl import SFTTrainer, SFTConfig
from datasets import load_dataset
max_seq_length = 512
url = "https://huggingface.co/datasets/laion/OIG/resolve/main/unified_chip2.jsonl"
dataset = load_dataset("json", data_files = {"train" : url}, split = "train")

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "unsloth/gemma-3-270m-it",
    max_seq_length = max_seq_length, # Choisissez n’importe quelle valeur pour un long contexte !
    load_in_4bit = True,  # Quantification 4 bits. False = LoRA 16 bits.
    load_in_8bit = False, # Quantification 8 bits
    load_in_16bit = False, # LoRA 16 bits
    full_finetuning = False, # À utiliser pour un affinage complet.
    trust_remote_code = False, # Activez pour prendre en charge les nouveaux modèles
    # token = "hf_...", # utilisez-en un si vous utilisez des modèles à accès restreint
)

# Effectuer le patching du modèle et ajouter des poids LoRA rapides
model = FastLanguageModel.get_peft_model(
    model,
    r = 16,
    target_modules = ["q_proj", "k_proj", "v_proj", "o_proj",
                      "gate_proj", "up_proj", "down_proj",],
    lora_alpha = 16,
    lora_dropout = 0, # Prend en charge n’importe quelle valeur, mais = 0 est optimisé
    bias = "none",    # Prend en charge n’importe quelle valeur, mais = "none" est optimisé
    # [NOUVEAU] "unsloth" utilise 30 % de VRAM en moins, permet des tailles de batch 2x plus grandes !
    use_gradient_checkpointing = "unsloth", # True ou "unsloth" pour un contexte très long
    random_state = 3407,
    max_seq_length = max_seq_length,
    use_rslora = False,  # Nous prenons en charge LoRA avec rang stabilisé
    loftq_config = None, # Et LoftQ
)

trainer = SFTTrainer(
    model = model,
    train_dataset = dataset,
    tokenizer = tokenizer,
    args = SFTConfig(
        max_seq_length = max_seq_length,
        per_device_train_batch_size = 2,
        gradient_accumulation_steps = 4,
        warmup_steps = 10,
        max_steps = 60,
        logging_steps = 1,
        output_dir = "outputs",
        optim = "adamw_8bit",
        seed = 3407,
        dataset_num_proc = 1,
    ),
)
trainer.train()
```

{% endcode %}

Vous devriez voir :

```bash
🦥 Unsloth : Nous allons modifier votre ordinateur pour permettre un affinage gratuit 2x plus rapide.
🦥 Unsloth Zoo va maintenant tout modifier pour accélérer l’entraînement !
==((====))==  Unsloth 2026.1.4 : patching rapide de Gemma3. Transformers : 4.57.6.
   \\   /|    NVIDIA GeForce RTX 3060. Nombre de GPU = 1. Mémoire max : 12.0 Go. Plateforme : Windows.
O^O/ \_/ \    Torch : 2.10.0+cu130. CUDA : 8.6. Toolkit CUDA : 13.0. Triton : 3.6.0
\        /    Bfloat16 = TRUE. FA [Xformers = 0.0.34. FA2 = False]
 "-____-"     Licence gratuite : http://github.com/unslothai/unsloth
Unsloth : le téléchargement rapide est activé - ignorez les barres de téléchargement rouges !
Unsloth : Gemma3 ne prend pas en charge SDPA - passage à fast eager.
Unsloth : rendre `model.base_model.model.model` nécessitant des gradients
Unsloth : Tokenisation ["text"] (num_proc=1) :   0%|                 | 0/210289 [00:00<?, ? examples/s]�  Unsloth : Nous allons modifier votre ordinateur pour permettre un affinage gratuit 2x plus rapide.
🦥 Unsloth : Nous allons modifier votre ordinateur pour permettre un affinage gratuit 2x plus rapide.
```

Et l’entraînement :

<figure><img src="/files/854cd18a3e42dc573da86030f2e5cebb2567ab8b" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### Méthode n°2 - Docker :

Docker est peut-être le moyen le plus simple pour les utilisateurs Windows de commencer avec Unsloth, car aucune configuration ni problème de dépendance n’est nécessaire. [**`unsloth/unsloth`**](https://hub.docker.com/r/unsloth/unsloth) est la seule image Docker d’Unsloth. Pour [Blackwell](/docs/fr/blog/fine-tuning-llms-with-blackwell-rtx-50-series-and-unsloth.md) et les GPU de la série 50, utilisez cette même image - aucune image séparée n’est nécessaire.

Pour les instructions d’installation, veuillez suivre notre [guide Docker](/docs/fr/blog/how-to-fine-tune-llms-with-unsloth-and-docker.md), sinon voici un guide de démarrage rapide :

{% stepper %}
{% step %}
**Installez Docker et NVIDIA Container Toolkit.**

Installez Docker via [Linux](https://docs.docker.com/engine/install/) ou [Desktop](https://docs.docker.com/desktop/) (autre). Puis installez [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installation):

```bash
export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.17.8-1
sudo apt-get update && sudo apt-get install -y \
  nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
  nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
  libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
  libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION}
```

{% endstep %}

{% step %}
**Exécutez le conteneur.**

[**`unsloth/unsloth`**](https://hub.docker.com/r/unsloth/unsloth) est la seule image Docker d’Unsloth.

```bash
docker run -d -e JUPYTER_PASSWORD="mypassword" \
  -p 8888:8888 -p 2222:22 \
  -v $(pwd)/work:/workspace/work \
  --gpus all \
  unsloth/unsloth
```

{% endstep %}

{% step %}
**Accéder à Jupyter Lab**

Allez sur [http://localhost:8888](http://localhost:8888/) et ouvrez Unsloth. Accédez aux onglets `unsloth-notebooks` pour voir les notebooks Unsloth.
{% endstep %}

{% step %}
**Commencer l’entraînement avec Unsloth**

Si vous débutez, suivez notre guide étape par étape [Guide d’affinage](/docs/fr/commencer/fine-tuning-llms-guide.md), [Guide RL](/docs/fr/commencer/reinforcement-learning-rl-guide.md) ou enregistrez/copiez simplement l’un de nos [notebooks](/docs/fr/commencer/unsloth-notebooks.md).
{% endstep %}

{% step %}
**Problèmes Docker - GPU non détecté ?**

Essayez de passer par WSL via [#method-2-wsl](#method-2-wsl "mention")
{% endstep %}
{% endstepper %}

### Méthode n°3 - WSL :

{% stepper %}
{% step %}
**Installer WSL**

Ouvrez l’Invite de commandes, le Terminal, et installez Ubuntu. Définissez le mot de passe si demandé.

```bash
wsl.exe --install Ubuntu-24.04
wsl.exe -d Ubuntu-24.04
```

{% endstep %}

{% step %} <mark style="color:$primary;background-color:orange;">**Si vous n’avez PAS fait (1), donc si vous avez déjà installé WSL**</mark>**, entrez dans WSL en tapant `wsl` et ENTRÉE dans l’invite de commandes**

```bash
wsl
```

{% endstep %}

{% step %}
**Installer Python**

{% code overflow="wrap" %}

```bash
sudo apt update
sudo apt install python3 python3-full python3-pip python3-venv -y
```

{% endcode %}
{% endstep %}

{% step %}
**Installer PyTorch**

{% code overflow="wrap" %}

```bash
pip install torch torchvision --force-reinstall --index-url https://download.pytorch.org/whl/cu130
```

{% endcode %}

Si vous rencontrez des problèmes d’autorisation, utilisez `–break-system-packages` pour `pip install torch torchvision --force-reinstall --index-url https://download.pytorch.org/whl/cu130 –break-system-packages`
{% endstep %}

{% step %}
**Installer Unsloth et Jupyter Notebook**

{% code overflow="wrap" %}

```bash
pip install unsloth jupyter
```

{% endcode %}

Si vous rencontrez des problèmes d’autorisation, utilisez `–-break-system-packages` pour `pip install unsloth jupyter –-break-system-packages`
{% endstep %}

{% step %}
**Lancer Unsloth via Jupyter Notebook**

{% code overflow="wrap" %}

```bash
jupyter notebook
```

{% endcode %}

Puis ouvrez nos notebooks dans [Carnets Unsloth](/docs/fr/commencer/unsloth-notebooks.md)et chargez-les ! Vous pouvez également aller dans les notebooks Colab et télécharger > télécharger .ipynb puis les charger.

![](/files/a724ef997c60e3aee78efcd8d9e3ac4458412bba)
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Si vous utilisez GRPO ou prévoyez d’utiliser vLLM, actuellement vLLM ne prend pas directement en charge Windows mais uniquement via WSL ou Linux.
{% endhint %}

### **Dépannage /** Avancé

Pour **les instructions d’installation avancées** ou si vous voyez des erreurs étranges pendant les installations :

1. Installer `torch` et `triton`. Allez sur <https://pytorch.org> pour l’installer. Par exemple `pip install torch torchvision torchaudio triton`
2. Confirmez si CUDA est correctement installé. Essayez `nvcc`. Si cela échoue, vous devez installer `cudatoolkit` ou les pilotes CUDA.
3. Si vous utilisez un GPU Intel, vous devrez suivre notre [guide Windows Intel](/docs/fr/commencer/install/intel.md#windows-only-runtime-configurations)
4. Installer `xformers` manuellement. Vous pouvez essayer d’installer `vllm` et voir si `vllm` réussit. Vérifiez si `xformers` a réussi avec `python -m xformers.info` Allez sur <https://github.com/facebookresearch/xformers>. Une autre option consiste à installer `flash-attn` pour les GPU Ampere.
5. Vérifiez à nouveau que vos versions de Python, CUDA, CUDNN, `torch`, `triton`, et `xformers` sont compatibles entre elles. Le [tableau de compatibilité PyTorch](https://github.com/pytorch/pytorch/blob/main/RELEASE.md#release-compatibility-matrix) peut être utile.
6. Enfin, installez `bitsandbytes` et vérifiez-le avec `python -m bitsandbytes`
7. Si Unsloth ne détecte pas ou n’utilise pas votre GPU et si vous utilisez notre conteneur Docker sous Windows, votre version du toolkit CUDA `nvcc --version` doit correspondre à la version de CUDA affichée par nvidia-smi sur l’hôte. La prise en charge du GPU pour les conteneurs Docker sous Windows n’est pas automatique. [Vous devez suivre le guide de Docker](https://docs.docker.com/desktop/features/gpu/).

### Désinstaller Unsloth Studio

Pour désinstaller Unsloth Studio sur Windows, suivez ces 4 étapes :

#### **1. Supprimez l’application**

* WSL : `rm -rf ~/.unsloth/studio/unsloth_studio`
* Windows (PowerShell) : `Remove-Item -Recurse -Force "$HOME\.unsloth\studio\unsloth_studio"`&#x20;

Cela supprime l’application mais conserve intacts vos checkpoints de modèle, exportations, historique, cache et discussions.

#### **2. Supprimez les raccourcis et les liens symboliques**

**WSL / Windows (PowerShell) :**

```bash
Remove-Item -Force "$HOME\Desktop\Unsloth Studio.lnk"
Remove-Item -Force "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Unsloth Studio.lnk"
```

#### **3. Supprimez la commande CLI**

**WSL :**

```bash
rm -f ~/.local/bin/unsloth
```

**Windows (PowerShell) :** Le programme d’installation a ajouté le répertoire `Scripts` du venv à votre PATH utilisateur. Pour le supprimer, ouvrez Paramètres → Système → À propos → Paramètres système avancés → Variables d’environnement, recherchez `Path` sous Variables utilisateur, puis supprimez l’entrée pointant vers `.unsloth\studio\...\Scripts`.

#### **4. Supprimez tout (facultatif)**

Pour supprimer également l’historique, le cache, les discussions, les checkpoints de modèle et les exports de modèle, supprimez le dossier Unsloth entier :

* WSL, Linux : `rm -rf ~/.unsloth`
* Windows (PowerShell) : `Remove-Item -Recurse -Force "$HOME\.unsloth"`&#x20;

Notez que les fichiers de modèle HF téléchargés sont stockés séparément dans le cache Hugging Face - aucune des étapes ci-dessus ne les supprimera. Voir **Suppression des fichiers de modèle** ci-dessous si vous souhaitez récupérer cet espace disque.


---

# 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/commencer/install/windows-installation.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.
