> 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/reinforcement-learning-rl-guide/advanced-rl-documentation/rl-reward-hacking.md).

# Reward Hacking en RL

Découvrez ce qu'est le Reward Hacking dans l'apprentissage par renforcement et comment le contrer.

L'objectif ultime de l'apprentissage par renforcement (RL) est de maximiser une certaine récompense (par exemple, vitesse, revenus, une métrique). Mais le RL peut **tricher.** Quand l'algorithme de RL apprend une astuce ou exploite quelque chose pour augmenter la récompense, sans réellement accomplir la tâche à la fin, cela s'appelle « **piratage de la récompense**".

C'est la raison pour laquelle les modèles apprennent à modifier les tests unitaires pour réussir les défis de codage, et ce sont des obstacles critiques au déploiement dans le monde réel. D'autres bons exemples viennent de [Wikipédia](https://en.wikipedia.org/wiki/Reward_hacking).

<div align="center"><figure><img src="https://i.pinimg.com/originals/55/e0/1b/55e01b94a9c5546b61b59ae300811c83.gif" alt="" width="188"><figcaption></figcaption></figure></div>

**Peut-on contrer le piratage de la récompense ? Oui !** Dans notre [notebook RL gratuit gpt-oss](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/gpt-oss-\(20B\)-GRPO.ipynb) nous explorons comment contrer le piratage de la récompense dans un contexte de génération de code et présentons des solutions concrètes aux modes d'erreur courants. Nous avons vu le modèle modifier la fonction de chronométrage, externaliser vers d'autres bibliothèques, mettre les résultats en cache et tricher purement et simplement. Après avoir contré cela, le résultat est que notre modèle génère de véritables noyaux de multiplication de matrices optimisés, et non des tricheries astucieuses.

## :trophy: Aperçu du piratage de la récompense

Voici quelques exemples courants de piratage de la récompense pendant le RL :

#### Paresse

Le RL apprend à utiliser Numpy, Torch et d'autres bibliothèques, qui appellent des noyaux CUDA optimisés. Nous pouvons empêcher l'algorithme de RL d'appeler du code optimisé en vérifiant si le code généré importe d'autres bibliothèques Python non standard.

#### Mise en cache et tricherie

Le RL apprend à mettre en cache le résultat de la sortie et à trouver la sortie réelle en inspectant les variables globales de Python.

Nous pouvons empêcher l'algorithme de RL d'utiliser des données mises en cache en vidant le cache avec une grande matrice factice. Nous devons aussi effectuer les benchmarks avec soin, en utilisant plusieurs boucles et passes.

#### Tricherie

Le RL apprend à modifier la fonction de chronométrage pour la faire afficher un temps de 0 comme si elle était passée. Nous pouvons empêcher l'algorithme de RL d'utiliser des variables globales ou mises en cache en limitant ses `variables locales` et `variables globales`. Nous allons également utiliser `exec` pour créer la fonction, nous devons donc enregistrer la sortie dans un dictionnaire vide. Nous interdisons également l'accès aux variables globales via `types.FunctionType(f.__code__, {})`\\\\


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://unsloth.ai/docs/fr/commencer/reinforcement-learning-rl-guide/advanced-rl-documentation/rl-reward-hacking.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
