ByteDance представляет ToolTrain: новая интегрированная с инструментами система обучения с подкреплением, которая переопределяет глубокий поиск в репозиториях

Локализация ошибок включает в себя определение точных мест в коде, которые требуют изменений для устранения проблем в программном обеспечении. Этот процесс часто требует значительных усилий со стороны разработчиков, особенно в крупных репозиториях. Из-за сложности и затратности по времени автоматизация этой задачи стала ключевым направлением исследований.

Агенты на основе LLM позволяют языковым моделям использовать различные инструменты для динамического исследования репозиториев. Однако эти модели сталкиваются с проблемами при выполнении глубокого поиска в репозиториях (Repo Deep Search), задачи последовательной навигации, требующей многошагового рассуждения и эффективного использования инструментов.

Текущие LLM с трудом справляются с такими высокими требованиями, часто приводя к некорректным вызовам инструментов или нарушению последовательности рассуждений в процессе исследования.

Существующие работы включают локализацию неисправностей и агентское обучение

* В локализации неисправностей используются такие методы, как DeepFL и DeepRL4FL, которые применяют глубокие нейронные сети и свёрточные нейронные сети для выявления неисправного кода путём анализа тестового покрытия, зависимостей данных и статических представлений кода.
* Более поздние достижения включают LLM, такие как Agentless, для сужения поиска мест в коде.
* LLM часто не хватает сложности, необходимой для сложных рассуждений и использования инструментов при исследовании репозиториев.

Для решения этой проблемы используются методы агентского обучения, такие как SWE-Gym и SEAlign, которые настраивают LLM с использованием высококачественных траекторий.

Другой подход, LocAgent, создаёт достоверные данные для локализации проблем на основе функций, изменённых с помощью золотых патчей из GitHub.

Исследователи из Пекинского университета, ByteDance и Пекинского технологического института предложили ToolTrain

ToolTrain — это интегрированная с инструментами система обучения для улучшения многошаговых рассуждений LLM при локализации проблем. ToolTrain представляет RepoSearcher, облегчённого агента, оснащённого простыми инструментами поиска, которые позволяют LLM находить определения функций или классов по имени.

Чтобы помочь LLM использовать эти инструменты для многошаговых рассуждений, исследователи создают размеченные данные из открытых репозиториев и следуют двухэтапному процессу: выборка с отклонением SFT и интегрированное с инструментами RL. Этот подход гарантирует, что модель научится стратегически использовать инструменты, избегая избыточных исследований и сосредотачиваясь на перспективных путях кода.

Исследователи создают свой набор данных для оценки, используя SWE-Bench-Verified, эталонный тест, полученный из реальных проблем GitHub и вручную проверенный профессиональными разработчиками. Этот набор данных предоставляет достоверные ответы для локализации проблем, определяя функции и файлы, изменённые в золотых патчах.

Для оценки производительности RepoSearcher используются такие метрики, как Recall@k, MAP, MRR, nDCG@k и %Resolved. Более того, ToolTrain применяется к двум моделям, Qwen-7B и Qwen-32B, которые затем сравниваются с четырьмя современными фреймворками: Agentless, CrcaLoca, CoSIL и LocAgent.

RepoSearcher с ToolTrain достигает современного уровня производительности среди моделей аналогичного размера и даже превосходит более крупные коммерческие модели по некоторым метрикам.

В заключение, исследователи представили ToolTrain для улучшения локализации проблем LLM. Объединив SFT с RL, ToolTrain оснащает такие модели, как RepoSearcher, возможностью эффективно перемещаться по кодовым репозиториям и выполнять точные многошаговые рассуждения.

Модели, обученные с помощью ToolTrain, достигают современного уровня производительности на реальных тестах и даже превосходят более крупные коммерческие модели, такие как Claude-3.7, в определённых задачах. Это демонстрирует его способность оптимизировать использование инструментов и рассуждения в небольших моделях, сокращая избыточность и повышая эффективность. Исследование подчёркивает потенциал ToolTrain для преобразования локализации проблем и предоставления эффективного решения сложных задач программного обеспечения.

Ознакомиться с докладом и страницей GitHub можно здесь. Не стесняйтесь посетить нашу страницу GitHub, чтобы посмотреть учебные пособия, коды и блокноты. Также подписывайтесь на нас в Twitter и присоединяйтесь к нашему сообществу в ML SubReddit (более 100 тысяч участников) и подписывайтесь на нашу рассылку.

⭐ Поддержите нас на GitHub
Спонсируйте нас

1. Какие проблемы в локализации ошибок в программном обеспечении пытаются решить разработчики, и почему автоматизация этой задачи стала ключевым направлением исследований?

В статье говорится, что процесс локализации ошибок в крупных репозиториях требует значительных усилий и времени. Разработчики сталкиваются с проблемами при выполнении глубокого поиска в репозиториях, что делает автоматизацию этой задачи приоритетной для исследований.

2. Какие методы и подходы используются для локализации неисправностей в коде, и как они помогают языковым моделям (LLM) в этом процессе?

В статье упоминаются методы DeepFL и DeepRL4FL, которые применяют глубокие нейронные сети для выявления неисправного кода. Также описываются LLM, такие как Agentless, которые сужают поиск мест в коде. Эти методы помогают LLM более эффективно находить проблемные участки в коде.

3. Как система ToolTrain улучшает многошаговые рассуждения LLM при локализации проблем, и какие метрики используются для оценки её производительности?

ToolTrain — это интегрированная с инструментами система обучения для улучшения многошаговых рассуждений LLM. Она использует размеченные данные из открытых репозиториев и двухэтапный процесс: выборка с отклонением SFT и интегрированное с инструментами RL. Для оценки производительности RepoSearcher используются такие метрики, как Recall@k, MAP, MRR, nDCG@k и %Resolved.

4. Какие модели были протестированы с использованием ToolTrain, и какие результаты были получены при сравнении их с другими современными фреймворками?

В статье говорится, что RepoSearcher с ToolTrain достигает современного уровня производительности среди моделей аналогичного размера и даже превосходит более крупные коммерческие модели по некоторым метрикам. Были протестированы модели Qwen-7B и Qwen-32B, которые сравнивались с Agentless, CrcaLoca, CoSIL и LocAgent.

5. Какие потенциальные преимущества предоставляет ToolTrain для преобразования локализации проблем и оптимизации использования инструментов в программном обеспечении?

ToolTrain способен оптимизировать использование инструментов и рассуждения в небольших моделях, сокращая избыточность и повышая эффективность. Это демонстрирует его потенциал для преобразования локализации проблем и предоставления эффективного решения сложных задач программного обеспечения.

Источник