Investigadores de China proponen un enfoque de generación y edición que utiliza los resultados de ejecución del código generado de los LLM para mejorar la calidad del código en…

Estás leyendo la publicación: Investigadores de China proponen un enfoque de generación y edición que utiliza los resultados de ejecución del código generado de los LLM para mejorar la calidad del código en…

Los investigadores se inspiran en el proceso de programación humana para ayudar a los LLM a desempeñarse mejor en trabajos de programación competitivos. El trabajo de programación competitiva se ha aplicado recientemente a grandes modelos de lenguaje. Este trabajo requiere implementar con precisión soluciones que puedan abarcar cientos de líneas y comprender una descripción sofisticada del lenguaje natural de un problema con casos de prueba de ejemplo. La ejecución de soluciones en casos de prueba ocultos permite la evaluación de la solución. Sin embargo, la precisión y las tasas de aprobación de los LLM actuales podrían ser más altas para este propósito. Por ejemplo, en la prueba APPS ampliamente utilizada, un punto de referencia de programación competitivo, el modelo GPT3, prácticamente el más poderoso, solo obtiene un 7% de precisión.

Los programadores a menudo desarrollan un programa inicial, ejecutan algunos casos de prueba de muestra y luego realizan cambios en el código en respuesta a los resultados de la prueba mientras resuelven las dificultades de programación competitivas. Durante este paso, el programador puede usar información importante de los resultados de la prueba para solucionar problemas del software. Implementan este concepto mediante el uso de un flujo de trabajo comparable con un editor basado en neuronas. Se examinó el código producido por un LLM previamente capacitado y se descubrió que varios de los códigos generados podrían mejorarse con pequeños ajustes.

🔥 Recomendado:  Revisión honesta de Pabbly Connect: ¿Es seguro y seguro? ¿Mejor que otros?

Ven que el mensaje de error identifica la falla de codificación, lo que les permite corregir el problema rápidamente. Nos alienta a buscar métodos de edición y mejorar la calidad del código producido por los LLM con la ayuda de los resultados de ejecución. En este estudio, investigadores de la Universidad de Pekín sugieren un enfoque único de generación y edición para mejorar los LLM en tareas de programación competitivas. Su método utiliza la capacidad de los LLM en tres fases para emular el comportamiento de los programadores humanos mencionados anteriormente:

  1. Generación utilizando LLM. Crean el programa basado en la descripción del problema utilizando modelos de lenguaje enormes como generadores de caja negra.
  2. Ejecución. Ejecutan el código creado en el caso de prueba de muestra utilizando LLM para obtener los resultados de la ejecución. También ofrecen plantillas para los resultados de ejecución como comentarios adicionales para incluir más datos útiles para la modificación.
  3. Editar. Crean un editor de código neuronal que reconoce fallas y mejora el código utilizando el código producido y comentarios adicionales como entrada. Su editor de código se esfuerza por aumentar el calibre y la precisión de la producción de código basada en LLM.

Llevan a cabo una investigación en profundidad sobre los puntos de referencia de programación competitivos públicos de APPS y HumanEval. Para demostrar la universalidad, aplican su metodología a 9 LLM conocidos con valores de parámetros que van desde 110M hasta 175B. Su estrategia eleva dramáticamente el rendimiento de LLM. En particular, su método eleva el promedio de pass@1 en APPS-dev y APPS-test en un 89 % y un 31 %, respectivamente. Su pequeño modelo de editor puede aumentar pass@1 del 26,6 % al 32,4 % en la prueba APPS-dev, incluso para el modelo de lenguaje más grande utilizado, GPT3-175B. Demuestran la transferibilidad de su método en el punto de referencia fuera de distribución al mejorar el promedio de pass@1 en un 48 % en un nuevo tipo de conjunto de datos llamado HumanEval. Recientemente se han presentado varios métodos para el posprocesamiento de programas creados por LLM.

🔥 Recomendado:  Cómo eliminar Index.php de la URL en Magento

Estos métodos realizan un muestreo LLM extenso, reclasifican los programas muestreados y producen el programa final. Su estrategia, por el contrario, proporciona dos beneficios: su método mantiene constante el presupuesto de la muestra y reduce drásticamente la carga computacional de los LLM. Su editor altera los programas directamente y supera estas técnicas basadas en la reclasificación, particularmente con un presupuesto de muestra limitado como pass@1. Son los primeros, hasta donde saben, en utilizar una técnica de posprocesamiento basada en la edición para programar concursos.

La siguiente es una lista de las contribuciones:

• Para producir código de alta calidad para trabajos de programación desafiantes, sugieren un método de generación y edición para grandes modelos de lenguaje.

• Crean un editor de códigos neuronales que detecta fallas que utiliza mensajes de error y produce código como entrada para mejorar la precisión y la calidad del código.

• Realizan pruebas utilizando dos conjuntos de datos bien conocidos y nueve LLM para mostrar la potencia y la aplicabilidad de su estrategia.