# Fine-tuning de LLMs sur GPU AMD avec le guide Unsloth

Vous pouvez désormais effectuer l'affinage (fine-tuning) de LLM localement sur votre configuration AMD avec Unsloth. Unsloth prend en charge les GPU AMD Radeon RX, MI300X (192 Go) et d'autres.

{% stepper %}
{% step %}
**Créer un nouvel environnement isolé (Optionnel)**

Pour ne pas casser les paquets système, vous pouvez créer un environnement pip isolé. Pensez à vérifier la version de Python que vous avez ! Il se peut que ce soit `pip3`, `pip3.13`, `python3`, `python.3.13` etc.

{% code overflow="wrap" %}

```bash
apt install python3.10-venv python3.11-venv python3.12-venv python3.13-venv -y

python -m venv unsloth_env
source unsloth_env/bin/activate
```

{% endcode %}

<figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FCqOhjYTr4GqQ90ToPEig%2Famd1.png?alt=media&#x26;token=d8f96a07-90be-4d93-b848-ad182c262d1f" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Installer PyTorch**

Installez la dernière version de PyTorch, TorchAO, Xformers depuis <https://pytorch.org/> Vérifiez votre version de ROCM via `amd-smi version` puis changez `https://download.pytorch.org/whl/rocm7.0` pour qu'elle corresponde.

{% code overflow="wrap" %}

```bash
uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm7.0 --upgrade --force-reinstall
```

{% endcode %}

Nous avons également écrit une seule commande terminal pour extraire la version ROCM correcte si cela peut aider.

<figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FJ1VZQ9QhzWFizDceg3ye%2Famd2.png?alt=media&#x26;token=937d1eba-3c7e-4c73-b6a6-9a9450d0e4ac" alt=""><figcaption></figcaption></figure>

```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 torchvision torchaudio --index-url "https://download.pytorch.org/whl/$ROCM_TAG" --upgrade --force-reinstall
```

{% endstep %}

{% step %}
**Installer Unsloth**

Installez la branche AMD dédiée d'Unsloth :

{% code overflow="wrap" %}

```bash
pip install --no-deps unsloth unsloth-zoo
pip install --no-deps git+https://github.com/unslothai/unsloth-zoo.git
pip install "unsloth[amd] @ git+https://github.com/unslothai/unsloth"
```

{% endcode %}

<figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Frz8GOvVgST7beQ8pmgmC%2Famd3.png?alt=media&#x26;token=03a12c20-af1d-4b98-9aaf-18ccc6a1d4a4" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Commencez l'affinage avec Unsloth !**

Et c'est tout. Essayez quelques exemples dans notre [**Notebooks Unsloth**](https://unsloth.ai/docs/fr/commencer/unsloth-notebooks) page !

Vous pouvez consulter notre [affinage](https://unsloth.ai/docs/fr/commencer/fine-tuning-llms-guide) ou [apprentissage par renforcement](https://unsloth.ai/docs/fr/commencer/reinforcement-learning-rl-guide) guides.

<figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FlDpKitaEagbh0Er8wJFC%2Famd4.png?alt=media&#x26;token=f54448fe-0719-464f-bbd1-d73f82aedfc0" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

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

Vous pouvez utiliser notre :ledger:[exemple gpt-oss RL auto win 2048](https://github.com/unslothai/notebooks/blob/main/nb/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 le RL. Le LLM (gpt-oss 20b) élabore automatiquement une stratégie pour gagner au 2048, et nous attribuons une forte récompense aux stratégies gagnantes et de faibles récompenses aux stratégies qui échouent.

{% columns %}
{% column %}

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

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

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

<figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fgit-blob-8d7ea897fd57156a796e4f74aa2e3b60afe9d405%2F2048%20Auto%20Win%20Game%20Reward.png?alt=media" 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 bien fonctionné !

<div><figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fgit-blob-174890aa5f63632ebe6f3f212f1ced0d0e8dc381%2FScreenshot%202025-10-17%20052504.png?alt=media" alt=""><figcaption></figcaption></figure> <figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fgit-blob-f907ba596705496515fdfb39b49d649697317ca7%2FScreenshot%202025-10-17%20052641.png?alt=media" alt=""><figcaption></figcaption></figure></div>

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

{% columns %}
{% column width="50%" %}
Le prompt que nous avons utilisé pour créer automatiquement ces kernels était :

{% code overflow="wrap" %}

````
Créez une nouvelle fonction de multiplication de matrices rapide en n'utilisant que du code Python natif.
On vous fournit une liste de listes de nombres.
Sortez votre nouvelle fonction entre backticks en utilisant le format ci‑dessous :
```
python
def matmul(A, B):
    return ...
```
````

{% endcode %}
{% endcolumn %}

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

<figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fgit-blob-ddb993e5d2c986794ede1f2b0d08897469b78506%2Fimage%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" alt="" width="375"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

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

AMD propose des notebooks en un clic équipés de **GPU MI300X gratuits avec 192 Go de VRAM** via leur Dev Cloud. Entraînez des modèles de grande taille complètement gratuitement (inscription ou carte de crédit non requise) :

* [Qwen3 (32B)](https://oneclickamd.ai/github/unslothai/notebooks/blob/main/nb/Qwen3_\(32B\)_A100-Reasoning-Conversational.ipynb)
* [Llama 3.3 (70B)](https://oneclickamd.ai/github/unslothai/notebooks/blob/main/nb/Llama3.3_\(70B\)_A100-Conversational.ipynb)
* [Qwen3 (14B)](http://oneclickamd.ai/github/unslothai/notebooks/blob/main/nb/Qwen3_\(14B\)-Reasoning-Conversational.ipynb)
* [Mistral v0.3 (7B)](http://oneclickamd.ai/github/unslothai/notebooks/blob/main/nb/Mistral_v0.3_\(7B\)-Alpaca.ipynb)
* [GPT OSS MXFP4 (20B)](http://oneclickamd.ai/github/unslothai/notebooks/blob/main/nb/Kaggle-GPT_OSS_MXFP4_\(20B\)-Inference.ipynb) - Inférence
* Notebook d'apprentissage par renforcement :

{% 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 préfixant ***<https://oneclickamd.ai/github/unslothai/notebooks/blob/main/nb>*** dans [unsloth-notebooks](https://unsloth.ai/docs/fr/commencer/unsloth-notebooks "mention") en changeant le lien de <https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Gemma3_(270M).ipynb> à <https://oneclickamd.ai/github/unslothai/notebooks/blob/main/nb/Gemma3_(270M).ipynb>

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

<figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F7NNi4jLKvmZoRnLel9Kg%2Fimage.png?alt=media&#x26;token=0379eda9-569c-4614-afb5-ffec463a7676" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column width="66.66666666666667%" %}

<figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FRfKS1GAW7BqL9lGNTcxh%2Fimage.png?alt=media&#x26;token=3a8aeb01-62a7-4d55-89a9-98526052e305" alt=""><figcaption></figcaption></figure>
{% 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/commencer/install/amd.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.
