커서코어: 모든 것을 정렬하여 프로그래밍 지원하기
CursorCore: Assist Programming through Aligning Anything
October 9, 2024
저자: Hao Jiang, Qi Liu, Rui Li, Shengyu Ye, Shijin Wang
cs.AI
초록
대형 언어 모델은 코드 완성, 코드 삽입 및 지시 코드 편집과 같은 프로그래밍 지원 작업에 성공적으로 적용되었습니다. 그러나 이러한 응용 프로그램은 여전히 충분히 자동화되지 않았으며 프로그래밍 프로세스 중에 코딩 기록, 현재 코드 및 사용자 지시와 같은 다양한 유형의 정보를 효과적으로 통합하는 데 어려움을 겪고 있습니다. 본 연구에서는 이러한 정보 원본을 종합적으로 통합하는 새로운 대화형 프레임워크를 제안하고, 모델을 훈련시키고 그 성능을 평가하기 위해 데이터를 수집합니다. 먼저, 모델이 다양한 유형의 정보와 그들의 출력 품질과 얼마나 잘 일치하는지 철저히 평가하기 위해 프로그래밍 지원 작업에서 모델의 성능을 종합적으로 평가하기 위한 새로운 벤치마크인 APEval (Assist Programming Eval)을 소개합니다. 그런 다음, 데이터 수집을 위해 GitHub 및 온라인 판사 플랫폼과 같은 다양한 소스에서 훈련 데이터를 종합적으로 합성하는 데이터 생성 파이프라인인 Programming-Instruct를 개발합니다. 이 파이프라인은 프로그래밍 프로세스 전반에 걸쳐 다양한 유형의 메시지를 자동으로 생성할 수 있습니다. 마지막으로, 이 파이프라인을 사용하여 219K개의 샘플을 생성하고 여러 모델을 세밀하게 조정하여 CursorCore 시리즈를 개발합니다. CursorCore가 유사한 크기의 다른 모델보다 우수한 성능을 보여준다는 것을 보여줍니다. 이 프레임워크는 인라인 채팅 및 자동 편집과 같은 응용 프로그램을 통합하고 코딩 어시스턴트의 발전에 기여합니다. 코드, 모델 및 데이터는 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