ChatPaper.aiChatPaper

CursorCore: Ondersteun programmeren door alles uit te lijnen

CursorCore: Assist Programming through Aligning Anything

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

Samenvatting

Grote taalmodellen zijn succesvol toegepast op programmeertaken, zoals code-aanvulling, code-invoeging en instructieve codebewerking. Echter blijven deze toepassingen onvoldoende geautomatiseerd en worstelen ze met het effectief integreren van verschillende soorten informatie tijdens het programmeringsproces, waaronder programmeergeschiedenis, huidige code en gebruikersinstructies. In dit werk stellen we een nieuw gesprekskader voor dat deze informatiebronnen uitgebreid integreert, verzamelen we gegevens om onze modellen te trainen en hun prestaties te evalueren. Ten eerste introduceren we een nieuwe benchmark, APEval (Assist Programming Eval), om de prestaties van modellen in programmeerhulptaken uitgebreid te beoordelen en te evalueren hoe goed modellen zich afstemmen op verschillende soorten informatie en de kwaliteit van hun uitvoer. Vervolgens ontwikkelen we voor gegevensverzameling een gegevensgeneratiepijplijn, Programming-Instruct, die trainingsgegevens synthetiseert uit diverse bronnen, zoals GitHub en online beoordelingsplatforms. Deze pijplijn kan automatisch verschillende soorten berichten genereren gedurende het programmeringsproces. Ten slotte genereren we met behulp van deze pijplijn 219K voorbeelden, verfijnen we meerdere modellen en ontwikkelen we de CursorCore-serie. We tonen aan dat CursorCore beter presteert dan andere modellen van vergelijkbare omvang. Dit kader verenigt toepassingen zoals inline chat en geautomatiseerde bewerking, draagt bij aan de vooruitgang van code-assistenten. Code, modellen en gegevens zijn vrij beschikbaar op 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