Apprentissage par l'expérience concrète
Post-entraînement d'un modèle Perplexity Computer pour imiter les comportements réussis, réduire les corrections et éviter les erreurs.
La manière dont les utilisateurs interagissent avec nos produits dans le monde réel constitue une source précieuse pour l'entraînement des modèles. Les données sont abondantes, reflètent la distribution réelle des tâches des utilisateurs et capturent les corrections des utilisateurs ainsi que les pannes d'outils que les environnements synthétiques peuvent manquer.
Une méthode courante pour apprendre à partir de données du monde réel est l'affinage par échantillonnage par rejet : évaluer le résultat de chaque session, conserver les réussies et entraîner le modèle à les imiter. Mais un résultat positif ne signifie pas que chaque étape était correcte ; imiter toute la trajectoire risque donc de renforcer de mauvais comportements intermédiaires en plus des bons. Éliminer les sessions infructueuses fait également perdre des preuves cruciales quant aux points où le modèle pèche.
Nous associons le réglage fin par échantillonnage de rejet à l'autodistillation guidée par des indices pour apprendre des sessions réussies comme infructueuses. Un indice est une courte instruction corrective fondée sur des informations que le modèle possédait déjà lorsqu'il a commis l'erreur. Les étapes utiles des sessions réussies restent des cibles d'imitation, tandis que les indices ancrés transforment les erreurs évitables en cibles de correction.
Les corrections d'utilisateurs et les erreurs d'outils ajoutent une supervision quant à ce qui a mal tourné en chemin, en plus de déterminer si la tâche a finalement réussi. Nous appliquons cette étape après l'apprentissage par renforcement dans des environnements synthétiques pour aider à combler l'écart entre ces environnements et l'utilisation réelle.
En utilisation réelle, un point de contrôle post-entraîné ultérieur de GLM-5.2 a réduit les échecs d'appels d'outils de 21,2 % par rapport à un point de contrôle entraîné plus tôt. Pour GLM-5.3, le post-entraînement a réduit les échecs d'appels d'outils de 33,0 % et la probabilité moyenne estimée d'insatisfaction moyenne ou élevée de l'utilisateur de 17,2 % par rapport au modèle standard.
Des données synthétiques aux données du monde réel
Les tâches synthétiques permettent de créer des problèmes contrôlés dont les résultats sont faciles à vérifier, mais elles se limitent généralement à une seule instruction et ne peuvent couvrir que les scénarios que nous concevons explicitement.
En revanche, dans les sessions du monde réel, les utilisateurs apportent des instructions, des contextes et des combinaisons d'outils divers au sein de sessions qui se déroulent sur plusieurs tours d'interaction. Une telle utilisation réelle génère naturellement deux précieux signaux d'erreurs : les corrections des utilisateurs révèlent là où l'agent a manqué de fournir ce qu'ils attendaient, et les erreurs d'outils montrent là où ses actions ont échoué dans de véritables environnements. Notre pipeline d'échantillonnage respecte la vie privée des utilisateurs et leurs choix en matière d'entraînement en excluant les sessions contenant des informations personnelles identifiables (PII) ainsi que celles provenant d'utilisateurs ayant opté pour le refus.
Les données du monde réel nous fournissent par conséquent des cas d'échec qu'un environnement synthétique peut ne pas exposer et intègrent souvent déjà le lieu où l'échec s'est produit.
Imiter les bonnes étapes, corriger les mauvaises
Lors de l'entraînement sur des données du monde réel, l'affinage par échantillonnage par rejet (RFT) standard sélectionne les sessions réussies en fonction de leurs résultats finaux, sans utiliser explicitement les retours des utilisateurs et des outils pour distinguer les bonnes actions intermédiaires des mauvaises. Un agent peut se rétablir après un mauvais appel d'outil ou corriger une erreur à la suite de retours d'utilisateurs tout en fournissant le bon résultat à la fin.
L'élimination des sessions échouées limite également l'efficacité des échantillons. Une session qui n'aboutit pas à un bon résultat peut néanmoins révéler une erreur claire et évitable constituant un signal d'entraînement utile.
Nous répondons à ces limitations en séparant deux décisions : quelles sessions contiennent un comportement digne d'être imité, et quels tours contiennent des erreurs dignes d'être corrigées. Le pipeline de données prend ces décisions séparément, puis attribue aux tours du modèle l'un des trois traitements suivants :
- Imiter : les tours sans erreur dans les sessions réussies reçoivent une perte d'entropie croisée (CE) classique, ce qui augmente la probabilité des jetons enregistrés.
- Correct : dans les sessions réussies comme infructueuses, les tours d'erreurs dotés d'un indice valide reçoivent une perte de divergence de Kullback–Leibler (KL), incitant le modèle à tendre vers les prédictions de jeton suivant qu'il émet lorsqu'il aperçoit l'indice.
- Conserver comme contexte : les tours dans les sessions infructueuses qui manquent d'un indice validé, et les tours marqués comme erronés sans indice validé dans l'un ou l'autre type de session, servent de contexte mais ne reçoivent aucune des deux pertes.
Par conséquent, les sessions réussies peuvent fournir à la fois des cibles d'imitation et de correction, tandis que les sessions infructueuses ne fournissent que des cibles de correction. Tous les tours restants, y compris les sorties système, utilisateur et d'outils, restent au stade de contexte.
La partie d'imitation utilise le RFT standard. La partie corrective utilise l'On-Policy Self-Distillation (OPSD) : le même modèle agit à la fois comme professeur et comme élève, le professeur disposant d'informations privilégiées. Ici, cette information privilégiée est un court indice expliquant une erreur évitable. Nous entrînons l'élève à reproduire les prédictions du jeton suivant du professeur sans qu'on lui communique l'indice.
Les deux parties ont leur importance. L'entraînement basé uniquement sur la correction peut exposer un raccourci : le professeur et l'élève peuvent se mettre d'accord en ignorant le contexte au lieu d'apprendre la correction. Le terme CE ancre l'entraînement sur un comportement utile, ce qui aide à décourager un accord découlant de l'ignorance du contexte.
L'élève post-entraîné devient alors une option de modèle dans Computer. Les nouvelles sessions issues de l'utilisation en direct passent par les mêmes filtres d'éligibilité et de confidentialité avant d'entrer dans un nouveau cycle du pipeline d'entraînement.
Un exemple : une seule session peut enseigner les deux leçons
Ensuite, nous explorons un exemple concret qui intègre à la fois l'imitation et la correction.
Considérons une session finale réussie où l'utilisateur demande une comparaison des modifications d'asyncio dans Python 3.13 à l'aide de la documentation officielle. Notre documentation d'outils indique que search.web renvoie une liste de résultats, chacun comportant un champ url.
Le modèle effectue d'abord une recherche valide pour une version dans le cadre de la collecte de preuves pour la comparaison, ce qui constitue un bon comportement à imiter.
Cependant, l'appel d'exécution de code suivant traite incorrectement cette liste comme un dictionnaire. L'outil de code renvoie TypeError: list indices must be integers or slices, not str. Le type de retour ayant été documenté avant l'appel, il s'agit d'une erreur que le modèle aurait dû être capable d'éviter. Un indice contenant le bon appel peut être généré pour corriger cette action.
Fonctionnement de l'entraînement
Le pipeline d'entraînement comporte quatre étapes : sélectionner les sessions et juger leurs résultats, identifier les erreurs et créer des indices à partir des retours d'utilisateurs et des erreurs d'outils, générer des probabilités de jeton suivant à la fois à partir du professeur et de l'élève, et entraîner le modèle avec une perte combinée CE et KL.
Sélectionner des sessions, puis juger le résultat
Le pipeline d’échantillonnage s’appuie sur un sous-ensemble éligible à l’entraînement de sessions Computer réelles servies par GLM 5.2. Les exclusions liées au refus d’entraînement et à la PII du pipeline sont appliquées avant la sélection des exemples pour ce flux de travail.
Le processus de sélection initiale retient les candidats notés 4 ou 5 sur une échelle de difficulté de tâche à cinq points par un juge LLM et les répartit en 2 groupes :
- Le groupe de retours d'utilisateurs contient des sessions comportant une relance authentique de l'utilisateur ou un signal d'insatisfaction moyen à élevé. Nous constatons que ces relances à forte intention sont particulièrement utiles pour l'apprentissage : les utilisateurs essaient activement d'accomplir une tâche, et leurs corrections ciblent précisément ce que le modèle a manqué.
- Le groupe d'erreurs d'outils contient des sessions présentant des appels échoués signalés par des vérifications basées sur des règles, à l'exclusion des pannes d'infrastructure reconnues et des autorisations refusées.
Deux juges LLM évaluent ensuite le résultat final par rapport à la demande de l'utilisateur ; les deux juges doivent émettre un verdict positif pour qualifier la session de « réussie ». Pour les cas qui génèrent des Artifacts, l'étape de résultat peut reconstruire et inspecter la livraison, en se rabattant sur ses jugements textuels en cas d'échec de cette étape. Les sessions classées comme incomplètes, telles que le travail en attente de l'utilisateur, sont exclues.
Cette étape identifie les sources potentielles de signaux d'apprentissage ; cependant, toutes les erreurs ne sont pas imputables au modèle, certaines découlant d'instructions ambigües ou de défaillances de l'infrastructure. Une annotation ultérieure détermine quelles erreurs candidates sont réellement évitables et adaptées à l'entraînement.
Trouver les erreurs à partir des retours d'utilisateurs
Considérons un exemple de session dans le groupe de retours d'utilisateurs, où l'utilisateur demande : « How do I find my w3 on paychex ». Le modèle traite « w3 » comme une faute de frappe pour W-2, recherche les instructions relatives au W-2 et explique comment trouver ce formulaire. La relance de l'utilisateur, « I meant the W-3 transmittal form », identifie l'erreur, même si la session finit par réussir.
La plainte aide à localiser l'erreur, mais la cause fondamentale est la décision initiale de réinterpréter « w3 » en W-2. La requête d'origine rend l'erreur évitable : le modèle aurait pu préserver W-3 ou demander des éclaircissements. Il s'avère que le dernier tour de l'assistant précédant la plainte n'est la cause fondamentale qu'environ la moitié du temps.
Notre pipeline d'annotation met en correspondance la cause et l'effet de manière systématique au sein de chaque session de retours d'utilisateurs. L'annotateur recherche d'abord une exigence manquée ou une intention soutenue par le contexte précédent. Trois juges LLM identifient ensuite les tours responsables, exigeant qu'au moins deux d'entre eux s'accordent sur un tour donné. Parfois, une déclaration antérieure établit explicitement l'exigence. Dans d'autres cas, aucune déclaration préalable isolée ne le fait, mais plusieurs éléments de la conversation précédente rendent collectivement le comportement intentionnel déductible. Cette conception leur permet de relier une plainte à une erreur fondamentale antérieure au lieu de l'attribuer uniquement à la dernière réponse.
Avant d'accepter un indice, le pipeline vérifie également que ses allégations correctives découlent d'informations disponibles avant le tour marqué. Ces vérifications visent à réduire le biais de rétrospection, par lequel une nouvelle préférence révélée dans la plainte est traitée comme quelque chose que le modèle aurait déjà dû savoir.
Dans cet exemple, l'indice indique au modèle de rechercher le formulaire de transmission W-3 sur Paychex plutôt que le W-2, ou de demander quel formulaire l'utilisateur désigne si la requête est ambigüe. La correction cible l'interprétation antérieure et la décision de recherche, et pas seulement la réponse finale. Le tour d'origine demeure inchangé ; l'annotation ajoute is_bad_turn: true et un hint non vide.
Trouver les erreurs à partir des erreurs d'outils
Considérons une autre session du groupe d'erreurs d'outils comportant un appel de recherche où l'agent effectue une recherche avec recency_filter: "year", mais où l'outil la rejette car les valeurs autorisées sont « day », « week » ou « month ». Il s'agit d'une violation manifeste du schéma.
Le chemin d'erreur d'outil utilise des règles déterministes pour les erreurs connues et le jugement du modèle pour les cas ambigües. Un message d'erreur seul ne suffit pas non plus pour incriminer le modèle ; une correction évaluée doit pointer vers un élément que le modèle aurait pu connaître d'après le schéma de l'outil, les instructions système ou la conversation précédente.
Ici, l'indice nomme l'appel échoué, inclut l'erreur de validation et demande au modèle d'utiliser une valeur autorisée ou d'omettre le champ s'il est facultatif.
Deux passes avant (forward passes)
Une fois un tour marqué, le système d'entraînement exécute le même point de contrôle deux fois : une première fois en tant que professeur, et une seconde en tant qu'élève. Le professeur voit l'indice ; l'élève ne le voit pas.
Les deux passes utilisent le forcing de professeur (teacher forcing), où nous fournissons au modèle la session enregistrée au lieu de le laisser choisir de nouveaux tours. La passe avant produit toujours une distribution complète du jeton suivant à chaque étape, mais elle est toujours conditionnée par le préfixe fixe de l'enregistrement, et non par les jetons de déploiement.
Pour l'exemple de recherche, le même modèle attribue une probabilité beaucoup plus élevée à « month » et moins à « year » lorsqu'il reçoit l'indice. L'entraînement utilise ce décalage distributionnel comme cible souple.
Les prédictions du professeur sont détachées, ou à gradient stoppé (stop-gradient) : elles fournissent une cible mais ne reçoivent pas de mise à jour via la passe du professeur. Après la passe de l'élève, une étape d'optimisation met à jour le modèle partagé.
La fonction de perte
La perte CE
La perte CE traite les jetons enregistrés sélectionnés pour l'imitation comme des cibles de vérité terrain (ground-truth) et pénalise le modèle lorsqu'il leur attribue de faibles probabilités. Cela crée une cible d'imitation stricte.
À la position de jeton , soit la probabilité par l'élève du jeton dans tout le vocabulaire . Le jeton suivant enregistré dans la réponse ou l'appel d'outil est , la distribution cible one-hot est .
L'entropie croisée mesure la capacité de l'élève à prédire ce jeton enregistré. Avec une cible one-hot, elle se réduit à la log-probabilité négative attribuée à .
Le masque CE vaut là où le jeton doit être imité et sinon. La somme sur les positions sélectionnées donne la perte d'imitation.
Perte KL
La perte KL utilise plutôt la distribution de probabilité complète du jeton suivant du professeur comme cible de correction souple. Le contexte du professeur comprend l'indice actuel et tout indice précédent conservé dans ce segment d'entraînement ; le contexte de l'élève est toujours dépourvu d'indice.
Le masque KL vaut là où le jeton doit être corrigé et sinon ; les masques CE et KL ne se chevauchent pas. À ces positions, la divergence KL avant pénalise le désaccord entre le professeur et l'élève sur l'ensemble du vocabulaire :
Perte combinée
Les deux termes partagent un dénominateur unique plutôt que d'être normalisés séparément. Ce dénominateur compte le nombre total de jetons sélectionnés pour l'imitation dans l'ensemble du lot d'entraînement global. Le poids contrôle la contribution de l'entraînement correctif par rapport à l'imitation.
Cette normalisation partagée s'adapte à l'interface à dénominateur unique de notre infrastructure d'entraînement et rétablit la perte SFT standard lorsque , ce qui simplifie les comparaisons de référence. Les jetons CE étant beaucoup plus abondants que les jetons KL, l'utilisation d'un dénominateur partagé évite également d'attribuer des poids anormalement élevés aux jetons KL individuels dans les lots comportant peu de jetons marqués.
Appliqués aux exemples précédents, les tours contenant le mélange W-3/W-2 et l'appel de recherche invalide reçoivent la perte KL. Tout autre contenu d'assistant non marqué dans une session réussie reçoit toujours la perte CE. Tout autre contenu d'assistant dans une session infructueuse est conservé comme contexte mais ne reçoit ni CE ni KL.
Ce que montrent les évaluations
Nos évaluations répondent à deux questions distinctes. Premièrement, un indice aide-t-il réellement le modèle à corriger une erreur lorsqu'il est présent ? Deuxièmement, l'entraînement aide-t-il le modèle à éviter cette erreur par la suite, sans l'indice ? La première teste si les indices fournissent des signaux d'entraînement utiles. La seconde teste si le modèle en tire des enseignements.
Les indices peuvent écarter le modèle des erreurs
Nous testons la première question avant le lancement de l'entraînement pour nous assurer que les indices peuvent effectivement écarter le modèle des erreurs.
Retours d'utilisateurs
Nous avons régénéré les tours de retours d'utilisateurs marqués avec et sans indice, en utilisant le même modèle de base GLM-5.2 à température zéro. Un juge à l'aveugle voit la plainte ultérieure, mais ni l'indice ni la condition ayant produit la réponse.
Dans l'exemple W-3, l'indice déplace la probabilité du jeton suivant vers « 3 » et l'éloigne de « 2 » après le préfixe « W- ».
Sur un échantillon retenu plus important de 40 tours étayé par des preuves antérieures explicitement formulées, la proportion jugée corrigée ou sur la bonne voie passe de 40,0 % sans indice à 75,0 % avec un indice. Sur 40 autres tours étayés par une intention déduite, elle passe de 32,5 % à 80,0 %.
Erreurs d'outils
Dans l'exemple d'erreur d'outil de recherche, un indice déplace effectivement la masse de probabilité du jeton year vers le jeton month.
Sur un échantillon retenu plus vaste de 985 tours, nous régénérons chaque tour quatre fois avec et sans indice en utilisant le même modèle de base. Un juge à l'aveugle évalue si chaque régénération évite l'échec initial. Les indices augmentent la prévention des échecs de 75,1 % à 93,7 %, soit un gain apparenté de 18,6 points de pourcentage, et augmentent la proportion d'actions corrigées de 60,6 % à 82,3 %. Les gains sont les plus importants sur les erreurs que l'échantillonnage répété seul peine à corriger.
Fiabilité des outils et retours des utilisateurs après l'entraînement
Nous testons ensuite si le modèle entraîné commet moins d’erreurs sans recevoir d’indications. Nous évaluons le modèle standard et divers points de contrôle post-entraînement sur des tâches de benchmark hors ligne et dans des sessions utilisateur en direct, en vérifiant qu’il y a moins d’échecs d’outils et moins d’insatisfaction utilisateur.
Évaluation hors ligne
L'évaluation hors ligne utilise BrowseComp, Finch, WideSearch, DRACO, DSQA, SpreadsheetBench, HLE, un ensemble de tâches Computer représentatif, et vérifie le chargement de compétences (Skills), la révision de documents et les citations en ligne. Nous mesurons la proportion d'appels d'outils dont les résultats sont explicitement signalés comme des erreurs parmi les trajectoires d'évaluation.
Dans ces évaluations, le taux d'erreurs d'outils enregistré était de 2,79 % pour le GLM 5.2 standard, de 1,35 % pour le point de contrôle RFT seul et de 0,87 % pour le point de contrôle RFT-plus-OPSD. Ces points de contrôle ont été entraînés sur des données différentes, il ne s'agit donc pas d'une ablation à données appariées de l'OPSD. Les résultats des benchmarks au niveau des tâches étant mitigés, une baisse des erreurs d'outils ne se traduit pas nécessairement par une amélioration globale de la réussite des tâches.
Évaluation en ligne : GLM-5.2
Pour GLM-5.2, nous avons mené deux tests A/B distincts auprès d'environ cent mille utilisateurs dans chaque condition. Dans le premier, un point de contrôle précoce RFT-plus-OPSD présentait un taux d'échec d'outils légèrement inférieur à celui du modèle de base GLM 5.2 (2,82 % contre 2,94 %), mais la différence n'était pas statistiquement significative.
Dans le test ultérieur, nous avons comparé deux points de contrôle RFT-plus-OPSD : un plus ancien (point de contrôle un) et un plus récent (point de contrôle deux). Les échecs d'appels d'outils sont passés de 2,24 % à 1,77 % des appels ayant un statut enregistré. Il s'agit d'une réduction relative statistiquement significative de 21,2 %. Nous n'avons pas comparé directement le point de contrôle deux avec le GLM 5.2 standard en ligne.
Les résultats des retours utilisateurs se sont révélés moins concluants. Dans la deuxième expérience GLM-5.2, la probabilité moyenne de forte insatisfaction (moyenne ou élevée) était de 2,58 % pour le premier point de contrôle et de 2,54 % pour le second, sans différence statistiquement significative.
Évaluation en ligne : GLM-5.3
Pour GLM-5.3, nous avons comparé un point de contrôle post-entraîné directement avec le modèle standard GLM-5.3. Les échecs d'appels d'outils sont passés de 3,56 % à 2,38 % des appels avec un statut enregistré, soit une réduction relative de 33,04 %. Le taux MID+, qui correspond à la probabilité moyenne estimée d'une insatisfaction moyenne ou élevée, est passé de 4,12 % à 3,41 %, soit une réduction relative de 17,2 %. Ces deux réductions sont statistiquement significatives.
Conclusion
L'idée centrale est d'apprendre au niveau de la décision, et pas seulement de la session.
Un résultat positif peut masquer des erreurs, et une session infructueuse peut tout de même révéler comment s'améliorer. Nous conservons le comportement utile des sessions réussies comme point d'ancrage, utilisons les plaintes et les erreurs d'outils pour identifier les échecs évitables, et entraînons le modèle vers les prédictions qu'il formule lorsque ces erreurs et corrections sont explicitées. Le succès fournit un comportement à préserver ; l'échec fournit une orientation pour l'amélioration.
L'utilisation en direct rend cette approche particulièrement utile. Les utilisateurs réels apportent des objectifs, des contraintes et des flux de travail qu'il est difficile d'anticiper dans un environnement synthétique. Leurs corrections révèlent des exigences que le modèle a manquées, tandis que les erreurs d'outils exposent les écarts entre ce que le modèle a tenté et ce que l'environnement autorise. Ces signaux complètent l'entraînement axé sur les résultats : au lieu de se demander seulement si une tâche a réussi, nous pouvons chercher où le modèle s'est trompé et quelles informations auraient pu l'aider à prendre une meilleure décision.
Les limites sont tout aussi importantes. Les évaluateurs peuvent se tromper, et corriger un tour ne garantit pas la réussite de l'ensemble de la tâche. L'objectif n'est pas simplement d'obtenir un agent qui récupère après une correction, mais un agent qui a besoin de corrections moins souvent.
Citation
@online{perplexity2026LearningFromRealWorldExperience,
author = {{Perplexity} and Senzeyu Zhang and Chuan Wang and Hang Wu and Hao Zhang and Yuan Liang and Yunfan Zhong and Phi Hoang and Claire Beamer and Jeremy Yang and Andrew Wilson and Denis Yarats},
title = {{Learning from real-world experience}},
date = {2026-09-21},
url = {https://www.perplexity.ai/hub/blog/learning-from-real-world-experience}
}