Evaluar la competencia de los modelos de lenguaje para abordar los desafíos de la ingeniería de software del mundo real es esencial para su progreso. Ingrese a SWE-bench, un marco de evaluación innovador que emplea problemas de GitHub de repositorios de Python y solicitudes de extracción para medir la capacidad de estos modelos para abordar tareas de codificación y resolución de problemas. Sorprendentemente, los hallazgos revelan que incluso los modelos más avanzados sólo pueden abordar cuestiones sencillas. Esto pone de relieve la necesidad apremiante de seguir avanzando en los modelos de lenguaje para permitir soluciones de ingeniería de software prácticas e inteligentes.
Si bien investigaciones anteriores han introducido marcos de evaluación para modelos de lenguaje, a menudo necesitan más versatilidad y abordan la complejidad de las tareas de ingeniería de software del mundo real. En particular, los puntos de referencia existentes para la generación de código deben capturar la profundidad de estos desafíos. El marco SWE-bench de investigadores de la Universidad de Princeton y la Universidad de Chicago se destaca por centrarse en cuestiones de ingeniería de software del mundo real, como la generación de parches y el razonamiento contextual complejo, y ofrece una evaluación más realista y completa para mejorar los modelos de lenguaje con capacidades de ingeniería de software. . Esto es particularmente relevante en el campo del Aprendizaje Automático para la Ingeniería de Software.
A medida que los modelos de lenguaje (LM) se utilizan ampliamente en aplicaciones comerciales, se hace evidente la necesidad de puntos de referencia sólidos para evaluar sus capacidades. Es necesario revisar los puntos de referencia existentes para desafiar a los LM con tareas del mundo real. Las tareas de ingeniería de software ofrecen un desafío convincente por su complejidad y verificabilidad mediante pruebas unitarias. SWE-bench aprovecha los problemas y soluciones de GitHub para crear un punto de referencia práctico para evaluar LM en un contexto de ingeniería de software, promoviendo la aplicabilidad en el mundo real y las actualizaciones continuas.
Su investigación incluye 2294 problemas de ingeniería de software del mundo real de GitHub. Los LM editan bases de código para resolver problemas entre funciones, clases y archivos. Las entradas del modelo incluyen instrucciones de tareas, texto del problema, archivos recuperados, parche de ejemplo y un mensaje. El rendimiento del modelo se evalúa en dos configuraciones de contexto: recuperación dispersa y recuperación de Oracle.
Los resultados de la evaluación indican que incluso los modelos de última generación como Claude 2 y GPT-4 luchan por resolver problemas de ingeniería de software del mundo real, logrando tasas de aprobación tan bajas como 4,8% y 1,7%, incluso con los mejores métodos de recuperación de contexto. Sus modelos funcionan peor cuando abordan cuestiones de contextos más largos y muestran sensibilidad a las variaciones del contexto. Sus modelos tienden a generar archivos de parche más cortos y con peor formato, lo que destaca los desafíos en el manejo de tareas complejas relacionadas con el código.
A medida que avanzan los LM, el documento destaca la necesidad crítica de su evaluación integral en escenarios prácticos del mundo real. El marco de evaluación, SWE-bench, sirve como un banco de pruebas desafiante y realista para evaluar las capacidades de los LM de próxima generación dentro del contexto de la ingeniería de software. Los resultados de la evaluación revelan las limitaciones actuales incluso de los LM de última generación para manejar desafíos complejos de ingeniería de software. Sus contribuciones enfatizan la necesidad de desarrollar LM más prácticos, inteligentes y autónomos.
Los investigadores proponen varias vías para avanzar en el marco de evaluación del banco SWE. Su investigación sugiere ampliar el punto de referencia con una gama más amplia de problemas de ingeniería de software. Explorar técnicas de recuperación avanzadas y enfoques de aprendizaje multimodal puede mejorar el rendimiento de los modelos de lenguaje. Abordar las limitaciones en la comprensión de cambios de código complejos y mejorar la generación de archivos de parches bien formateados se destacan como áreas importantes para exploración futura. Estos pasos tienen como objetivo crear un marco de evaluación más completo y eficaz para modelos de lenguaje en escenarios de ingeniería de software del mundo real.
Revisar la Papel y GitHub. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, no olvides unirte. nuestro SubReddit de 31k+ ML, Comunidad de Facebook de más de 40.000 personas, Canal de discordia, y Boletín electrónicodonde compartimos las últimas noticias sobre investigaciones de IA, interesantes proyectos de IA y más.
Si te gusta nuestro trabajo, te encantará nuestra newsletter.
También estamos en WhatsApp. Únase a nuestro canal de IA en Whatsapp.
Hola, mi nombre es Adnan Hassan. Soy pasante de consultoría en Marktechpost y pronto seré aprendiz de gestión en American Express. Actualmente estoy cursando una doble titulación en el Instituto Indio de Tecnología, Kharagpur. Me apasiona la tecnología y quiero crear nuevos productos que marquen la diferencia.