Satori-SWE: Evolutionaire Test-Tijd Schaling voor Efficiënte Software Engineering met Beperkte Steekproeven
Satori-SWE: Evolutionary Test-Time Scaling for Sample-Efficient Software Engineering
May 29, 2025
Auteurs: 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
Samenvatting
Taalmodellen (LMs) presteren goed op gestandaardiseerde codeerbenchmarks, maar hebben moeite met real-world software-engineeringtaken, zoals het oplossen van GitHub-issues in SWE-Bench, vooral wanneer de modelparameters minder dan 100B zijn. Hoewel kleinere modellen in de praktijk de voorkeur hebben vanwege hun lagere rekenkosten, blijft het verbeteren van hun prestaties een uitdaging. Bestaande benaderingen zijn voornamelijk gebaseerd op supervised fine-tuning (SFT) met hoogwaardige data, wat duur is om op grote schaal te verzamelen. Een alternatief is test-time scaling: het genereren van meerdere uitvoer, deze scoren met een verifier en de beste selecteren. Hoewel effectief, vereist deze strategie vaak excessieve sampling en kostbare scoring, wat de praktische toepassing beperkt. Wij stellen Evolutionary Test-Time Scaling (EvoScale) voor, een sample-efficiënte methode die generatie behandelt als een evolutionair proces. Door uitvoer iteratief te verfijnen via selectie en mutatie, verschuift EvoScale de uitvoerdistributie naar hoger scorende regio's, waardoor het aantal benodigde samples om correcte oplossingen te vinden wordt verminderd. Om de overhead van herhaaldelijk sampling en selectie te verminderen, trainen we het model om zichzelf te evolueren met behulp van reinforcement learning (RL). In plaats van te vertrouwen op externe verifiers tijdens inferentie, leert het model om de scores van zijn eigen generaties iteratief te verbeteren. Geëvalueerd op SWE-Bench-Verified, stelt EvoScale ons 32B-model, Satori-SWE-32B, in staat om de prestaties van modellen met meer dan 100B parameters te evenaren of te overtreffen, terwijl slechts enkele samples worden gebruikt. Code, data en modellen zullen volledig open-source worden gemaakt.
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.