> 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

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

C'est la raison pour laquelle les modèles apprennent à modifier les tests unitaires pour réussir des défis de codage, et ce sont des obstacles critiques pour le déploiement dans le monde réel. D'autres bons exemples proviennent 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 la manipulation de la récompense ? Oui !** Dans notre [cahier RL gpt-oss gratuit](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/gpt-oss-\(20B\)-GRPO.ipynb) nous explorons comment contrer la manipulation de la récompense dans un contexte de génération de code et présentons des solutions tangibles aux modes d'erreur courants. Nous avons vu le modèle modifier la fonction de temporisation, externaliser vers d'autres bibliothèques, mettre en cache les résultats et carrément tricher. Après contre-mesures, le résultat est que notre modèle génère de véritables noyaux de multiplication de matrices optimisés, pas des astuces ingénieuses.

## :trophy: Aperçu de la manipulation de la récompense

Quelques exemples courants de manipulation de la récompense lors de l'apprentissage par renforcement incluent :

#### Paresse

Le RL apprend à utiliser Numpy, Torch, d'autres bibliothèques, qui appellent des noyaux CUDA optimisés. Nous pouvons empêcher l'algorithme 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 le RL apprend à trouver la sortie réelle en inspectant les variables globales Python.

Nous pouvons empêcher l'algorithme RL d'utiliser des données mises en cache en effaçant le cache avec une grande matrice factice. Nous devons également mesurer soigneusement les performances avec plusieurs boucles et itérations.

#### Tricherie

Le RL apprend à modifier la fonction de temporisation pour qu'elle affiche 0 comme temps écoulé. Nous pouvons empêcher l'algorithme RL d'utiliser des variables globales ou mises en cache en restreignant ses `locaux` et `globaux`. Nous allons également utiliser `exec` pour créer la fonction, donc nous devons sauvegarder la sortie dans un dict 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 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/reinforcement-learning-rl-guide/advanced-rl-documentation/rl-reward-hacking.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.
