DevEval: Руками аннотированный бенчмарк генерации кода, выровненный с репозиториями реального мира
DevEval: A Manually-Annotated Code Generation Benchmark Aligned with Real-World Code Repositories
May 30, 2024
Авторы: Jia Li, Ge Li, Yunfei Zhao, Yongmin Li, Huanyu Liu, Hao Zhu, Lecheng Wang, Kaibo Liu, Zheng Fang, Lanshen Wang, Jiazheng Ding, Xuanming Zhang, Yuqi Zhu, Yihong Dong, Zhi Jin, Binhua Li, Fei Huang, Yongbin Li
cs.AI
Аннотация
Оценка способностей к кодированию крупных языковых моделей (LLM) остается открытым вопросом. Мы обнаружили, что существующие бенчмарки плохо соответствуют реальным репозиториям кода и недостаточны для оценки способностей LLM к кодированию.
Для заполнения пробела в знаниях мы предлагаем новый бенчмарк под названием DevEval, который имеет три преимущества. (1) DevEval соответствует реальным репозиториям по нескольким измерениям, например, по распределению кода и зависимостей. (2) DevEval аннотирован 13 разработчиками и содержит полные аннотации (например, требования, оригинальные репозитории, ссылочный код и ссылочные зависимости). (3) DevEval включает 1 874 тестовых образцов из 117 репозиториев, охватывая 10 популярных областей (например, Интернет, Базы данных). Основываясь на DevEval, мы предлагаем генерацию кода на уровне репозитория и оцениваем 8 популярных LLM на DevEval (например, gpt-4, gpt-3.5, StarCoder 2, DeepSeek Coder, CodeLLaMa). Наши эксперименты раскрывают способности этих LLM к кодированию в реальных репозиториях кода. Например, в наших экспериментах самый высокий показатель Pass@1 для gpt-4-turbo составляет всего 53,04%. Мы также анализируем неудачные случаи LLM и подводим итоги их недостатков. Мы надеемся, что DevEval сможет способствовать развитию LLM в реальных репозиториях кода. DevEval, подсказки и прогнозы LLM были опубликованы.
English
How to evaluate the coding abilities of Large Language Models (LLMs) remains
an open question. We find that existing benchmarks are poorly aligned with
real-world code repositories and are insufficient to evaluate the coding
abilities of LLMs.
To address the knowledge gap, we propose a new benchmark named DevEval, which
has three advances. (1) DevEval aligns with real-world repositories in multiple
dimensions, e.g., code distributions and dependency distributions. (2) DevEval
is annotated by 13 developers and contains comprehensive annotations (e.g.,
requirements, original repositories, reference code, and reference
dependencies). (3) DevEval comprises 1,874 testing samples from 117
repositories, covering 10 popular domains (e.g., Internet, Database). Based on
DevEval, we propose repository-level code generation and evaluate 8 popular
LLMs on DevEval (e.g., gpt-4, gpt-3.5, StarCoder 2, DeepSeek Coder, CodeLLaMa).
Our experiments reveal these LLMs' coding abilities in real-world code
repositories. For example, in our experiments, the highest Pass@1 of
gpt-4-turbo is only 53.04%. We also analyze LLMs' failed cases and summarize
their shortcomings. We hope DevEval can facilitate the development of LLMs in
real code repositories. DevEval, prompts, and LLMs' predictions have been
released.Summary
AI-Generated Summary