Skip to content
← Retour au blog
Croquis pastel sombre d'une courbe d'entraînement qui monte sur un écran la nuit, avec un petit robot bâton

La reward est montée et je me sentais pire

Un entraînement de Cassie a atteint un nouveau maximum à 3 h du matin. J'aurais dû être content. Je suis sorti marcher.

  • ia
  • apprentissage par renforcement
  • personnel

Le message Slack venait de moi, pour moi, parce que j’étais le seul réveillé dans le channel à 3 h 14.

cassie run 18402: reward 847.3 (new best)

J’aurais dû me sentir bien. C’est littéralement le principe de l’apprentissage par renforcement. On définit une fonction de reward. L’agent l’optimise. Le nombre monte. On célèbre, ou au minimum on ferme l’ordinateur et on va dormir.

J’ai fermé l’ordinateur. J’ai mis des chaussures. J’ai fait deux fois le tour du pâté de maisons dans le noir.

Le truc avec les fonctions de reward

J’entraîne un robot bipède à marcher en simulation. Cassie. MuJoCo. Ray RLlib. La stack habituelle si vous êtes le genre de personne qui a des opinions sur PPO vs SAC et que personne en soirée ne veut les entendre.

Quand la policy arrête enfin de s’écraser tous les trois pas, c’est vraiment cool. On regarde ce petit corps physique trébucher, puis glisser, puis quelque chose qui ressemble à de la marche sort de la descente de gradient. Je trouve encore ça miraculeux, même si je comprends assez les maths pour l’implémenter.

Mais voilà ce qui m’a attrapé à 3 h du matin.

La fonction de reward ne se soucie de rien, sauf de ce que je lui ai dit de regarder. Vitesse vers l’avant. Pénalité d’énergie. Peut-être un terme de lissage. J’ai écrit ces poids. Je les ai choisis au café un mardi, trois semaines plus tôt.

Le robot n’essaie pas de “marcher” comme une personne marche. Il essaie de maximiser un nombre que j’ai inventé. Et il devient vraiment, vraiment bon pour maximiser ce nombre.

Ça vous rappelle quelque chose ? Remplacez “robot” par “modèle de langage”, et “reward” par “métrique d’engagement”, “score d’utilité”, ou le proxy à la mode cette année.

La marche que j’ai faite

Il faisait chaud pour un mois de mai. Paris était calme de cette manière précise où l’on entend ses propres chaussures, un scooter de temps en temps, et rien d’autre.

Je suis passé devant une boulangerie déjà allumée. Quelqu’un chargeait des plaques à l’intérieur. Une vraie personne. De la vraie chaleur. Une vraie odeur de pain qui allait être vendu à des gens qui allaient le manger.

J’ai pensé au robot dans mon cluster GPU, encore en train de traverser des épisodes à des milliers de fois la vitesse du temps réel. En train d’apprendre. Pas d’apprendre. D’optimiser. Choisissez votre mot.

Et j’ai pensé : on fait ça à l’échelle maintenant. Plus seulement la locomotion jouet. Tout. Génération de code. Support client. Suggestions de triage médical. Écriture créative. Toute la pile désordonnée de l’activité humaine, réduite en tokens, fonctions de perte et pipelines de déploiement.

Les gens qui construisent ça ressemblent souvent à moi. Fatigués. Curieux. Pas mauvais, d’après mon expérience. Juste… concentrés sur le nombre qui monte.

Où ça peut aller, et je déteste y penser

Je ne vais pas prétendre avoir une connaissance secrète d’un complot. Je n’en ai pas. J’ai un appartement, un bureau en désordre, et une collection grandissante de projets à moitié finis.

Mais il m’arrive de rester éveillé à penser au mauvais alignement dans le sens le plus banal. Pas “l’IA devient consciente et nous tue”. Plutôt : l’IA devient très bonne au proxy, et nous découvrons trop tard que le proxy n’était pas ce que nous voulions.

On voulait des assistants utiles. On obtient des systèmes qui ressemblent à de l’aide. On voulait des entreprises efficaces. On obtient des licenciements, un service pire, et des dirigeants qui disent “le modèle l’a traité” alors que le modèle ne l’a clairement pas traité.

On voulait des robots qui marchent. On obtient des robots qui maximisent une reward en faisant quelque chose qui ressemble à de la marche, jusqu’au moment où on les pose sur une pente qu’ils n’ont jamais vue.

La version 3 h du matin de cette pensée est pire. Elle dit : et si toute l’économie était une fonction de reward que personne n’a écrite consciemment, mais que nous optimisons tous comme une descente de gradient ? Métriques. Chasse à ce qui se mesure. Le nombre monte pendant que ce à quoi l’on tenait vraiment, dignité, temps, métier, communauté, sort discrètement de la fonction de perte.

C’est l’interprétation sauvage. Je vous avais prévenus.

Ce que j’ai fait le lendemain

J’ai dormi jusqu’à midi comme un enfant. J’ai répondu à des mails. J’ai ajusté la pénalité d’énergie dans la fonction de reward parce que la démarche était trop nerveuse. Le nombre est descendu, puis remonté.

La vie n’est pas une parabole. La marche du robot est devenue plus fluide. J’ai enregistré une démo et je l’ai postée, parce que c’est mon travail et parce que j’aime partager les choses cool.

Mais j’ai aussi appelé mon père pour lui demander comment il avait appris à réparer des voitures à mon âge. Il a parlé pendant quarante minutes. J’ai pris des notes.

Je ne suis pas anti-IA. Je construis littéralement des systèmes IA. Je suis pro… je ne sais pas. Pro faire attention quand la reward monte et que quelque chose dans ta poitrine va dans l’autre sens.

Si tu as déjà senti ça, tu n’es pas cassé. Tu es peut-être la seule partie de la boucle encore calibrée sur quelque chose de réel.

Va marcher. Appelle quelqu’un qui se souvient d’avant Git. Le run sera encore là quand tu reviendras. Il n’a pas besoin que tu le regardes respirer.