Logotipo do Site Inovação Tecnológica





Informática

IA aprende a desenvolver software por contra própria

Redação do Site Inovação Tecnológica - 12/12/2022

IA aprende a desenvolver software por contra própria
A partir de uma descrição do problema em linguagem natural, o sistema de IA escreve soluções em Python ou C++.
[Imagem: DeepMind]

Fim dos programadores?

Um novo sistema de programação controlado por inteligência artificial (IA) gerou código em linguagem de computador com um desempenho comparável ao de um programador humano médio.

Chamado AlphaCode, o sistema foi desenvolvido pelo laboratório de pesquisa DeepMind, uma subsidiária da Alphabet, controladora do Google, e testado resolvendo programas típicos de um concurso de programação.

Hoje, o desenvolvimento de software depende de que seres humanos bolem soluções para novos problemas de programação e codifiquem essas soluções em linguagens específicas, que são compiladas em linguagem de máquina, que os computadores então processam.

Embora alguns modelos recentes de redes neurais tenham mostrado habilidades interessantes de geração de código, eles ainda apresentam desempenho ruim em tarefas de programação mais complexas, que exigem pensamento crítico e habilidades de resolução de problemas, como os desafios das competições de programação das quais os programadores humanos costumam participar.

Certamente que há o risco de substituição da mão de obra humana pela automação também nesse campo, mas o desenvolvimento de plataformas de codificação assistidas por IA, capazes de criar programas codificados em resposta a uma descrição de alto nível do problema que o código precisa resolver, pode diminuir o número de bugs dos programas, melhorar a produtividade dos programadores que restarem e poderia até mesmo mudar a cultura da programação, deslocando o trabalho humano para a formulação de problemas para a IA resolver.

IA aprende a desenvolver software por contra própria
Esquema de funcionamento do Alphacode.
[Imagem: DeepMind]

Criatividade da inteligência artificial

O AlphaCode foi validado resolvendo problemas da plataforma Codeforces, que recebe regularmente competições internacionais de codificação.

Usando aprendizado autossupervisionado e uma arquitetura codificador-decodificador, o sistema AlphaCode resolveu problemas descritos em linguagem natural inéditos, prevendo iterativamente segmentos de código com base no segmento anterior e gerando milhões de possíveis soluções candidatas em Python e C++.

Essas soluções candidatas foram então filtradas pelo próprio sistema, que descartou as ruins e agrupou as melhores pelo seu desempenho em testes de casos simples. O resultado é apresentado na forma de um conjunto de no máximo 10 soluções possíveis, todas geradas sem nenhum conhecimento interno sobre a estrutura do código de computador.

Após o treinamento, o AlphaCode resolveu cerca de 34% dos problemas que lhe foram apresentados. Em concursos com pelo menos 5.000 participantes, o sistema superou 45,7% dos programadores.

Os pesquisadores também compararam seus programas com aqueles em seu banco de dados de treinamento e constataram que as soluções do Alphacode não duplicavam grandes seções de código ou lógica. Ou seja, ele realmente gerou algo novo - uma criatividade que surpreendeu.

Bibliografia:

Artigo: Competition-level code generation with AlphaCode
Autores: Yujia Li, David Choi, Junyoung Chung, Nate Kushman, Julian Schrittwieser, Rémi Leblond, Tom Eccles, James Keeling, Felix Gimeno, Agustin Dal Lago, Thomas Hubert, Peter Choy, Cyprien de Masson d’Autume, Igor Babuschkin, Xinyun Chen, Po-Sen Huang, Johannes Welbl, Sven Gowal, Alexey Cherepanov, James Molloy, Daniel J. Mankowitz, Esme Sutherland Robson, Pushmeet Kohli, Nando de Freitas, Koray Kavukcuoglu, Oriol Vinyals
Revista: Science
Vol.: 378, Issue 6624 pp. 1092-1097
DOI: 10.1126/science.abq1158
Seguir Site Inovação Tecnológica no Google Notícias





Outras notícias sobre:
  • Software e Programação
  • Inteligência Artificial
  • Robôs
  • Biomecatrônica

Mais tópicos