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 —
механизм данных для выявления устаревших шаблонов кода и сбора обновлений
знаний о коде в реальном времени из сторонних библиотек Python. На основе
CODESYNC мы разработали CODESYNCBENCH — комплексный эталонный тест для
оценки способности LLMs оставаться синхронизированными с эволюцией кода,
который охватывает реальные обновления для 220 API из шести библиотек Python.
Наш эталонный тест включает 3300 тестовых случаев для трех задач оценки и
набор данных для настройки инструкций с учетом обновлений, состоящий из 2200
обучающих примеров. Масштабные эксперименты с 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