ChatPaper.aiChatPaper

CursorCore : Assister la programmation en alignant tout

CursorCore: Assist Programming through Aligning Anything

October 9, 2024
Auteurs: Hao Jiang, Qi Liu, Rui Li, Shengyu Ye, Shijin Wang
cs.AI

Résumé

Les grands modèles de langage ont été appliqués avec succès aux tâches d'assistance à la programmation, telles que l'auto-complétion du code, l'insertion de code et l'édition de code instructif. Cependant, ces applications restent insuffisamment automatisées et peinent à intégrer efficacement divers types d'informations lors du processus de programmation, y compris l'historique du code, le code actuel et les instructions de l'utilisateur. Dans ce travail, nous proposons un nouveau cadre conversationnel qui intègre de manière exhaustive ces sources d'informations, collectons des données pour entraîner nos modèles et évaluons leurs performances. Tout d'abord, pour évaluer minutieusement l'alignement des modèles avec différents types d'informations et la qualité de leurs sorties, nous introduisons un nouveau banc d'essai, APEval (Assist Programming Eval), pour évaluer de manière exhaustive les performances des modèles dans les tâches d'assistance à la programmation. Ensuite, pour la collecte de données, nous développons un pipeline de génération de données, Programming-Instruct, qui synthétise des données d'entraînement à partir de sources diverses, telles que GitHub et des plateformes de juges en ligne. Ce pipeline peut générer automatiquement divers types de messages tout au long du processus de programmation. Enfin, en utilisant ce pipeline, nous générons 219 000 échantillons, affinons plusieurs modèles et développons la série CursorCore. Nous montrons que CursorCore surpasse les autres modèles de taille comparable. Ce cadre unifie des applications telles que le chat en ligne et l'édition automatisée, contribuant ainsi à l'avancement des assistants de codage. Le code, les modèles et les données sont disponibles gratuitement sur https://github.com/TechxGenus/CursorCore.
English
Large language models have been successfully applied to programming assistance tasks, such as code completion, code insertion, and instructional code editing. However, these applications remain insufficiently automated and struggle to effectively integrate various types of information during the programming process, including coding history, current code, and user instructions. In this work, we propose a new conversational framework that comprehensively integrates these information sources, collect data to train our models and evaluate their performance. Firstly, to thoroughly evaluate how well models align with different types of information and the quality of their outputs, we introduce a new benchmark, APEval (Assist Programming Eval), to comprehensively assess the performance of models in programming assistance tasks. Then, for data collection, we develop a data generation pipeline, Programming-Instruct, which synthesizes training data from diverse sources, such as GitHub and online judge platforms. This pipeline can automatically generate various types of messages throughout the programming process. Finally, using this pipeline, we generate 219K samples, fine-tune multiple models, and develop the CursorCore series. We show that CursorCore outperforms other models of comparable size. This framework unifies applications such as inline chat and automated editing, contributes to the advancement of coding assistants. Code, models and data are freely available at https://github.com/TechxGenus/CursorCore.

Summary

AI-Generated Summary

PDF132November 16, 2024