Un bon enseignant rejoint l’élève là où il en est

Une nouvelle méthode d’autodistillation qui entraîne conjointement l’enseignant et l’élève afin d’améliorer la performance des modèles et l’efficacité de l’entraînement sur les tâches de raisonnement complexes et les tâches agentiques.

AuteursPerplexity Research & NVIDIA

Introduction

L’apprentissage par renforcement (AR) est largement utilisé lors du post-entraînement des modèles de langage pour améliorer leurs capacités sur les tâches de raisonnement complexes et les tâches agentiques à long horizon.

Dans une configuration typique, le modèle effectue des tentatives répétées sur une tâche, reçoit une récompense de résultat pour chacune et apprend à favoriser les actions prises lors des tentatives les mieux récompensées. Cependant, une récompense de résultat unique fournit un signal d’apprentissage épars qui ne permet pas de distinguer quelles actions intermédiaires ont contribué au résultat ou lui ont nui. Cette rareté du signal limite l’efficacité d’échantillonnage, en particulier sur les tâches agentiques difficiles, où les tentatives sont longues et les réussites, rares.

Une approche populaire pour pallier cette rareté est la distillation sur politique (OPD, On-Policy Distillation), qui utilise un modèle enseignant plus performant pour guider jeton par jeton les propres tentatives de l’élève, fournissant ainsi des récompenses beaucoup plus denses. Cependant, enseigner est une compétence en soi. Un modèle qui excelle à résoudre une tâche n’est pas nécessairement doué pour l’enseigner, car sa rétroaction peut dépasser les capacités actuelles de l’élève. Cela justifie d’entraîner non seulement l’élève à imiter l’enseignant, mais aussi l’enseignant à fournir à l’élève des conseils mieux adaptés.

Nous proposons une telle méthode : l’apprentissage et enseignement conjoints sur politique (JOLT, Joint On-policy Learning and Teaching). En nous appuyant sur l’autodistillation sur politique (OPSD, On-Policy Self-Distillation), nous utilisons un seul modèle dans deux rôles : un enseignant ayant accès à de l’information privilégiée, comme des solutions vérifiées, et un élève qui n’y a pas accès. Nous entraînons les deux rôles conjointement. L’élève suit l’objectif de distillation standard. L’objectif de l’enseignant pousse sa rétroaction à faire évoluer l’élève dans la même direction que l’AR sur la propre récompense de l’élève. Ensemble, ces objectifs entraînent l’enseignant à rejoindre l’élève là où il en est et aident l’élève à apprendre à partir de conseils à sa portée.

Nos expériences démontrent des améliorations, tant sur le plan de la performance du modèle que de l’efficacité de l’entraînement, dans un éventail de tâches de raisonnement mathématique, de programmation et de tâches agentiques.

Des récompenses éparses à une rétroaction dense

Dans sa forme la plus simple, l’AR avec récompense de résultat utilise l’objectif de rendement espéré :

JRL(θ)=Eτ∼πθ[R(τ)]\mathcal{J}_{\mathrm{RL}}(\theta) = \mathbb{E}_{\tau\sim\pi_\theta}\left[R(\tau)\right]

Ici, τ\tau est une trajectoire suivant une politique πθ\pi_\theta, et R(τ)R(\tau) est le rendement de cette trajectoire. Le gradient de politique correspondant est :

gRL(θ)=∇θJRL(θ)=Eτ∼πθ[∑tR(τ) ∇θlog⁡πθ(at∣st)]g_{\mathrm{RL}}(\theta) = \nabla_\theta \mathcal{J}_{\mathrm{RL}}(\theta) = \mathbb{E}_{\tau\sim\pi_\theta}\left[\sum_t R(\tau)\,\nabla_\theta\log\pi_\theta(a_t\mid s_t)\right]

où sts_t et ata_t représentent respectivement l’état et l’action au pas de temps tt. Pour réduire la variance des estimations fondées sur des échantillons, le gradient est souvent exprimé ainsi :

gRL(θ)=Eτ∼πθ[∑tAπθ(st,at) ∇θlog⁡πθ(at∣st)]g_{\mathrm{RL}}(\theta) = \mathbb{E}_{\tau\sim\pi_\theta}\left[\sum_t A^{\pi_\theta}(s_t,a_t)\,\nabla_\theta\log\pi_\theta(a_t\mid s_t)\right]

où l’avantage Aπθ(st,at)A^{\pi_\theta}(s_t, a_t) mesure le rendement excédentaire espéré de l’action ata_t par rapport à la politique actuelle à l’état sts_t. Une approche, l’optimisation de politique relative au groupe (GRPO, Group Relative Policy Optimization), estime l’avantage en comparant le rendement de chaque trajectoire au rendement moyen du groupe échantillonné pour la même requête.

Cependant, même avec ces ajustements, l’apprentissage par renforcement avec récompense de résultat souffre d’une supervision éparse, en particulier sur les tâches difficiles à long horizon. Un nombre croissant de travaux s’attaquent à ce problème en puisant dans des sources d’information supplémentaires afin de fournir un signal d’apprentissage plus dense.

La distillation sur politique (OPD) est l’une de ces approches. Plutôt que d’apprendre uniquement à partir d’une récompense finale, OPD échantillonne des trajectoires de l’élève et évalue chaque action échantillonnée selon un enseignant plus performant. Pour une politique enseignante πT\pi_T et un instantané figé θˉ\bar{\theta} des paramètres de l’élève utilisé pour générer les trajectoires, le gradient local évalué en θ=θˉ\theta = \bar{\theta} est :

gOPD(θˉ;πT)=∇θJOPD(θ;θˉ,πT)∣θ=θˉ=−∇θEτ∼πθˉ ⁣[∑tKL ⁣(πθ(⋅∣st) ∥ πT(⋅∣st))]∣θ=θˉ=Eτ∼πθˉ[∑t(log⁡πT(at∣st)−log⁡πθˉ(at∣st)) ∇θˉlog⁡πθˉ(at∣st)]\begin{aligned}g_{\mathrm{OPD}}(\bar\theta;\pi_T) &= \left.\nabla_\theta \mathcal{J}_{\mathrm{OPD}}(\theta;\bar\theta,\pi_T)\right|_{\theta=\bar\theta}\\ &= -\left.\nabla_\theta \mathbb{E}_{\tau\sim\pi_{\bar\theta}}\!\left[\sum_t \mathrm{KL}\!\left(\pi_\theta(\cdot\mid s_t)\,\middle\|\,\pi_T(\cdot\mid s_t)\right)\right]\right|_{\theta=\bar\theta}\\ &= \mathbb{E}_{\tau\sim\pi_{\bar\theta}}\left[\sum_t \bigl(\log\pi_T(a_t\mid s_t)-\log\pi_{\bar\theta}(a_t\mid s_t)\bigr)\,\nabla_{\bar\theta}\log\pi_{\bar\theta}(a_t\mid s_t)\right]\end{aligned}

Ici, JOPD(θ;θˉ,πT)\mathcal{J}_{\mathrm{OPD}}(\theta;\bar\theta,\pi_T) est l’objectif de distillation par KL inverse négative. La politique enseignante et les préfixes échantillonnés sont maintenus fixes pendant la différentiation. Le rapport des log-probabilités entre l’enseignant et l’élève fournit un signal d’apprentissage dense à chaque état visité, remplaçant l’avantage comme pondération au niveau de l’action.

L’autodistillation sur politique (OPSD) élimine en outre le besoin d’un modèle enseignant distinct. La politique de l’élève joue elle-même le rôle d’enseignant lorsqu’elle dispose d’information privilégiée, comme une solution vérifiée, une rétroaction ou une trace de référence. Cependant, OPSD entraîne uniquement l’élève à imiter l’enseignant; aucun mécanisme ne garantit que l’enseignant fournit un signal utile à l’élève.

Apprentissage et enseignement conjoints sur politique

JOLT étend OPSD en entraînant un modèle partagé à la fois comme l’enseignant qui fournit des conseils mieux adaptés et comme l’élève qui apprend à partir de ces conseils. L’enseignant, mieux informé, apprend à partir des récompenses de résultat avec une régularisation KL vers l’élève, tandis que l’élève, sans accès privilégié, apprend à partir du signal de distillation dense de l’enseignant. La mise à jour de l’enseignant utilise des tentatives générées par l’enseignant, tandis que celle de l’élève utilise des tentatives générées par l’élève et évaluées par l’enseignant. JOLT+ complète en outre le signal de distillation de l’élève par des récompenses de résultat.

Une seule politique apprend à la fois comme enseignant et comme élève.

Entraîner l’enseignant

Définir ce que l’enseignant doit faire

Une meilleure performance de l’enseignant ne se traduit pas nécessairement par des mises à jour utiles pour l’élève. Un enseignant peut utiliser l’information privilégiée pour exploiter des raccourcis inaccessibles à l’élève, attribuer une probabilité élevée à des trajectoires peu probables pour l’élève, ou fournir des conseils peu fiables après des erreurs dans les préfixes générés par l’élève. La qualité de l’enseignant devrait donc être déterminée par le signal d’apprentissage fourni à l’élève, plutôt que par la récompense que l’enseignant obtient lui-même sur la tâche.

Nous disons qu’un enseignant est cohérent avec la récompense si la mise à jour par distillation qu’il induit chez l’élève correspond au gradient de politique de la récompense espérée de l’élève sur la tâche, à un facteur positif près. Plus précisément, un enseignant cohérent avec la récompense πT⋆\pi_T^\star doit satisfaire :

gOPD(θˉ;πT⋆)=1βT gRL(θˉ)g_{\mathrm{OPD}}(\bar\theta;\pi_T^\star) = \frac{1}{\beta_T}\,g_{\mathrm{RL}}(\bar\theta)

où βT\beta_T est un scalaire positif. Comme dans la section précédente, gOPDg_{\mathrm{OPD}} est le gradient local d’OPD, θˉ\bar\theta est un instantané figé des paramètres θ\theta du modèle élève, et gRLg_{\mathrm{RL}} est le gradient de politique de l’objectif de rendement espéré.

Un enseignant qui satisfait cette condition est :

πT⋆(a∣s,c)=1Z(s) πθˉ(a∣s)exp⁡ ⁣(1βTAπθˉ(s,a))\pi_T^\star(a\mid s,c) = \frac{1}{Z(s)}\,\pi_{\bar\theta}(a\mid s)\exp\!\left(\frac{1}{\beta_T}A^{\pi_{\bar\theta}}(s,a)\right)

Ici, Aπθˉ(s,a)A^{\pi_{\bar{\theta}}}(s, a) désigne les avantages de continuation de l’élève et Z(s)Z(s) est une constante de normalisation qui garantit une distribution de probabilité valide.

De la cible idéale à un objectif pour l’enseignant

Nous pouvons entraîner un enseignant vers la cible idéale πT⋆\pi_T^\star en minimisant sa divergence KL par rapport à celle-ci. Pour un élève et un état ss fixés, on obtient :

min⁡πT KL ⁣(πT(⋅∣s,c) ∥ πT⋆(⋅∣s,c))\min_{\pi_T}\,\mathrm{KL}\!\left(\pi_T(\cdot\mid s,c)\,\middle\|\,\pi_T^\star(\cdot\mid s,c)\right)

En substituant l’expression de πT⋆\pi_T^\star, on obtient un problème de maximisation équivalent :

max⁡πT{Ea∼πT(⋅∣s,c) ⁣[Aπθˉ(s,a)]−βT KL ⁣(πT(⋅∣s,c) ∥ πθˉ(⋅∣s))}\max_{\pi_T}\Biggl\{\mathbb{E}_{a\sim\pi_T(\cdot\mid s,c)}\!\left[A^{\pi_{\bar\theta}}(s,a)\right]-\beta_T\,\mathrm{KL}\!\left(\pi_T(\cdot\mid s,c)\,\middle\|\,\pi_{\bar\theta}(\cdot\mid s)\right)\Biggr\}

Cet objectif incite l’enseignant à choisir des actions offrant un avantage plus élevé pour l’élève, tout en restant proche de la distribution d’actions de l’élève. Le paramètre βT\beta_T contrôle l’intensité de cette pénalité : des valeurs plus élevées maintiennent l’enseignant plus près du comportement actuel de l’élève, tandis que des valeurs plus faibles lui permettent de favoriser plus agressivement les actions à fort avantage.

Un objectif de substitution pratique

Cet objectif dépend de la qualité avec laquelle l’élève poursuivrait après chaque action, mais ces avantages de continuation de l’élève sont généralement indisponibles. Nous utilisons donc comme substitut pratique les rendements centrés issus des propres trajectoires de l’enseignant. Le terme de récompense incite l’enseignant à résoudre la tâche, tandis que le terme KL décourage les écarts par rapport à la distribution d’actions actuelle de l’élève. Bien que le terme KL maintienne l’enseignant près de l’élève, cette substitution n’est pas exacte, puisque les rendements de l’enseignant ne correspondent pas nécessairement aux avantages de continuation de l’élève.

JT(θ;θˉ)=Eτ∼πθˉ(⋅∣c)[ ∑t(sg⁡[A^T(τ)]log⁡πθ(at∣st,c)−βT KL(πθ(⋅∣st,c) ∥ sg⁡[πθˉ(⋅∣st)]))]\begin{aligned}\mathcal{J}_T(\theta;\bar\theta) = \mathbb{E}_{\tau\sim\pi_{\bar\theta}(\cdot\mid c)}\Biggl[\,\sum_t \Bigl(&\operatorname{sg}\bigl[\widehat{A}_T(\tau)\bigr]\log\pi_\theta(a_t\mid s_t,c)\\ &-\beta_T\,\mathrm{KL}\bigl(\pi_\theta(\cdot\mid s_t,c)\,\big\|\,\operatorname{sg}[\pi_{\bar\theta}(\cdot\mid s_t)]\bigr)\Bigr)\Biggr]\end{aligned}

Ici, A^T(τ)\widehat{A}_T(\tau) est le rendement de la tentative de l’enseignant moins le rendement moyen des tentatives générées par l’enseignant dans son groupe. L’opérateur sg⁡\operatorname{sg} désigne l’arrêt du gradient (stop-gradient) : son argument est traité comme fixe pendant la différentiation, tout comme les préfixes échantillonnés et la référence de l’élève.

Entraîner l’élève

La mise à jour de l’élève est une mise à jour OPSD standard. L’élève génère des trajectoires à partir de la tâche. Le même modèle évalue ensuite chaque jeton échantillonné en ayant l’information privilégiée dans son contexte. L’objectif de l’élève pénalise la divergence KL inverse entre l’élève et cet enseignant privilégié à chaque état visité par l’élève :

JOPSD(θ;θˉ)=− Eτ∼πθˉ[∑tKL(πθ(⋅∣st) ∥ sg⁡[πθˉ(⋅∣st,c)])]\mathcal{J}_{\mathrm{OPSD}}(\theta;\bar\theta) = -\,\mathbb{E}_{\tau\sim\pi_{\bar\theta}}\left[\sum_t \mathrm{KL}\bigl(\pi_\theta(\cdot\mid s_t)\,\big\|\,\operatorname{sg}[\pi_{\bar\theta}(\cdot\mid s_t,c)]\bigr)\right]

Ainsi, les jetons que l’enseignant préfère sont renforcés, tandis que ceux que l’enseignant juge moins probables que ne le fait l’élève sont atténués.

Assembler le tout

La combinaison des objectifs de l’enseignant et de l’élève donne l’objectif d’entraînement conjoint :

JJOLT(θ;θˉ)=JT(θ;θˉ)+βS JOPSD(θ;θˉ)\mathcal{J}_{\mathrm{JOLT}}(\theta;\bar\theta) = \mathcal{J}_T(\theta;\bar\theta) + \beta_S\,\mathcal{J}_{\mathrm{OPSD}}(\theta;\bar\theta)

βS\beta_S est un scalaire qui détermine le poids de la perte de distillation de l’élève dans la mise à jour combinée.

Le résultat de cohérence avec la récompense caractérise la mise à jour par distillation de l’élève pour un enseignant donné. JOLT s’appuie sur ce principe pour guider l’entraînement conjoint, en combinant les objectifs de l’enseignant et de l’élève afin de mettre à jour leurs paramètres partagés.

JOLT+ ajoute également à sa mise à jour la propre récompense de résultat de l’élève. Le rendement centré de chaque trajectoire de l’élève est ajouté au signal de distillation, ce qui combine la supervision dense de l’enseignant et une rétroaction directe sur le résultat des trajectoires de l’élève. L’objectif de l’enseignant reste inchangé; nous pouvons donc écrire :

JJOLT+(θ;θˉ)=JT(θ;θˉ)+βS JOPSD(θ;θˉ)+Eτ∼πθˉ ⁣[∑tsg⁡[A^S(τ)] log⁡πθ(at∣st)]\begin{aligned}\mathcal{J}_{\mathrm{JOLT+}}(\theta;\bar\theta) &= \mathcal{J}_T(\theta;\bar\theta)+\beta_S\,\mathcal{J}_{\mathrm{OPSD}}(\theta;\bar\theta)\\ &\quad+\mathbb{E}_{\tau\sim\pi_{\bar\theta}}\!\left[\sum_t \operatorname{sg}[\widehat{A}_S(\tau)]\,\log\pi_\theta(a_t\mid s_t)\right]\end{aligned}

Ici, A^S(τ)\widehat{A}_S(\tau) est le rendement de la trajectoire de l’élève moins le rendement moyen de son groupe de trajectoires générées par l’élève.

Dans les deux variantes, chaque rôle apprend à partir des trajectoires générées dans son propre contexte, et les deux rôles mettent à jour la politique partagée. Le pseudocode d’une étape d’entraînement est présenté ci-dessous.

Pseudocode d’une étape d’entraînement de JOLT.

Expériences

Nous évaluons JOLT et JOLT+ sur des bancs d’essai couvrant le raisonnement mathématique, la génération de code, l’utilisation d’outils et des tâches en terminal à long horizon, en utilisant différents modèles de base et différentes formes d’information privilégiée. Plus précisément, nous menons des expériences avec les bancs d’essai, modèles de base et configurations d’information privilégiée suivants :

  • GSM8K : nous entraînons DeepSeek-V2-Lite sur GSM8K, un jeu de données de problèmes de mathématiques de niveau primaire. L’enseignant reçoit la réponse vérifiée à chaque problème.
  • MATH : nous entraînons Qwen3-0.6B sur MATH. L’enseignant reçoit des solutions de référence détaillées.
  • LCBv6 : nous entraînons Qwen3-8B sur 131 problèmes de programmation tirés de LiveCodeBench-V6. L’enseignant reçoit une solution générée par un modèle qui a réussi tous les tests visibles à l’entraînement, ou une rétroaction d’exécution lorsqu’aucune tentative ne les a réussis.
  • AppWorld : nous entraînons Qwen3-4B-Instruct sur AppWorld. L’enseignant reçoit des résumés des tentatives précédentes.
  • Terminal-Bench : nous entraînons Qwen3-30B-A3B-Instruct sur TMax, un ensemble de tâches d’entraînement pour agents en terminal, et l’évaluons sur Terminal-Bench 2.1. L’enseignant reçoit de l’information privée du vérificateur.

Nous comparons notre méthode à GRPO, à OPSD et à π-Distill, en ajustant les hyperparamètres de chaque méthode. Comme JOLT, π-Distill entraîne conjointement des rôles d’enseignant privilégié et d’élève au sein d’un modèle partagé; toutefois, cette méthode utilise une cible différente pour l’enseignant et sa mise à jour de l’élève reste hors politique, puisqu’elle s’appuie sur des trajectoires générées par l’enseignant plutôt que sur les propres générations de l’élève.

Exactitude

JOLT+ obtient le score moyen le plus élevé dans toutes les configurations évaluées. Par rapport à GRPO, la méthode de référence la plus performante parmi celles testées, il améliore l’exactitude de 1,5 point de pourcentage (pp) sur GSM8K, de 4,2 pp sur MATH et de 3,0 pp sur LCBv6, ainsi que le taux de réussite aux tests d’état d’AppWorld de 9,9 pp.

JOLT+ obtient le score moyen le plus élevé sur les quatre bancs d’essai.

Sans aucune récompense directe de l’élève, JOLT atteint une exactitude moyenne supérieure à celle de GRPO sur GSM8K, MATH et LCBv6. Sur AppWorld, toutefois, il reste en deçà de GRPO et de π-Distill.

Terminal-Bench 2.1 est la configuration au plus long horizon. JOLT+ obtient le pass@k le plus élevé pour chaque valeur de k rapportée, de 10,96 % en pass@1 à 34,83 % en pass@32. JOLT fait mieux que le modèle de base et que les deux méthodes de référence par distillation pour chaque valeur de k, mais reste en deçà de GRPO. OPSD obtient des scores inférieurs à ceux du modèle de base pour chaque valeur de k.

JOLT+ arrive en tête sur Terminal-Bench pour chaque budget de tentatives.

Efficacité en jetons et mise à l’échelle

Nous nous intéressons également à la façon dont la performance évolue avec le budget d’entraînement. Nous évaluons GRPO, OPSD et JOLT selon différents budgets de jetons d’entraînement sur MATH et comparons l’exactitude obtenue par l’élève.

La figure montre comment l’exactitude évolue en fonction des jetons d’entraînement consommés pour chaque méthode. Nous mesurons le coût en jetons d’entraînement traités. Cela comprend chaque requête sans remplissage, le contexte privilégié, chaque passe d’optimisation et l’évaluation croisée entre l’enseignant et l’élève.

JOLT a besoin de moins de jetons pour atteindre l’exactitude de GRPO.

Les points indiquent le nombre de jetons d’entraînement traités et l’exactitude à divers points de contrôle; les moustaches représentent ±1 écart-type entre les exécutions. Nous ajustons une relation sigmoïde entre l’exactitude et le logarithme du budget de jetons d’entraînement, à l’instar de travaux antérieurs sur la mise à l’échelle du calcul en AR.

JOLT fait preuve d’une efficacité d’échantillonnage précoce tout en atteignant l’exactitude la plus élevée des trois méthodes, se stabilisant près de 72 %. OPSD progresse rapidement avec de petits budgets, mais plafonne à environ 62 % d’exactitude. GRPO apprend plus lentement au début, mais continue de s’améliorer plus longtemps, pour grimper à environ 70 %. À une exactitude égale de 63,44 %, le point de contrôle observé de GRPO utilise 8,40 millions de jetons, alors que la courbe ajustée de JOLT donne 1,30 million, soit 6,5 fois moins de jetons.

Nous mesurons également le coût en jetons de complétion, qui comptent les complétions de l’élève pour GRPO et OPSD, et celles de l’enseignant et de l’élève pour JOLT, mais excluent les requêtes, le contexte privilégié et les passes d’optimisation supplémentaires. Une comparaison fondée sur les jetons de complétion plutôt que sur les jetons d’entraînement traités creuse l’écart d’efficacité à environ 13 fois à exactitude égale. Sur une plage d’exactitudes cibles, JOLT utilise de 9,5 à 14,4 fois moins de jetons de complétion et de 4,3 à 7,4 fois moins de jetons d’entraînement traités.

L’avantage de JOLT en jetons se maintient de 55 % à 65 % d’exactitude.

Conclusion

L’information privilégiée peut rendre un enseignant plus habile à résoudre une tâche sans le rendre plus habile à enseigner à un élève comment résoudre cette même tâche sans cette information. JOLT tient compte de cette distinction en entraînant l’enseignant par rapport au comportement actuel de l’élève.

Cet entraînement conjoint améliore à la fois l’exactitude et l’efficacité. Avec les récompenses de résultat de l’élève, JOLT+ obtient des gains absolus par rapport à GRPO de 1,5 pp sur GSM8K, de 4,2 pp sur MATH, de 3,0 pp sur LCBv6, de 9,9 pp sur AppWorld et de 2,7 pp en pass@1 sur Terminal-Bench 2.1. Sur MATH, à exactitude égale, JOLT utilise 13 fois moins de jetons de complétion et 6,5 fois moins de jetons d’entraînement traités que GRPO, sans récompense directe de l’élève.

JOLT permet aux conseils de l’enseignant d’évoluer en même temps que l’élève. Cela incite à explorer si l’enseignant peut également apprendre à générer des tâches d’entraînement utiles. Une piste intéressante pour de futurs travaux consiste à entraîner conjointement un enseignant générateur de tâches et un élève qui résout des problèmes, en utilisant la progression de l’élève pour améliorer les tâches générées dans le cadre d’un curriculum. La génération de tâches synthétiques pourrait ainsi s’adapter à ce que l’élève est prêt à apprendre ensuite.

Consultez notre article complet pour en savoir plus. Nous rendrons bientôt le code accessible en source ouverte.

Citation

BibTeX
@online{perplexity2026AGoodTeacherMeetsTheStudentWhereTheyAre,
  author = {{Perplexity} and Randy Ardywibowo and Arnav Dalal and Jiantao Jiao and Jarrod Bryan and Claire Beamer and Jeremy Yang and Jerry Ma},
  title = {{A good teacher meets the student where they are}},
  date = {2026-10-21},
  url = {https://www.perplexity.ai/hub/blog/a-good-teacher-meets-the-student-where-they-are}
}