Satori-SWE: Escalado Evolutivo en Tiempo de Pruebas para la Ingeniería de Software Eficiente en Muestras
Satori-SWE: Evolutionary Test-Time Scaling for Sample-Efficient Software Engineering
May 29, 2025
Autores: 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
Resumen
Los modelos de lenguaje (LM, por sus siglas en inglés) tienen un buen desempeño en benchmarks estandarizados de codificación, pero enfrentan dificultades en tareas de ingeniería de software del mundo real, como resolver problemas en GitHub en SWE-Bench, especialmente cuando los parámetros del modelo son menores a 100B. Aunque los modelos más pequeños son preferibles en la práctica debido a su menor costo computacional, mejorar su rendimiento sigue siendo un desafío. Los enfoques existentes se basan principalmente en el ajuste fino supervisado (SFT, por sus siglas en inglés) con datos de alta calidad, los cuales son costosos de curar a gran escala. Una alternativa es el escalado en tiempo de prueba: generar múltiples salidas, puntuarlas mediante un verificador y seleccionar la mejor. Aunque efectiva, esta estrategia suele requerir un muestreo excesivo y una puntuación costosa, limitando su aplicación práctica. Proponemos el Escalado Evolutivo en Tiempo de Prueba (EvoScale), un método eficiente en muestreo que trata la generación como un proceso evolutivo. Al refinar iterativamente las salidas mediante selección y mutación, EvoScale desplaza la distribución de salidas hacia regiones de mayor puntuación, reduciendo el número de muestras necesarias para encontrar soluciones correctas. Para disminuir la sobrecarga del muestreo y selección repetidos, entrenamos el modelo para auto-evolucionar utilizando aprendizaje por refuerzo (RL, por sus siglas en inglés). En lugar de depender de verificadores externos durante la inferencia, el modelo aprende a auto-mejorar las puntuaciones de sus propias generaciones a lo largo de las iteraciones. Evaluado en SWE-Bench-Verified, EvoScale permite que nuestro modelo de 32B, Satori-SWE-32B, iguale o supere el rendimiento de modelos con más de 100B parámetros utilizando pocas muestras. El código, los datos y los modelos se publicarán completamente como código abierto.
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