Estás leyendo la publicación: Los modelos de lenguaje no reconocen los intercambios de identificadores en Python: este documento de IA explora la capacidad de los LLM para predecir las continuaciones correctas de los fragmentos…
Los modelos de lenguaje grande (LLM) preentrenados se están convirtiendo rápidamente en el paradigma principal para una amplia gama de actividades lingüísticas, incluida la creación y finalización de código informático. Los LLM han mostrado un rendimiento mejorado con el aumento del tamaño del modelo en muchas tareas del mundo real, incluidas las tareas de programación. Sin embargo, más recientemente, los investigadores han descubierto varias tareas que muestran una escala inversa, donde la calidad de salida disminuye en lugar de mejorar al aumentar el tamaño del modelo. Las tareas de escalado inverso generalmente incluyen sesgos sociales, donde los modelos más grandes (quizás correctamente) detectan sesgos no deseados de conjuntos de entrenamiento sesgados o ejemplos de lenguaje hablado extremadamente poco comunes pero aún reconocibles.
Estas tareas extremas no indican necesariamente modos de falla importantes para las aplicaciones prácticas porque tienden a ser muy artificiales y pueden implicar una pragmática del habla extraña o necesitar razonamiento sobre información contrafáctica. En esta investigación, investigadores de la Universidad de Edimburgo y la Universidad Heriot-Watt ofrecen un nuevo tipo de trabajo de escalado inverso que implica la creación de código Python mientras se cambian los identificadores predeterminados. Esto tiene ramificaciones prácticas inmediatas (la redefinición de identificadores predeterminados es una técnica de metaprogramación utilizada en bibliotecas conocidas) y ramificaciones científicas más generales porque demuestra que los LLM tienen fallas en su capacidad para razonar sobre la estructura semántica compleja y abstracta de los lenguajes de programación y que aumentar el tamaño del modelo no mejora estos problemas, sino que incluso puede empeorarlos.
Los lenguajes de programación están particularmente bien adaptados al análisis automatizado y la creación de procedimientos debido a su sintaxis y semántica claras y bien definidas. Son científicamente intrigantes porque, a diferencia de otras tareas de PNL, que tienen demasiada ambigüedad para producir ejemplos de alta calidad automáticamente, pueden usarse para generar automáticamente instancias de dificultades de codificación y evaluarlas contra una verdad básica objetiva. Además, este estudio es útil para las plataformas de ingeniería de software que emplean LLM, como GitHub Copilot2, que los desarrolladores están comenzando a utilizar ampliamente.
En los casos en que las continuaciones correctas son estadísticamente inusuales debido a la redefinición de los identificadores producidos por una declaración que colocaron en el indicador, investigaron la capacidad de los grandes modelos de lenguaje para predecir las continuaciones correctas de los fragmentos del programa Python. No solo todos los modelos examinados se desempeñan mal en esta tarea, sino que varias familias de modelos exhiben una escala inversa, lo que significa que a medida que aumenta el tamaño del modelo, empeoran en lugar de mejorar. Estos hallazgos implican que los LLM se basan en el “aprendizaje abreviado” o correlaciones débiles, inestables y en gran medida léxicas en los datos, en lugar de comprender a fondo la semántica de los datos (en este caso, el código Python). Estos hallazgos son cruciales para mejorar el conocimiento científico de las capacidades de LLM y su aplicabilidad como tecnología fundamental para las herramientas de creación de código automatizadas. La investigación futura podría examinar los impactos de escala en otros lenguajes de programación y tamaños de modelo más grandes.