Junto com o modelo de inteligência artificial generativa Gemini, o Google lançou esta manhã o AlphaCode2, uma versão melhorada do AlphaCode de geração de código lançado pelo Google DeepMind Labs há cerca de um ano.AlphaCode2 é na verdade alimentado pelo modelo Gemini, ou pelo menos uma variante dele (GeminiPro) ajustado com base em dados de competição de programação. O Google diz que em pelo menos um teste de benchmark, o AlphaCode2 supera em muito o seu antecessor.

De acordo com o Google, o AlphaCode2 (codificado em linguagens como Python, Java, C++ e Go) superou em média cerca de 85% dos concorrentes em um subconjunto de competições de programação organizadas pela Codeforces, uma plataforma de competição de programação. Em comparação, a pontuação média do AlphaCode da geração anterior no mesmo subconjunto foi de apenas 50%.

“Selecionamos 12 competições recentes com mais de 8.000 participantes, seja do segundo grupo ou do grupo mais difícil ‘1+2’. Isso nos deu um total de 77 problemas para resolver”, diz o documento técnico do AlphaCode2. "O AlphaCode2 pode resolver 43% dos problemas em 10 tentativas, o que é quase duas vezes mais rápido que o AlphaCode original (25%).

AlphaCode2 pode compreender problemas difíceis de programação envolvendo matemática "complexa" e teoria da ciência da computação. O cientista pesquisador da DeepMind, Rémi Leblond, explicou em um vídeo pré-gravado que AlphaCode2 é capaz de programação dinâmica, entre outras técnicas bastante complexas.

AlphaCode2 não só sabe quando implementar esta estratégia corretamente, mas também onde usá-la. AlphaCode2 não só sabe quando implementar esta estratégia corretamente, mas também em que circunstâncias usá-la, disse Leblond. Vale a pena notar isso, visto que problemas de programação que exigem programação dinâmica foram um grande obstáculo para o AlphaCode original.

"[AlphaCode2] precisa mostrar um certo nível de compreensão, um certo nível de raciocínio e o design de uma solução de código antes de poder realmente executar, resolver [um] problema de codificação. Ele pode fazer tudo isso em problemas que nunca foi visto antes", disse Leblond.

AlphaCode2 resolve problemas aproveitando primeiro uma família de "modelos estratégicos" para gerar um grande número de amostras de código para cada problema. As amostras de código que não se enquadram na descrição do problema são filtradas, enquanto um algoritmo de agrupamento agrupa "amostras de código semanticamente semelhantes" para evitar qualquer redundância. Finalmente, o modelo de pontuação no AlphaCode2 seleciona o melhor candidato de cada um dos 10 maiores “clusters” de amostras de código. Esta é a resposta do AlphaCode2 à pergunta.

Agora, todos os modelos de inteligência artificial têm falhas e o AlphaCode2 não é exceção. De acordo com o white paper, o AlphaCode2 requer muitas tentativas e erros, é muito caro para operar em escala e depende muito da capacidade de filtrar amostras de código obviamente ruins. O white paper especula que a migração para uma versão mais poderosa do Gemini, como o GeminiUltra, pode aliviar alguns dos problemas.

Eli Collins, vice-presidente de produto da DeepMind, sugeriu essa possibilidade durante um briefing.

“O que mais me entusiasma nos resultados mais recentes é que quando os programadores colaboram com [AlphaCode2 desenvolvido pela Gemini], o desempenho [do modelo] melhora ao definir certas propriedades às quais o código adere”, disse Collins. “No futuro, veremos os programadores aproveitando modelos de IA altamente capazes como ferramentas colaborativas para auxiliar em todo o processo de desenvolvimento de software, desde o raciocínio sobre os problemas até a assistência na implementação.”