Comment est construit le compositeur de curseurs ? Le discours d'ouverture de @srush_nlp, chercheur chez @cursor_ai, lors du Ray Summit de @anyscalecompute, était axé sur l'innovation technologique, les défis et les applications pratiques, en soulignant le rôle de l'apprentissage par renforcement dans la construction de modèles d'IA spécialisés. Caractéristiques et motivations principales du compositeur Rush a commencé par expliquer les points forts de Composer : lors des tests internes de Cursor, ses performances ont égalé celles des modèles les plus performants du marché, surpassant celles des modèles sortis à l’été 2024, des meilleurs modèles open source et même des modèles réputés « rapides ». De plus, il a été quatre fois plus performant que des modèles intelligents similaires en termes d’efficacité de génération de jetons et s’est avéré nettement plus rapide à l’utilisation. Composer est donc non seulement « intelligent », mais aussi rapide au toucher, permettant aux utilisateurs de maintenir un flux de réflexion continu plutôt que d’attendre de longs retours. Composer s'inspire de la fonctionnalité populaire « Onglet Curseur » de l'application Cursor. L'équipe a ensuite développé un prototype d'agent intelligent nommé « Cheetah », que les utilisateurs ont qualifié de « technologie extraterrestre ». S'appuyant sur ce prototype, l'objectif était de créer une version plus performante tout en conservant son efficacité. Rush souligne que l'intelligence ne consiste pas à atteindre des performances générales, mais plutôt à répondre aux besoins concrets du développement : gérer des bases de code volumineuses et respecter les normes de codage. Ces éléments sont essentiels au développement logiciel quotidien. De plus, Composer met l'accent sur une expérience utilisateur ultra-rapide : non seulement la génération de jetons est efficace, mais le système exploite également les appels d'outils parallèles (comme la recherche de code, l'exécution de commandes terminal et l'édition de fichiers simultanées) pour finaliser l'ensemble du processus en quelques secondes. Rush a illustré cette expérience dans une vidéo de démonstration : après la soumission d'une requête par un utilisateur, l'agent exécute immédiatement les outils de manière multithread, générant rapidement des modifications et des résumés, un contraste saisissant avec la lenteur des agents traditionnels. Implémentation technique : La méthode de construction Composer est au cœur de la présentation de l’agent et de son infrastructure. Rush décrit brièvement le fonctionnement du curseur : les requêtes utilisateur sont envoyées au serveur, l’agent génère des jetons et effectue des appels d’outils au format XML (lecture, édition, recherche de code et exécution de commandes, par exemple). Ces outils peuvent être exécutés séquentiellement ou en parallèle, et l’agent affiche les modifications en temps réel dans l’IDE. Composer est entraîné par apprentissage par renforcement (RL) : à partir d’une requête utilisateur, il simule plusieurs « déploiements » (chemins), chacun tentant de résoudre le problème avec une séquence d’outils différente. Ces chemins sont ensuite évalués (par exemple, lequel est le plus efficace) et les paramètres du modèle sont mis à jour en conséquence. Cela revient à exécuter plusieurs instances de Cursor en parallèle pour optimiser le meilleur chemin. Rush a évoqué trois défis majeurs : 1. Appariement de l'entraînement et de l'inférence : Un modèle expert hybride (MoE) à grande échelle est utilisé pour l'entraînement distribué sur des milliers de GPU. L'équipe a développé un noyau personnalisé pour prendre en charge l'entraînement en basse précision (MXFP8), ce qui a permis d'obtenir une accélération de 3,5x (en particulier sur les puces Blackwell) sans nécessiter de quantification supplémentaire. 2. Déploiement complexe : Les tâches de codage réelles impliquent de 100 000 à plusieurs millions de jetons et des centaines d’appels d’outils, ce qui entraîne des temps d’exécution inégaux. Le framework Ray est utilisé pour gérer l’équilibrage de charge et éviter les problèmes de « tailing » (lorsque certains chemins d’exécution sont trop lents). 3. Cohérence : L’environnement d’entraînement doit simuler l’environnement de production de Cursor, notamment en reproduisant les réponses des outils. L’équipe réutilise l’infrastructure d’« agent cloud » de Cursor, en utilisant des microVM pour créer un environnement avec état permettant la modification de fichiers et l’exécution de commandes. Parallèlement, un modèle d’embedding personnalisé est intégré pour la recherche sémantique, aidant ainsi l’agent à localiser efficacement les fichiers. Ces décisions relatives à l'infrastructure (telles que l'intégration des serveurs d'entraînement PyTorch, des serveurs d'inférence Ray et des serveurs d'environnement VM) sont essentielles au succès, garantissant une transition sans heurt entre l'entraînement et le déploiement réel. Une semaine après sa sortie, Rush a partagé ses premiers résultats, ses observations et ses perspectives d'avenir : à chaque itération d'apprentissage par renforcement (RL), les performances du modèle se sont améliorées de façon constante, passant de la version open source à la version finale, démontrant ainsi la pertinence de l'investissement en ressources de calcul. Le modèle a appris à utiliser davantage d'outils parallèles, réduisant ainsi les modifications à l'aveugle et se concentrant sur la lecture et la recherche, ce qui a permis d'améliorer la précision. Les retours des utilisateurs ont été positifs : ils ont estimé que la combinaison de rapidité et d'intelligence avait transformé leurs habitudes de programmation, passant d'une approche consistant à « lancer l'agent et attendre » à une approche consistant à « itérer rapidement pour résoudre les problèmes ». Les réflexions de Rush comprennent : • RL est particulièrement adapté à la construction de modèles spécifiques à un domaine, plutôt qu'à la création de modèles linéaires à usage général. L'IA a transformé le processus de R&D : les équipes utilisent leurs propres agents d'IA pour construire des tableaux de bord et des systèmes d'arrière-plan, accélérant ainsi les itérations pour les petites équipes. • L’infrastructure est le principal moteur du RL, impliquant une intégration profonde des produits, de l’échelle et du ML. Adresse vidéo :
Chargement du thread
Récupération des tweets originaux depuis X pour offrir une lecture épurée.
Cela ne prend généralement que quelques secondes.
