> 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/commencer/install/amd.md).

# Guide pour le fine-tuning de LLM sur GPU AMD avec Unsloth

Affinez les LLM jusqu’à 2× plus vite avec \~70 % de mémoire en moins sur matériel AMD, sans NVIDIA requis. Unsloth prend en charge AMD Radeon RDNA 3/3.5/4 (séries RX 6000–9000) sur Windows et Linux, ainsi que les GPU pour centres de données, y compris le MI300X (192 Go).

{% stepper %}
{% step %}

#### **Installateur en une ligne**

**Installation la plus simple :** Passez toutes les étapes ci-dessous avec l’installateur en une ligne : il détecte automatiquement votre GPU AMD, installe PyTorch optimisé pour ROCm, bitsandbytes et lance Unsloth Studio :

**Linux :**

```bash
curl -fsSL https://unsloth.ai/install.sh | sh
```

**Windows (PowerShell) :**

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

Les étapes manuelles ci-dessous s’adressent aux utilisateurs qui souhaitent installer la bibliothèque Python Unsloth sur AMD avec les dépendances requises.
{% endstep %}

{% step %}

#### **Créer un nouvel environnement isolé (facultatif)**

Pour ne pas casser les paquets système, vous pouvez créer un environnement pip isolé. N’oubliez pas de vérifier la version de Python que vous avez ! Cela peut être `pip3`, `pip3.13`, `python3`, `python.3.13` etc.

**Linux :** 3.13 indiqué ; toute version 3.11-3.13 fonctionne partout (3.10 fonctionne pour les installations manuelles

{% code overflow="wrap" %}

```bash
# Linux — remplacez 3.13 par la version 3.10-3.13 que vous avez
apt update && apt install python3.13-venv -y
python3.13 -m venv unsloth_env
source unsloth_env/bin/activate
pip install uv
```

{% endcode %}

**Windows (PowerShell) :**&#x20;

3.13 indiqué ; utilisez 3.12 si vous installez l’option supplémentaire unsloth\[rocm72-torch291]

```shellscript
py -3.13 -m venv unsloth_env
unsloth_env\Scripts\Activate.ps1
pip install uv
```

{% endstep %}

{% step %}

#### **Installer PyTorch**

Vous prévoyez d’installer Unsloth avec une option AMD (`unsloth[rocm72-torch291]` etc., voir la section suivante) ? Elles incluent un PyTorch correspondant, vous pouvez donc **ignorer cette section**. Installez PyTorch ici uniquement si vous souhaitez le gérer vous-même ou si votre version de ROCm n’est pas couverte par une option.

**Linux :** \
Installez PyTorch avec la prise en charge de ROCm depuis l’index PyTorch. Vérifiez votre version de ROCm via `amd-smi version` (repérez la ligne `ROCm version:` ), puis remplacez `https://download.pytorch.org/whl/rocm7.1` pour qu’elle corresponde. ROCm 6.0 ou plus récent est requis.

{% code overflow="wrap" %}

```bash
uv pip install "torch>=2.4,<2.11.0" "torchvision<0.26.0" "torchaudio<2.11.0" \
    --index-url https://download.pytorch.org/whl/rocm7.1 --upgrade --force-reinstall
```

{% endcode %}

ROCm 7.2 fournit des wheels plus récentes (torch 2.11), donc sous ROCm 7.2 utilisez plutôt ceci :

```bash
uv pip install "torch>=2.11.0,<2.12.0" torchvision torchaudio \
    --index-url https://download.pytorch.org/whl/rocm7.2 --upgrade --force-reinstall
```

Les tags d’index disponibles sont `rocm6.0`, `rocm6.1`, `rocm6.2`, `rocm6.3`, `rocm6.4`, `rocm7.0`, `rocm7.1`, et `rocm7.2`. ROCm 6.5-6.9 n’a pas de wheels dédiées (utilisez `rocm6.4`), et ROCm 7.3+ utilise `rocm7.2`.

*Les limites de version empêchent de récupérer par erreur torch 2.11+, qui n’a des wheels que pour ROCm 7.2 et cassera les choses. Mettez à jour `rocm7.1` pour correspondre à votre version détectée, comme précédemment.*

Nous avons aussi écrit une seule commande de terminal pour extraire la bonne version de ROCM si cela peut vous aider.

```bash
ROCM_TAG="$({ command -v amd-smi >/dev/null 2>&1 && amd-smi version 2>/dev/null | awk -F'ROCm version: ' 'NF>1{split($2,a,"."); print "rocm"a[1]"."a[2]; ok=1; exit} END{exit !ok}'; } || { [ -r /opt/rocm/.info/version ] && awk -F. '{print "rocm"$1"."$2; exit}' /opt/rocm/.info/version; } || { command -v hipconfig >/dev/null 2>&1 && hipconfig --version 2>/dev/null | awk -F': *' '/HIP version/{split($2,a,"."); print "rocm"a[1]"."a[2]; ok=1; exit} END{exit !ok}'; } || { command -v dpkg-query >/dev/null 2>&1 && ver="$(dpkg-query -W -f="${Version}\n" rocm-core 2>/dev/null)" && [ -n "$ver" ] && awk -F'[.-]' '{print "rocm"$1"."$2; exit}' <<<"$ver"; } || { command -v rpm >/dev/null 2>&1 && ver="$(rpm -q --qf '%{VERSION}\n' rocm-core 2>/dev/null)" && [ -n "$ver" ] && awk -F'[.-]' '{print "rocm"$1"."$2; exit}' <<<"$ver"; })"; [ -n "$ROCM_TAG" ] && uv pip install "torch>=2.4,<2.11.0" "torchvision<0.26.0" "torchaudio<2.11.0" --index-url "https://download.pytorch.org/whl/$ROCM_TAG" --upgrade --force-reinstall
```

*Remarque : si votre version de ROCm est 7.2 ou supérieure, remplacez `$ROCM_TAG` dans la commande ci-dessus par `rocm7.1,` aucune wheel PyTorch n’existe encore pour 7.2+.*

<div data-with-frame="true"><figure><img src="/files/e882b3336a5abe59d65f49ffa24fde2c79c9c8a7" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### **Installer Unsloth**

Installez Unsloth avec les options AMD :

{% code overflow="wrap" %}

```bash
uv pip install unsloth[amd]
```

{% endcode %}

<div data-with-frame="true"><figure><img src="/files/56290c9ebec3af5e28230609ed40c5e3b789b4ca" alt="" width="547"><figcaption></figcaption></figure></div>

⚠️ Requis pour AMD : installez bitsandbytes compatible ROCm\
Tous les systèmes ROCm ont besoin d’une build préliminaire de bitsandbytes ; les versions ≤ 0.49.2 ont un bug NaN de décodage en 4 bits sur tous les GPU AMD. Remarque : utilisez `pip` pas `uv` pour cette étape, `uv` rejette la wheel préliminaire en raison d’une incompatibilité de version dans le nom du fichier.

{% code overflow="wrap" %}

```bash
# Systèmes x86_64 :
pip install --force-reinstall --no-cache-dir --no-deps \
    "https://github.com/bitsandbytes-foundation/bitsandbytes/releases/download/continuous-release_main/bitsandbytes-1.33.7.preview-py3-none-manylinux_2_24_x86_64.whl"

# Systèmes aarch64 : remplacez x86_64 par aarch64 dans l’URL ci-dessus

# Solution de repli si l’URL est inaccessible :
# pip install --force-reinstall --no-cache-dir --no-deps "bitsandbytes>=0.49.1"
```

{% endcode %}

<div data-with-frame="true"><figure><img src="/files/dba5bd6e91537714f4f1978da3224b6f85d732cd" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### **Commencez l’affinage avec Unsloth !**

Et voilà. Essayez quelques exemples dans notre page [**Unsloth Notebooks**](/docs/fr/commencer/unsloth-notebooks.md) !

Vous pouvez consulter nos guides dédiés [d’affinage](/docs/fr/commencer/fine-tuning-llms-guide.md) ou [d’apprentissage par renforcement](/docs/fr/commencer/reinforcement-learning-rl-guide.md) . Voici aussi un bref exemple :

**1. Définir les variables d’environnement**

{% code overflow="wrap" %}

```bash
export HSA_OVERRIDE_GFX_VERSION=9.4.2  # Requis pour AMD MI300X
export HF_HUB_DISABLE_XET=1            # Corrige les problèmes de téléchargement HuggingFace sur AMD
```

{% endcode %}

***Remarque :*** *`HSA_OVERRIDE_GFX_VERSION=9.4.2` indique à ROCm de traiter votre GPU comme gfx942 (MI300X). Sans cela, certains kernels peuvent échouer à la compilation ou à l’exécution.*

**2. Charger et configurer le modèle**

{% code overflow="wrap" %}

```python
from unsloth import FastModel

model, tokenizer = FastModel.from_pretrained(
    model_name = "unsloth/gemma-4-26b-a4b-it",
    max_seq_length = 2048,
    load_in_4bit = True,
)

model = FastModel.get_peft_model(
    model,
    r = 16,
    lora_alpha = 16,
    target_modules = ["q_proj", "k_proj", "v_proj", "o_proj"],
)
```

{% endcode %}

**3. Entraîner**

{% code overflow="wrap" %}

```python
from trl import SFTTrainer, SFTConfig

trainer = SFTTrainer(
    model = model,
    tokenizer = tokenizer,
    train_dataset = dataset,
    formatting_func = formatting_func,
    args = SFTConfig(
        per_device_train_batch_size = 1,
        gradient_accumulation_steps = 4,
        max_steps = 60,
        output_dir = "outputs",
        report_to = "none",
    ),
)

trainer_stats = trainer.train()
```

{% endcode %}

<div data-with-frame="true"><figure><img src="/files/7fc28a6dd0df02da2d8263b7a5153dc763f9f25b" alt="" width="375"><figcaption></figcaption></figure></div>

***Remarque :** Sur les GPU AMD, Flash Attention 2 n’est pas disponible. Unsloth revient automatiquement à Xformers, qui offre des performances équivalentes sur ROCm. L’avertissement peut être ignoré en toute sécurité.*
{% endstep %}
{% endstepper %}

### :1234: Apprentissage par renforcement sur GPU AMD

Vous pouvez utiliser notre exemple :ledger:[gpt-oss RL auto win 2048](https://github.com/unslothai/notebooks/blob/main/nb/AMD-gpt_oss_\(20B\)_Reinforcement_Learning_2048_Game_BF16.ipynb) sur un GPU MI300X (192 Go). L’objectif est de jouer automatiquement au jeu 2048 et de le gagner avec RL. Le LLM (gpt-oss 20b) élabore automatiquement une stratégie pour gagner au jeu 2048, et nous attribuons une récompense élevée aux stratégies gagnantes, et de faibles récompenses aux stratégies perdantes.

{% columns %}
{% column %}

<figure><img src="/files/3cadd91340e63b0562100bb73710efc5c7359901" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column %}
La récompense au fil du temps augmente après environ 300 étapes environ !

L’objectif du RL est de maximiser la récompense moyenne pour gagner au jeu 2048.

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

Nous avons utilisé une machine AMD MI300X (192 Go) pour exécuter l’exemple RL 2048 avec Unsloth, et cela a très bien fonctionné !

<div><figure><img src="/files/204d29be924da780008880c800f066cd8e3f4ee4" alt=""><figcaption></figcaption></figure> <figure><img src="/files/8a689b36bb45d149bc645e55f346f590928afe54" alt=""><figcaption></figcaption></figure></div>

Vous pouvez également utiliser notre :ledger:[notebook RL de génération automatique de kernels](https://github.com/unslothai/notebooks/blob/main/nb/AMD-gpt_oss_\(20B\)_GRPO_BF16.ipynb) également avec gpt-oss pour créer automatiquement des kernels de multiplication matricielle en Python. Le notebook conçoit aussi plusieurs méthodes pour contrer le reward hacking.

{% columns %}
{% column width="50%" %}
L’invite que nous avons utilisée pour créer automatiquement ces kernels était :

{% code overflow="wrap" %}

````
Créez une nouvelle fonction de multiplication matricielle rapide en utilisant uniquement du code Python natif.
Vous recevez une liste de listes de nombres.
Affichez votre nouvelle fonction entre des backticks en utilisant le format ci-dessous :
```
python
def matmul(A, B):
    return ...
```
````

{% endcode %}
{% endcolumn %}

{% column width="50%" %}
Le processus de RL apprend par exemple à appliquer l’algorithme de Strassen pour accélérer la multiplication matricielle en Python.

<figure><img src="/files/c3c38d8a05f5c9a2f3e29ff5012d3bf334fb1a8e" alt="" width="375"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

### :books:Notebooks gratuits AMD en un clic

AMD fournit des notebooks en un clic équipés de **GPU MI300X gratuits avec 192 Go de VRAM** via leur Dev Cloud. Entraînez de grands modèles entièrement gratuitement (aucune inscription ni carte de crédit requise) :

* [Qwen3 (32B)](https://amd-ai-academy.com/github/unslothai/notebooks/blob/main/nb/Qwen3_\(32B\)_A100-Reasoning-Conversational.ipynb)
* [Llama 3.3 (70B)](https://amd-ai-academy.com/github/unslothai/notebooks/blob/main/nb/AMD-Llama3.3_\(70B\)_A100-Conversational.ipynb)
* [Qwen3 (14B)](https://amd-ai-academy.com/github/unslothai/notebooks/blob/main/nb/AMD-Qwen3_\(14B\)-Reasoning-Conversational.ipynb)
* [Mistral v0.3 (7B)](https://amd-ai-academy.com/github/unslothai/notebooks/blob/main/nb/AMD-Mistral_v0.3_\(7B\)-Alpaca.ipynb)
* [GPT OSS MXFP4 (20B)](https://amd-ai-academy.com/github/unslothai/notebooks/blob/main/nb/AMD-GPT_OSS_MXFP4_\(20B\)-Inference.ipynb) - Inférence
* [Gemma4 (E2B)](https://amd-ai-academy.com/github/unslothai/notebooks/blob/main/nb/Gemma4_\(E2B\)_Reinforcement_Learning_Sudoku_Game.ipynb) - RL Sudoku
* Unsloth Studio

{% embed url="<https://oneclickamd.ai/github/unslothai/notebooks/blob/main/nb/gpt_oss_(20B)_Reinforcement_Learning_2048_Game_BF16.ipynb>" %}

Vous pouvez utiliser n’importe quel notebook Unsloth en le faisant précéder de <https://amd-ai-academy.com/github/unslothai/notebooks/blob/main/nb> dans [Notebooks Unsloth](/docs/fr/commencer/unsloth-notebooks.md) en modifiant le lien de <https://github.com/unslothai/notebooks/blob/main/nb/AMD-gpt_oss_(20B)_Reinforcement_Learning_2048_Game_BF16.ipynb>\
à <https://amd-ai-academy.com/github/unslothai/notebooks/blob/main/nb/AMD-Gemma4_(E2B)_Reinforcement_Learning_Sudoku_Game.ipynb>

{% columns %}
{% column width="33.33333333333333%" %}

<figure><img src="/files/8538e846c2aeb1caa27f6be7a045669eb329ef82" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column width="66.66666666666667%" %}

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


---

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