ChatPaper.aiChatPaper

Satori-SWE : Mise à l'échelle évolutive en temps de test pour une ingénierie logicielle économe en échantillons

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

Résumé

Les modèles de langage (LMs) obtiennent de bons résultats sur les benchmarks de codage standardisés, mais rencontrent des difficultés avec les tâches d'ingénierie logicielle réelles, comme la résolution d'issues GitHub dans SWE-Bench, en particulier lorsque les paramètres du modèle sont inférieurs à 100 milliards. Bien que les modèles plus petits soient préférables en pratique en raison de leur coût computationnel réduit, améliorer leurs performances reste un défi. Les approches existantes reposent principalement sur un fine-tuning supervisé (SFT) avec des données de haute qualité, qui sont coûteuses à produire à grande échelle. Une alternative est le scaling au moment du test : générer plusieurs sorties, les évaluer à l'aide d'un vérificateur et sélectionner la meilleure. Bien qu'efficace, cette stratégie nécessite souvent un échantillonnage excessif et une évaluation coûteuse, limitant son application pratique. Nous proposons Evolutionary Test-Time Scaling (EvoScale), une méthode économe en échantillons qui traite la génération comme un processus évolutif. En affinant itérativement les sorties via sélection et mutation, EvoScale déplace la distribution des sorties vers des régions à score plus élevé, réduisant ainsi le nombre d'échantillons nécessaires pour trouver des solutions correctes. Pour réduire la surcharge liée à l'échantillonnage et à la sélection répétés, nous entraînons le modèle à s'auto-évoluer en utilisant l'apprentissage par renforcement (RL). Plutôt que de s'appuyer sur des vérificateurs externes au moment de l'inférence, le modèle apprend à auto-améliorer les scores de ses propres générations au fil des itérations. Évalué sur SWE-Bench-Verified, EvoScale permet à notre modèle de 32 milliards de paramètres, Satori-SWE-32B, d'égaler ou de surpasser les performances des modèles de plus de 100 milliards de paramètres tout en utilisant un nombre réduit d'échantillons. Le code, les données et les modèles seront entièrement open-source.
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

PDF232May 30, 2025