ChatPaper.aiChatPaper

SWE-Fixer: Обучение открытым LLM-моделям для эффективного и эффективного решения проблем на GitHub.

SWE-Fixer: Training Open-Source LLMs for Effective and Efficient GitHub Issue Resolution

January 9, 2025
Авторы: Chengxing Xie, Bowen Li, Chang Gao, He Du, Wai Lam, Difan Zou, Kai Chen
cs.AI

Аннотация

Большие языковые модели (LLM) продемонстрировали выдающуюся компетентность в решении разнообразных сложных задач. Одним из значительных применений LLM является решение задач программной инженерии, особенно в разрешении реальных задач на GitHub путем исправления кода на основе проблем, сообщенных пользователями. Однако многие существующие подходы полагаются на собственные LLM, что ограничивает воспроизводимость, доступность и прозрачность. Критические компоненты LLM для решения проблем программной инженерии и способы эффективного улучшения их возможностей остаются неясными. Для решения этих проблем мы представляем SWE-Fixer, новую открытую LLM, разработанную для эффективного и эффективного решения проблем на GitHub. SWE-Fixer состоит из двух основных модулей: модуля извлечения файлов с кодом и модуля редактирования кода. Модуль извлечения использует BM25 вместе с легковесной моделью LLM для достижения грубого и точного извлечения файлов. Затем модуль редактирования кода использует другую модель LLM для генерации патчей для выявленных файлов. Затем, чтобы компенсировать отсутствие общедоступных наборов данных, мы составляем обширный набор данных, включающий 110 тыс. проблем на GitHub вместе с соответствующими патчами, и обучаем два модуля SWE-Fixer отдельно. Мы оцениваем наш подход на бенчмарках SWE-Bench Lite и Verified, достигая передового качества с оценками соответственно 23,3% и 30,2% среди моделей с открытым исходным кодом. Эти результаты подчеркивают эффективность нашего подхода. Мы собираемся сделать нашу модель, набор данных и код общедоступными на https://github.com/InternLM/SWE-Fixer.
English
Large Language Models (LLMs) have demonstrated remarkable proficiency across a variety of complex tasks. One significant application of LLMs is in tackling software engineering challenges, particularly in resolving real-world tasks on GitHub by fixing code based on the issues reported by the users. However, many current approaches rely on proprietary LLMs, which limits reproducibility, accessibility, and transparency. The critical components of LLMs for addressing software engineering issues and how their capabilities can be effectively enhanced remain unclear. To address these challenges, we introduce SWE-Fixer, a novel open-source LLM designed to effectively and efficiently resolve GitHub issues. SWE-Fixer comprises two essential modules: a code file retrieval module and a code editing module. The retrieval module employs BM25 along with a lightweight LLM model to achieve coarse-to-fine file retrieval. Subsequently, the code editing module utilizes the other LLM model to generate patches for the identified files. Then, to mitigate the lack of publicly available datasets, we compile an extensive dataset that includes 110K GitHub issues along with their corresponding patches, and train the two modules of SWE-Fixer separately. We assess our approach on the SWE-Bench Lite and Verified benchmarks, achieving state-of-the-art performance among open-source models with scores of 23.3% and 30.2%, respectively. These outcomes highlight the efficacy of our approach. We will make our model, dataset, and code publicly available at https://github.com/InternLM/SWE-Fixer.

Summary

AI-Generated Summary

PDF152January 10, 2025