A DeepMind, subsidiária da Alphabet Inc. com foco em inteligência artificial, anunciou que o seu sistema AlphaCode é capaz de criar soluções para problemas por meio da programação, atingindo um nível mediano em competições realizadas com desenvolvedores humanos. 

Estes eventos exigem que os participantes analisem um problema descrito em linguagem natural e, a partir disso, criem um algoritmo capaz de oferecer respostas ao desafio apresentado. 

A conquista da empresa-mãe do Google foi descrita em um artigo que ainda não foi revisado por pares. De acordo com o estudo, o AlphaCode conseguiu ocupar um lugar no ranking entre os primeiros 54,3% dos participantes em 10 competições que contaram com mais de 5 mil competidores.

Segundo a DeepMind, o AlphaCode é o primeiro sistema de criação de código que utiliza inteligência artificial a participar de competições que envolvem humanos. No caso, os desafios ocorreram na plataforma Codeforces.

Os pesquisadores acreditam que isso pode auxiliar no aumento da produtividade dos profissionais da área ou ainda ajudar aqueles que não sabem programar a criar soluções sem a necessidade de escreverem o código.

Análise do problema 

Assim como os seus concorrentes humanos, o AlphaCode teve que analisar a descrição de um problema e rapidamente escrever um código capaz de solucioná-lo. Este tipo de tarefa é ainda mais difícil do que treinar um modelo utilizando dados do GitHub para resolver um desafio de programação simples.

Isso porque o sistema da DeepMind precisou passar pelo mesmo processo que os humanos. Ou seja, foi necessário compreender uma descrição do problema a partir de vários parágrafos em linguagem natural, os detalhes da narrativa de fundo e uma descrição da solução esperada em termos de input e output. 

Linhas de código de programação
O AlphaCode é o primeiro sistema de criação de código que utiliza inteligência artificial a participar de competições que envolvem humanos.

Para criar uma solução aos desafios, os participantes não deveriam apenas criar um algoritmo, mas também implementá-lo de forma eficiente. Assim, era necessário optar por linguagens de programação mais rápidas, como C++ em vez de Python

O banco de dados do AlphaCode contava com 715 GB de código provenientes de arquivos obtidos do GitHub e escritos em C++, C#, Go, Java, JavaScript/TypeScript, Lua, Python, PHP, Ruby, Rust e Scala. 

Os pesquisadores ajustaram o modelo a partir de bancos de dados obtidos de plataforma como o Codeforces e que continham problemas de programação utilizados em competições. 

A DeepMind foi capaz de aprimorar o AlphaCode ao combinar transformadores de processamento de linguagem natural de larga escala, como os modelos GPT-3, da Open AI, e o BERT, do Google. Isso permitiu que o sistema criasse o código e filtrasse o output para um conjunto menor de “programas promissores” que foram submetidos à avaliação. 

Os pesquisadores explicam que, durante a avaliação, eles criaram grandes quantidades de programas C++ e Python para cada problema. Posteriormente, eles selecionaram 10 candidatos para serem submetidos a avaliações externas.

Inteligência artificial vs. desenvolvedores

Em relação às desvantagens oferecidas pelo sistema, a DeepMind aponta que os modelos podem gerar códigos com vulnerabilidades. Isso pode ocorrer devido a códigos desatualizados ou até mesmo códigos maliciosos injetados de forma intencional no banco de dados. 

Apesar dos potenciais riscos de a inteligência artificial reduzir a demanda por desenvolvedores no futuro, a DeepMind afirma que as ferramentas atuais ainda contam com muitas limitações. De acordo com a empresa, o sistema desenvolvido por ela ainda está longe de representar qualquer tipo de ameaça aos profissionais humanos.

A companhia reforça que o seu objetivo é criar sistemas capazes de desenvolver habilidades de resolução de problemas com o intuito de ajudar a humanidade.

No artigo, os pesquisadores pontuam que ainda há muito a ser melhorado em seu trabalho e que eles continuarão em busca de ideias para aumentar a produtividade dos desenvolvedores e abrir oportunidades nesta área para aqueles que ainda não sabem programar. 

0 Shares:
Deixe um comentário
Você também pode gostar