ChatPaper.aiChatPaper

CursorCore: Asistencia en la Programación a través de la Alineación de Todo

CursorCore: Assist Programming through Aligning Anything

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

Resumen

Los modelos de lenguaje grandes se han aplicado con éxito a tareas de asistencia en programación, como completar código, insertar código y editar código instructivo. Sin embargo, estas aplicaciones siguen siendo insuficientemente automatizadas y tienen dificultades para integrar de manera efectiva varios tipos de información durante el proceso de programación, incluida la historia de codificación, el código actual y las instrucciones del usuario. En este trabajo, proponemos un nuevo marco conversacional que integra de manera integral estas fuentes de información, recopilamos datos para entrenar nuestros modelos y evaluamos su rendimiento. En primer lugar, para evaluar a fondo qué tan bien se alinean los modelos con diferentes tipos de información y la calidad de sus salidas, presentamos un nuevo punto de referencia, APEval (Evaluación de Asistencia en Programación), para evaluar de manera integral el rendimiento de los modelos en tareas de asistencia en programación. Luego, para la recopilación de datos, desarrollamos un canal de generación de datos, Programming-Instruct, que sintetiza datos de entrenamiento de diversas fuentes, como GitHub y plataformas de jueces en línea. Este canal puede generar automáticamente varios tipos de mensajes a lo largo del proceso de programación. Finalmente, utilizando este canal, generamos 219K ejemplos, ajustamos varios modelos y desarrollamos la serie CursorCore. Mostramos que CursorCore supera a otros modelos de tamaño comparable. Este marco unifica aplicaciones como chat en línea y edición automatizada, contribuyendo al avance de los asistentes de codificación. El código, los modelos y los datos están disponibles de forma gratuita en 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