ChatPaper.aiChatPaper

AST-T5: Pretraining Consciente de la Estructura para la Generación y Comprensión de Código

AST-T5: Structure-Aware Pretraining for Code Generation and Understanding

January 5, 2024
Autores: Linyuan Gong, Mostafa Elhoushi, Alvin Cheung
cs.AI

Resumen

Los modelos de lenguaje de gran escala (LLMs) han logrado avances significativos en tareas relacionadas con código, aunque muchos LLMs tratan el código como simples secuencias, descuidando su naturaleza estructurada. Presentamos AST-T5, un nuevo paradigma de preentrenamiento que aprovecha el Árbol de Sintaxis Abstracta (AST) para mejorar la generación, transpilación y comprensión de código. Utilizando programación dinámica, nuestra Segmentación Consciente del AST preserva la estructura del código, mientras que nuestro objetivo de Corrupción de Segmentos Consciente del AST capacita al modelo para reconstruir diversas estructuras de código. A diferencia de otros modelos, AST-T5 evita análisis de programas complejos o cambios arquitectónicos, por lo que se integra perfectamente con cualquier Transformer de codificador-decodificador. Las evaluaciones muestran que AST-T5 supera consistentemente a modelos de lenguaje de tamaño similar en diversas tareas relacionadas con código. La conciencia estructural hace que AST-T5 sea particularmente potente en tareas de código a código, superando a CodeT5 por 2 puntos en la puntuación de coincidencia exacta para la tarea Bugs2Fix y por 3 puntos en la puntuación de coincidencia exacta para la transpilación Java-C# en CodeXGLUE. Nuestro código y modelo están disponibles públicamente en https://github.com/gonglinyuan/ast_t5.
English
Large language models (LLMs) have made significant advancements in code-related tasks, yet many LLMs treat code as simple sequences, neglecting its structured nature. We introduce AST-T5, a novel pretraining paradigm that leverages the Abstract Syntax Tree (AST) for enhanced code generation, transpilation, and understanding. Using dynamic programming, our AST-Aware Segmentation retains code structure, while our AST-Aware Span Corruption objective equips the model to reconstruct various code structures. Unlike other models, AST-T5 avoids intricate program analyses or architectural changes, so it integrates seamlessly with any encoder-decoder Transformer. Evaluations show that AST-T5 consistently outperforms similar-sized LMs across various code-related tasks. Structure-awareness makes AST-T5 particularly powerful in code-to-code tasks, surpassing CodeT5 by 2 points in exact match score for the Bugs2Fix task and by 3 points in exact match score for Java-C# Transpilation in CodeXGLUE. Our code and model are publicly available at https://github.com/gonglinyuan/ast_t5.
PDF132December 15, 2024