Satori-SWE: Evolutionäre Testzeit-Skalierung für ressourceneffizientes Software-Engineering
Satori-SWE: Evolutionary Test-Time Scaling for Sample-Efficient Software Engineering
May 29, 2025
Autoren: 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
Zusammenfassung
Sprachmodelle (LMs) schneiden bei standardisierten Programmierbenchmarks gut ab, haben jedoch Schwierigkeiten mit realen Softwareentwicklungsaufgaben wie der Lösung von GitHub-Issues in SWE-Bench, insbesondere wenn die Modellparameter weniger als 100B betragen. Obwohl kleinere Modelle in der Praxis aufgrund ihrer geringeren Rechenkosten bevorzugt werden, bleibt die Verbesserung ihrer Leistung eine Herausforderung. Bestehende Ansätze stützen sich hauptsächlich auf überwachtes Feinabstimmen (SFT) mit hochwertigen Daten, die in großem Maßstab teuer zu kuratieren sind. Eine Alternative ist das Skalieren zur Testzeit: Es werden mehrere Ausgaben generiert, mit einem Verifizierer bewertet und die beste ausgewählt. Obwohl effektiv, erfordert diese Strategie oft übermäßiges Sampling und kostspielige Bewertungen, was ihre praktische Anwendung einschränkt. Wir schlagen Evolutionäres Skalieren zur Testzeit (EvoScale) vor, eine sample-effiziente Methode, die die Generierung als evolutionären Prozess behandelt. Durch iteratives Verfeinern der Ausgaben über Selektion und Mutation verschiebt EvoScale die Ausgabeverteilung in Richtung höher bewerteter Regionen und reduziert die Anzahl der benötigten Samples, um korrekte Lösungen zu finden. Um den Overhead durch wiederholtes Sampling und Selektion zu verringern, trainieren wir das Modell, sich selbst durch Verstärkungslernen (RL) weiterzuentwickeln. Anstatt sich zur Inferenzzeit auf externe Verifizierer zu verlassen, lernt das Modell, die Bewertungen seiner eigenen Generationen über Iterationen hinweg selbst zu verbessern. Bei der Auswertung auf SWE-Bench-Verified ermöglicht EvoScale unserem 32B-Modell, Satori-SWE-32B, die Leistung von Modellen mit über 100B Parametern zu erreichen oder zu übertreffen, während nur wenige Samples verwendet werden. Code, Daten und Modelle werden vollständig quelloffen sein.
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