DeepMind afirma que seu novo sistema de geração de código é competitivo com programadores humanos

Nó Fonte: 1883963

Junte-se online aos principais executivos da atualidade no Data Summit em 9 de março. Registro SUA PARTICIPAÇÃO FAZ A DIFERENÇA.


No ano passado, o laboratório de pesquisa OpenAI, com sede em São Francisco, lançou Códice, um modelo de IA para traduzir comandos de linguagem natural em código de aplicativo. O modelo, que alimenta o GitHub Copilot recurso, foi anunciado na época como um dos exemplos mais poderosos de programação de máquinas, a categoria de ferramentas que automatiza o desenvolvimento e a manutenção de software.

Para não ficar para trás, DeepMind – o laboratório de IA apoiado pela empresa controladora do Google, Alphabet – afirma ter aprimorado o Codex em áreas-chave com AlphaCode, um sistema que pode escrever código de “nível de competição”. Nas competições de programação hospedadas no Codeforces, uma plataforma para concursos de programação, a DeepMind afirma que o AlphaCode alcançou uma classificação média entre os 54.3% melhores em 10 concursos recentes com mais de 5,000 participantes cada.

O principal pesquisador da DeepMind, Oriol Vinyals, diz que é a primeira vez que um sistema de computador atinge um nível tão competitivo em todas as competições de programação. “AlphaCode [pode] ler as descrições em linguagem natural de um problema algorítmico e produzir código que não apenas compila, mas está correto”, acrescentou em um comunicado. “[Isso] indica que ainda há trabalho a ser feito para alcançar o nível dos mais altos desempenhos e aprimorar os recursos de solução de problemas de nossos sistemas de IA. Esperamos que este benchmark leve a mais inovações na solução de problemas e geração de código.”

Aprendendo a codificar com IA

A programação de máquinas foi sobrecarregada pela IA nos últimos meses. Durante sua Construa conferência de desenvolvedores em maio de 2021, a Microsoft detalhou uma novo recurso no Power Apps que toca no OpenAI GPT-3 modelo de linguagem para ajudar as pessoas na escolha de fórmulas. da Intel ControlFlag pode detectar erros de forma autônoma no código. E do Facebook Transcodificador converte o código de uma linguagem de programação em outra.

As aplicações são vastas em escopo – explicando por que há tanta pressa em criar tais sistemas. De acordo com um estudo da Universidade de Cambridge, pelo menos metade dos esforços dos desenvolvedores são gastos com depuração, o que custa à indústria de software cerca de US$ 312 bilhões por ano. As ferramentas de revisão e sugestão de código alimentadas por IA prometem reduzir os custos de desenvolvimento, permitindo que os codificadores se concentrem em tarefas criativas e menos repetitivas – supondo que os sistemas funcionem conforme anunciado.

Assim como o Codex, o AlphaCode — cuja maior versão contém 41.4 bilhões de parâmetros, aproximadamente o quádruplo do tamanho do Codex — foi treinado em um instantâneo de repositórios públicos no GitHub nas linguagens de programação C++, C#, Go, Java, JavaScript, Lua, PHP, Python, Ruby, Rust, Scala e TypeScript. O conjunto de dados de treinamento do AlphaCode tinha 715.1 GB – quase o mesmo tamanho do Codex, que a OpenAI estimou em “mais de 600 GB”.

Um exemplo da interface que o AlphaCode usou para responder aos desafios de programação.

No aprendizado de máquina, os parâmetros são a parte do modelo que é aprendida com os dados históricos de treinamento. De um modo geral, a correlação entre o número de parâmetros e sofisticação se manteve notavelmente bem.

Arquitetonicamente, AlphaCode é o que se conhece como transformadormodelo de linguagem baseado — semelhante ao modelo de geração de código do Salesforce Código T5. A arquitetura do Transformer é composta por dois componentes principais: um codificador e um decodificador. O codificador contém camadas que processam dados de entrada, como texto e imagens, camada por camada de forma iterativa. Cada camada do codificador gera codificações com informações sobre quais partes das entradas são relevantes entre si. Eles então passam essas codificações para a próxima camada antes de atingir a camada final do codificador.

Criando um novo benchmark

Os transformadores normalmente passam por aprendizado semi-supervisionado que envolve pré-treinamento não supervisionado, seguido de ajuste fino supervisionado. Residindo entre o aprendizado supervisionado e não supervisionado, o aprendizado semissupervisionado aceita dados parcialmente rotulados ou onde a maioria dos dados não possui rótulos. Nesse caso, os transformadores são primeiro submetidos a dados “desconhecidos” para os quais não existem rótulos previamente definidos. Durante o processo de ajuste fino, os Transformers treinam em conjuntos de dados rotulados para que aprendam a realizar tarefas específicas, como responder a perguntas, analisar sentimentos e parafrasear documentos.

No caso do AlphaCode, o DeepMind ajustou e testou o sistema no CodeContests, um novo conjunto de dados criado pelo laboratório que inclui problemas, soluções e casos de teste extraídos do Codeforces com conjuntos de dados de programação públicos misturados. O DeepMind também testou a versão de melhor desempenho do AlphaCode — um conjunto do modelo de 41 bilhões de parâmetros e um modelo de 9 bilhões de parâmetros — em testes reais de programação no Codeforces, executando o AlphaCode ao vivo para gerar soluções para cada problema.

Nos CodeContests, com até um milhão de amostras por problema, o AlphaCode resolveu 34.2% dos problemas. E no Codeforces, a DeepMind afirma que estava entre os 28% melhores usuários que participaram de um concurso nos últimos seis meses em termos de desempenho geral.

“O mais recente artigo do DeepMind é mais uma vez um feito impressionante de engenharia que mostra que ainda há ganhos impressionantes a serem obtidos de nossos modelos atuais baseados em Transformer com 'apenas' os ajustes de amostragem e treinamento corretos e nenhuma mudança fundamental na arquitetura do modelo ”, Connor Leahy, membro do esforço de pesquisa de IA aberta EleutherAI, disse à VentureBeat por e-mail. “O DeepMind traz a caixa de ferramentas completa de ajustes e práticas recomendadas usando dados limpos, modelos grandes, um conjunto completo de truques de treinamento inteligentes e, é claro, muita computação. A DeepMind impulsionou o desempenho desses modelos muito mais rápido do que eu esperava. O resultado de programação competitiva do percentil 50 é um grande salto, e sua análise mostra claramente que isso não é 'apenas memorização'. O progresso nos modelos de codificação de GPT3 para codex para AlphaCode foi realmente incrivelmente rápido.”

Limitações da geração de código

A programação de máquina não é uma ciência resolvida, e a DeepMind admite que o AlphaCode tem limitações. Por exemplo, o sistema nem sempre produz um código sintaticamente correto para cada linguagem, principalmente em C++. O AlphaCode também tem um desempenho pior na geração de código desafiador, como o necessário para programação dinâmica, uma técnica para resolver problemas matemáticos complexos.

O AlphaCode também pode ser problemático de outras maneiras. Embora o DeepMind não tenha sondado o modelo quanto a viés, os modelos geradores de código, incluindo o Codex, demonstraram amplificar o conteúdo tóxico e falho nos conjuntos de dados de treinamento. Por exemplo, o Codex pode ser solicitado a escrever “terrorista” quando alimentado com a palavra “Islã” e gerar um código que parece estar superficialmente correto, mas representa um risco de segurança ao invocar software comprometido e usar configurações inseguras.

Sistemas como o AlphaCode — que, deve-se notar, são caro para produzir e manter — também pode ser mal utilizado, uma vez que estudos recentes explorados. Pesquisadores da Booz Allen Hamilton e Eleuther AI treinou um modelo de linguagem chamado GPT-J para gerar código que pudesse resolver exercícios introdutórios de ciência da computação, ignorando com sucesso um software de detecção de plágio de programação amplamente usado. Na Universidade de Maryland, pesquisadores descobriram que é possível que os modelos de linguagem atuais gerem relatórios falsos de segurança cibernética que são convincente o suficiente para enganar os principais especialistas.

É uma questão em aberto se os atores mal-intencionados usarão esses tipos de sistemas no futuro para automatizar a criação de malware em escala. Por esse motivo, Mike Cook, pesquisador de IA da Queen Mary University of London, contesta a ideia de que o AlphaCode aproxima a indústria de “uma IA para solução de problemas”.

“Acho que esse resultado não é muito surpreendente, uma vez que a compreensão de texto e a geração de código são duas das quatro grandes tarefas em que a IA tem mostrado melhorias nos últimos anos… Um desafio com esse domínio é que as saídas tendem a ser bastante sensíveis a falhas. Uma palavra, pixel ou nota musical errada em uma história, arte ou melodia gerada por IA pode não arruinar tudo para nós, mas um único caso de teste perdido em um programa pode derrubar ônibus espaciais e destruir economias ”, disse Cook ao VentureBeat via email. “Então, embora a ideia de dar o poder da programação para pessoas que não sabem programar seja empolgante, temos muitos problemas para resolver antes de chegarmos lá.”

Se a DeepMind puder resolver esses problemas – e isso é um grande if - significa obter um lucro confortável em um mercado em constante crescimento. Dos domínios práticos que o laboratório abordou recentemente com IA, como previsão do tempomodelagem de materiaiscomputação de energia atômicarecomendações de aplicativosotimização de refrigeração do datacenter, a programação está entre as mais lucrativas. Mesmo migrar uma base de código existente para uma linguagem mais eficiente como Java ou C++ exige uma soma principesca. Por exemplo, o Commonwealth Bank of Australia gasto cerca de US $ 750 milhões ao longo de cinco anos para converter sua plataforma de COBOL para Java.

“Posso dizer com segurança que os resultados do AlphaCode superaram minhas expectativas. Eu estava cético porque, mesmo em problemas competitivos simples, muitas vezes é necessário não apenas implementar o algoritmo, mas também (e essa é a parte mais difícil) inventá-lo”, disse o fundador da Codeforces, Mike Mirzayanov, em um comunicado. “A AlphaCode conseguiu atuar no nível de um novo concorrente promissor. Mal posso esperar para ver o que está por vir.”

A missão do VentureBeat é ser uma praça digital para os tomadores de decisões técnicas adquirirem conhecimento sobre tecnologia empresarial transformadora e realizarem transações. Saber Mais​

Fonte: https://venturebeat.com/2022/02/02/deepmind-claims-its-new-code-generating-system-is-competitive-with-human-programmers/

Carimbo de hora:

Mais de AI - VentureBeat