Satori-SWE: Эволюционное масштабирование на этапе тестирования для эффективного использования данных в разработке программного обеспечения
Satori-SWE: Evolutionary Test-Time Scaling for Sample-Efficient Software Engineering
May 29, 2025
Авторы: Guangtao Zeng, Maohao Shen, Delin Chen, Zhenting Qi, Subhro Das, Dan Gutfreund, David Cox, Gregory Wornell, Wei Lu, Zhang-Wei Hong, Chuang Gan
cs.AI
Аннотация
Языковые модели (LMs) демонстрируют высокие результаты на стандартных тестах по программированию, но испытывают трудности с реальными задачами разработки программного обеспечения, такими как решение проблем на GitHub в рамках SWE-Bench, особенно когда количество параметров модели меньше 100 млрд. Хотя на практике предпочтение отдается меньшим моделям из-за их более низких вычислительных затрат, улучшение их производительности остается сложной задачей. Существующие подходы в основном полагаются на контролируемое тонкое обучение (SFT) с использованием высококачественных данных, которые дорого собирать в больших масштабах. Альтернативой является масштабирование на этапе тестирования: генерация нескольких выходных данных, их оценка с помощью верификатора и выбор наилучшего варианта. Хотя этот подход эффективен, он часто требует чрезмерного количества выборок и дорогостоящей оценки, что ограничивает его практическое применение. Мы предлагаем Evolutionary Test-Time Scaling (EvoScale) — метод, эффективный по количеству выборок, который рассматривает генерацию как эволюционный процесс. Путем итеративного улучшения выходных данных через отбор и мутацию EvoScale смещает распределение выходных данных в сторону областей с более высокой оценкой, сокращая количество выборок, необходимых для нахождения правильных решений. Чтобы снизить накладные расходы на повторную выборку и отбор, мы обучаем модель саморазвитию с использованием обучения с подкреплением (RL). Вместо того чтобы полагаться на внешние верификаторы на этапе вывода, модель учится самостоятельно улучшать оценки своих генераций на протяжении итераций. Протестированная на SWE-Bench-Verified, EvoScale позволяет нашей 32-миллиардной модели Satori-SWE-32B соответствовать или превосходить производительность моделей с более чем 100 млрд параметров, используя при этом небольшое количество выборок. Код, данные и модели будут полностью открыты для общественности.
English
Language models (LMs) perform well on standardized coding benchmarks but
struggle with real-world software engineering tasks such as resolving GitHub
issues in SWE-Bench, especially when model parameters are less than 100B. While
smaller models are preferable in practice due to their lower computational
cost, improving their performance remains challenging. Existing approaches
primarily rely on supervised fine-tuning (SFT) with high-quality data, which is
expensive to curate at scale. An alternative is test-time scaling: generating
multiple outputs, scoring them using a verifier, and selecting the best one.
Although effective, this strategy often requires excessive sampling and costly
scoring, limiting its practical application. We propose Evolutionary Test-Time
Scaling (EvoScale), a sample-efficient method that treats generation as an
evolutionary process. By iteratively refining outputs via selection and
mutation, EvoScale shifts the output distribution toward higher-scoring
regions, reducing the number of samples needed to find correct solutions. To
reduce the overhead from repeatedly sampling and selection, we train the model
to self-evolve using reinforcement learning (RL). Rather than relying on
external verifiers at inference time, the model learns to self-improve the
scores of its own generations across iterations. Evaluated on
SWE-Bench-Verified, EvoScale enables our 32B model, Satori-SWE-32B, to match or
exceed the performance of models with over 100B parameters while using a few
samples. Code, data, and models will be fully open-sourced.Summary
AI-Generated Summary