Geração Automática de Código para Tarefas de Tecnologia da Informação em YAML por meio de Modelos de Linguagem de Grande Escala
Automated Code generation for Information Technology Tasks in YAML through Large Language Models
May 2, 2023
Autores: Saurabh Pujar, Luca Buratti, Xiaojie Guo, Nicolas Dupuis, Burn Lewis, Sahil Suneja, Atin Sood, Ganesh Nalawade, Matt Jones, Alessandro Morari, Ruchir Puri
cs.AI
Resumo
A recente melhoria nas capacidades de geração de código, decorrente do uso de modelos de linguagem de grande escala, tem beneficiado principalmente linguagens de programação de propósito geral. Linguagens específicas de domínio, como as utilizadas para automação de TI, receberam muito menos atenção, apesar de envolverem muitos desenvolvedores ativos e serem um componente essencial das plataformas de nuvem modernas. Este trabalho foca na geração de Ansible-YAML, uma linguagem de marcação amplamente utilizada para automação de TI. Apresentamos o Ansible Wisdom, uma ferramenta de geração de código de linguagem natural para Ansible-YAML, com o objetivo de melhorar a produtividade na automação de TI. O Ansible Wisdom é um modelo baseado em transformadores, estendido por meio do treinamento com um novo conjunto de dados contendo Ansible-YAML. Também desenvolvemos duas novas métricas de desempenho para YAML e Ansible, a fim de capturar as características específicas desse domínio. Os resultados mostram que o Ansible Wisdom pode gerar com precisão scripts Ansible a partir de prompts de linguagem natural, com desempenho comparável ou superior aos modelos de geração de código mais avançados existentes.
English
The recent improvement in code generation capabilities due to the use of
large language models has mainly benefited general purpose programming
languages. Domain specific languages, such as the ones used for IT Automation,
have received far less attention, despite involving many active developers and
being an essential component of modern cloud platforms. This work focuses on
the generation of Ansible-YAML, a widely used markup language for IT
Automation. We present Ansible Wisdom, a natural-language to Ansible-YAML code
generation tool, aimed at improving IT automation productivity. Ansible Wisdom
is a transformer-based model, extended by training with a new dataset
containing Ansible-YAML. We also develop two novel performance metrics for YAML
and Ansible to capture the specific characteristics of this domain. Results
show that Ansible Wisdom can accurately generate Ansible script from natural
language prompts with performance comparable or better than existing state of
the art code generation models.