CODESYNC: 대규모 언어 모델과 동적 코드 진화의 대규모 동기화
CODESYNC: Synchronizing Large Language Models with Dynamic Code Evolution at Scale
February 23, 2025
저자: Chenlong Wang, Zhaoyang Chu, Zhengxiang Cheng, Xuyi Yang, Kaiyue Qiu, Yao Wan, Zhou Zhao, Xuanhua Shi, Dongping Chen
cs.AI
초록
대규모 언어 모델(LLMs)은 소프트웨어 공학 분야에서 탁월한 성능을 보여주고 있지만, 특히 서드파티 라이브러리 API의 빈번한 업데이트와 같은 지속적으로 진화하는 코드 지식에 적응하는 데 어려움을 겪고 있습니다. 이는 정적인 사전 학습 데이터셋에서 비롯된 한계로, 종종 실행 불가능한 코드나 안전성과 효율성이 떨어지는 구현을 초래합니다. 이를 해결하기 위해, 본 논문에서는 파이썬 서드파티 라이브러리에서 오래된 코드 패턴을 식별하고 실시간 코드 지식 업데이트를 수집하는 데이터 엔진인 CODESYNC를 소개합니다. CODESYNC를 기반으로, 우리는 코드 진화와 동기화 능력을 평가하기 위한 포괄적인 벤치마크인 CODESYNCBENCH를 개발했습니다. 이 벤치마크는 6개의 파이썬 라이브러리에서 220개의 API에 대한 실제 업데이트를 다루며, 세 가지 평가 작업에 걸쳐 3,300개의 테스트 케이스와 2,200개의 학습 샘플로 구성된 업데이트 인식 지시 튜닝 데이터셋을 제공합니다. 14개의 최신 LLMs에 대한 광범위한 실험 결과, 이들은 고급 지식 업데이트 방법(예: DPO, ORPO, SimPO)의 지원에도 불구하고 동적 코드 진화에 어려움을 겪는 것으로 나타났습니다. 우리는 이 벤치마크가 향후 실시간 코드 지식 업데이트를 위한 더 효과적인 방법 개발에 강력한 기반을 제공할 수 있을 것이라 믿습니다. 실험 코드와 데이터셋은 https://github.com/Lucky-voyage/Code-Sync에서 공개적으로 이용 가능합니다.
English
Large Language Models (LLMs) have exhibited exceptional performance in
software engineering yet face challenges in adapting to continually evolving
code knowledge, particularly regarding the frequent updates of third-party
library APIs. This limitation, stemming from static pre-training datasets,
often results in non-executable code or implementations with suboptimal safety
and efficiency. To this end, this paper introduces CODESYNC, a data engine for
identifying outdated code patterns and collecting real-time code knowledge
updates from Python third-party libraries. Building upon CODESYNC, we develop
CODESYNCBENCH, a comprehensive benchmark for assessing LLMs' ability to stay
synchronized with code evolution, which covers real-world updates for 220 APIs
from six Python libraries. Our benchmark offers 3,300 test cases across three
evaluation tasks and an update-aware instruction tuning dataset consisting of
2,200 training samples. Extensive experiments on 14 state-of-the-art LLMs
reveal that they struggle with dynamic code evolution, even with the support of
advanced knowledge updating methods (e.g., DPO, ORPO, and SimPO). We believe
that our benchmark can offer a strong foundation for the development of more
effective methods for real-time code knowledge updating in the future. The
experimental code and dataset are publicly available at:
https://github.com/Lucky-voyage/Code-Sync.Summary
AI-Generated Summary