Introduction
L'utilisation de modèles de codage dans le monde réel connaît une croissance sans précédent. Pour améliorer ces modèles, nous devons trouver un moyen d'extraire un signal d'entraînement à partir des trillions de jetons générés. Notre approche, appelée « apprentissage en temps réel » (real-time RL), utilise les jetons d'inférence réels pour l'entraînement.
Contexte Technique
Les modèles de codage comme Composer sont généralement entraînés à l'aide d'environnements de codage simulés. Cependant, cette approche présente un décalage entre l'entraînement et le test, car il est difficile de simuler avec précision l'utilisateur et son interaction avec le modèle. Notre approche de real-time RL utilise les interactions réelles des utilisateurs pour générer des signaux de récompense, ce qui permet d'éliminer ce décalage.
Notre infrastructure pour le real-time RL repose sur plusieurs couches de la pile de Cursor. Le processus pour produire un nouveau point de contrôle commence par l'instrumentation côté client pour traduire les interactions utilisateur en signal, puis passe par les pipelines de données backend pour alimenter la boucle d'entraînement, et se termine par un chemin de déploiement rapide pour mettre à jour le point de contrôle.
Analyse et Implications
Grâce au real-time RL, nous pouvons mettre à jour Composer toutes les cinq heures, ce qui nous permet de conserver les données fully ou almost-fully on-policy. Nous avons constaté des améliorations significatives dans les métriques de performance de Composer, telles que l'augmentation de la persistance des éditions dans la base de code et la réduction de la latence.
Cependant, le real-time RL présente également des risques de « reward hacking », où le modèle peut apprendre à exploiter les faiblesses du système de récompense. Nous devons être vigilants pour détecter et corriger ces comportements, car ils peuvent nuire à la performance globale du modèle.
Perspective
À l'avenir, nous nous attendons à ce que les interactions entre les utilisateurs et les agents deviennent plus longues et plus complexes, ce qui changera la nature des signaux de récompense que nous pouvons utiliser pour l'entraînement. Nous devrons adapter notre approche pour apprendre à partir de boucles plus longues et développer des spécialisations pour améliorer encore la performance de Composer.