Este artigo de IA explica como as linguagens de programação podem se aprimorar mutuamente através do ajuste de instruções
A aplicação de algoritmos de ajuste de instruções é um avanço fascinante na área de LLMs de código
A introdução dos Modelos de Linguagem de Grande Escala (LLMs) tem causado grande impacto no mundo. Esses modelos são famosos por imitar humanos, gerando conteúdo único e criativo e respondendo a perguntas como um ser humano faria. Eles também são capazes de resumir longos parágrafos de texto, traduzir idiomas e completar códigos. O desenvolvimento de LLMs especificamente para produção de código tem crescido significativamente recentemente. CodeGeeX, StarCoder, CodeLlama e Codex são alguns dos notáveis LLMs de código introduzidos recentemente.
A aplicação de algoritmos de ajuste de instruções é um avanço fascinante na área de LLMs de código. Pesquisas recentes examinaram a ideia de ensinar LLMs a seguir instruções específicas para melhorar sua capacidade de produção de código. Um estudo recente explora a ideia intrigante de que, uma vez que programadores humanos dominaram uma linguagem de programação, pode ser mais simples para eles aprenderem uma segunda linguagem. O principal objetivo deste estudo é determinar se diferentes linguagens de programação podem se complementar enquanto os grandes modelos de linguagem ajustam suas instruções.
Para explorar e investigar essa teoria, um grupo de pesquisadores conduziu uma série de experimentos extensos envolvendo oito linguagens de programação populares: Python, JavaScript, TypeScript, C, C++, Java, Go e HTML. O principal objetivo desses testes era ver se o ajuste fino de instruções em uma linguagem de programação poderia aprimorar o desempenho de um LLM de código quando usado com outra. Para esses testes, o LLM de código usado foi o StarCoder.
Os resultados dos experimentos produziram algumas conclusões fortes. Foi mostrado que, quando se trata de tarefas de criação de código, as linguagens de programação definitivamente têm a capacidade de se apresentar notavelmente melhor do que outras. Por exemplo, quando testado em código Java usando o benchmark HumanEval-X, um modelo de código chamado CODEM-Python 15B, treinado em dados Python, demonstrou uma melhoria absoluta impressionante de 17,95% na precisão pass@1. Isso sugere que o conhecimento de uma linguagem, como Python, pode melhorar significativamente a produção de código em outra linguagem, como Java.
Ainda mais surpreendentemente, quando usado em um corpus de HTML (uma linguagem de marcação), o CODEM-HTML 7B mostrou uma melhoria absoluta significativa de 15,24% pass@1. Isso implica que até mesmo linguagens fundamentalmente diferentes, como linguagens de marcação como HTML e linguagens de programação convencionais como Java, podem melhorar mutuamente suas habilidades de produção de código.