La recuperación de código se ha vuelto esencial para los desarrolladores de software moderno, ya que permite un acceso eficiente a fragmentos de código y documentación relevantes. A diferencia de la recuperación de texto tradicional, que maneja eficazmente consultas en lenguaje natural, la recuperación de código debe abordar desafíos únicos, como las variaciones estructurales, las dependencias y la relevancia contextual de los lenguajes de programación. Con herramientas como GitHub Copilot ganando popularidad, los sistemas avanzados de recuperación de código son cada vez más vitales para mejorar la productividad y reducir errores.
Los modelos de recuperación existentes a menudo tienen dificultades para capturar matices específicos de la programación, como la sintaxis, el flujo de control y las dependencias variables. Estas limitaciones dificultan la resolución de problemas en el resumen, la depuración y la traducción de código entre idiomas. Si bien los modelos de recuperación de texto han experimentado avances significativos, no cumplen con los requisitos específicos de la recuperación de código, lo que destaca la demanda de modelos especializados que mejoren la precisión y la eficiencia en diversas tareas de programación. Modelos como CodeBERT, CodeGPT y UniXcoder han abordado aspectos de la recuperación de código utilizando arquitecturas previamente entrenadas. Aún así, su escalabilidad y versatilidad están limitadas debido a su tamaño más pequeño y su enfoque en tareas específicas. Aunque Voyage-Code introdujo capacidades a gran escala, su naturaleza de código cerrado restringe una adopción más amplia. Esto resalta la necesidad crítica de un sistema de recuperación de código escalable y de código abierto que se generalice en múltiples tareas.
Se presentan los investigadores de Salesforce AI Research CódigoXIncrustaruna familia de modelos de incrustación de código abierto diseñados específicamente para la recuperación de código y texto. Estos modelos, lanzados en tres tamaños, Código-de-incrustación-SFR-400M_R, SFR-Código-de-incrustación-2B_Ry 7 mil millones de parámetros, abordan varios lenguajes de programación y tareas de recuperación. El innovador canal de capacitación de CodeXEmbed integra 12 lenguajes de programación y transforma cinco categorías distintas de recuperación de código en un marco unificado. Al admitir diversas tareas, como recuperación de texto a código, de código a texto y híbridas, el modelo amplía los límites de lo que los sistemas de recuperación pueden lograr, ofreciendo una flexibilidad y un rendimiento sin precedentes.
CodeXEmbed emplea un enfoque innovador que transforma las tareas relacionadas con el código en un marco unificado de consulta y respuesta, lo que permite versatilidad en varios escenarios. La recuperación de texto a código asigna consultas en lenguaje natural a fragmentos de código relevantes, agilizando tareas como la generación y depuración de código. La recuperación de código a texto genera explicaciones y resúmenes de código, lo que mejora la documentación y el intercambio de conocimientos. La recuperación híbrida integra texto y datos de código, abordando eficazmente consultas complejas que requieren conocimientos técnicos y descriptivos. El entrenamiento del modelo aprovecha la pérdida contrastiva para optimizar la alineación entre consultas y respuestas y, al mismo tiempo, reducir la influencia de los datos irrelevantes. Técnicas avanzadas como la adaptación de bajo rango y la agrupación de tokens aumentan la eficiencia sin sacrificar el rendimiento.
En las pruebas, se ha evaluado en varios puntos de referencia. En el punto de referencia CoIR, un conjunto de datos de evaluación de recuperación de código integral que cubre 10 subconjuntos y más de 2 millones de entradas, el modelo de 7 mil millones de parámetros logró una mejora de rendimiento de más del 20% en comparación con el modelo Voyage-Code de última generación anterior. . En particular, los modelos de parámetros de 400 millones y 2 mil millones también superaron a Voyage-Code, lo que demuestra la escalabilidad de la arquitectura en diferentes tamaños. Además, CodeXEmbed se destacó en tareas de recuperación de texto, con el modelo de 7 mil millones de parámetros logrando una puntuación promedio de 60 en el punto de referencia BEIR, un conjunto de 15 conjuntos de datos que cubren diversas tareas de recuperación, como respuesta a preguntas y verificación de hechos.
Los modelos pueden recuperar código y mejorar la generación aumentada de recuperación de un extremo a otro (TRAPO) sistemas. Por ejemplo, cuando se aplicó a tareas a nivel de repositorio, como la finalización de código y la resolución de problemas, el modelo de 7 mil millones de parámetros logró resultados notables en puntos de referencia como RepoEval y SWE-Bench-Lite. RepoEval, que se centra en la finalización de código a nivel de repositorio, obtuvo mejoras de precisión de primer nivel cuando el modelo recuperó fragmentos contextualmente relevantes. En SWE-Bench-Lite, un conjunto de datos seleccionado para la resolución de problemas de GitHub, CodeXEmbed superó a los sistemas de recuperación tradicionales.
Las conclusiones clave de la investigación destacan las contribuciones y las implicaciones de CodeXEmbed en el avance de la recuperación de código:
- El modelo de 7 mil millones de parámetros logró un rendimiento de vanguardia, con una mejora de más del 20 % en el punto de referencia CoIR y resultados competitivos en BEIR. Demostró versatilidad en tareas de código y texto.
- Los modelos de 400 millones y 2 mil millones de parámetros ofrecen alternativas prácticas para entornos donde los recursos computacionales son limitados.
- Los modelos abordan un amplio espectro de aplicaciones relacionadas con el código al unificar 12 lenguajes de programación y cinco categorías de recuperación.
- A diferencia de los sistemas cerrados como Voyage-Code, CodeXEmbed promueve la investigación y la innovación impulsadas por la comunidad.
- La integración con sistemas de generación aumentada de recuperación mejora los resultados de tareas como la finalización de código y la resolución de problemas.
- El uso de pérdida contrastiva y agrupación de tokens optimiza la precisión de la recuperación y la adaptabilidad del modelo.
En conclusión, la introducción de la familia CodeXEmbed por parte de Salesforce avanza en la recuperación de código. Estos modelos demuestran una versatilidad y escalabilidad incomparables al lograr un rendimiento de vanguardia en el punto de referencia CoIR y sobresalir en tareas de recuperación de texto. El marco unificado multilingüe y multitarea, que admite 12 lenguajes de programación, posiciona a CodeXEmbed como una herramienta fundamental para desarrolladores e investigadores. Su accesibilidad de código abierto fomenta la innovación impulsada por la comunidad y al mismo tiempo cierra la brecha entre el lenguaje natural y la recuperación de código.
Verificar el Papel, Modelo 400M, y Modo 2Byo. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, no olvides seguirnos en Gorjeo y únete a nuestro Canal de telegramas y LinkedIn Grarriba. No olvides unirte a nuestro SubReddit de más de 65.000 ml.
🚨 Recomendar plataforma de código abierto: Parlant es un marco que transforma la forma en que los agentes de IA toman decisiones en escenarios de cara al cliente. (Promovido)
Asif Razzaq es el director ejecutivo de Marktechpost Media Inc.. Como empresario e ingeniero visionario, Asif está comprometido a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, Marktechpost, que se destaca por su cobertura en profundidad del aprendizaje automático y las noticias sobre aprendizaje profundo que es técnicamente sólida y fácilmente comprensible para una amplia audiencia. La plataforma cuenta con más de 2 millones de visitas mensuales, lo que ilustra su popularidad entre el público.