OpenAI adia novamente o lançamento, apenas a divulgação do conjunto de avaliação gera questionamentos

A febre em torno do morango já passou.

Pensou que chegaria o "morango", mas veio o "couve kale"

Embora o mundo todo estivesse de olho no "Projeto Morango", parece que a rebelde OpenAI sempre decepciona. Você quer "morango", mas eles insistem em te dar "couve kale".

Às 2h da manhã do dia 14, horário de Pequim, a OpenAI publicou em seu site oficial que está lançando um subconjunto verificado manualmente do SWE-bench, que pode avaliar de forma mais confiável a capacidade dos modelos de IA de resolver problemas de software do mundo real.

Endereço do SWE-bench no Hugging Face:

https://huggingface.co/datasets/princeton-nlp/SWE-bench_Verified

Como parte da estrutura de preparação (um conjunto de métodos estabelecidos pela OpenAI para desenvolver e implantar seus modelos de ponta com segurança), a OpenAI desenvolveu uma série de métricas para rastrear, avaliar e prever a capacidade de ação autônoma dos modelos.

A capacidade de concluir tarefas de engenharia de software de forma autônoma tem sido um componente-chave do nível de risco médio na categoria de riscos autônomos para modelos de ponta. Devido à complexidade das tarefas de engenharia de software, à dificuldade de avaliar com precisão o código gerado e aos desafios de simular cenários de desenvolvimento do mundo real, avaliar essas capacidades é desafiador. Portanto, a abordagem de preparação da OpenAI também deve examinar cuidadosamente a própria avaliação, minimizando a possibilidade de superestimar ou subestimar os fatores de risco.

Um dos conjuntos de avaliação de engenharia de software mais populares neste método é o SWE-bench. Ele pode ser usado para avaliar se os grandes modelos de linguagem podem realmente resolver problemas de software reais do GitHub e até que ponto podem resolver esses problemas. O benchmark inclui fornecer aos agentes um repositório de código e uma descrição do problema, e pedir que gerem um patch para resolver o problema descrito.

De acordo com o ranking do SWE-bench, até 5 de agosto de 2024, os agentes de codificação fizeram progressos notáveis no SWE-bench, com o agente de maior pontuação obtendo 20% no SWE-bench e 43% no SWE-bench Lite.

Após testes, descobriu-se que algumas tarefas no SWE-bench podem ser difíceis ou impossíveis de resolver, levando o SWE-bench a subestimar sistematicamente as capacidades autônomas de engenharia de software dos modelos. Portanto, a OpenAI colaborou com os autores do SWE-bench para abordar essas questões em uma nova versão do benchmark, que deve fornecer uma avaliação mais precisa.

Então, qual é o contexto do SWE-bench?

Cada exemplo no conjunto de testes SWE-bench é criado com base em um problema do GitHub já resolvido em um dos 12 repositórios Python de código aberto no GitHub. Cada exemplo tem um pull request (PR) associado que inclui o código da solução e testes unitários usados para verificar a correção do código. Esses testes unitários falham antes da adição do código da solução no PR, mas passam depois, portanto são chamados de testes FAIL_TO_PASS. Cada exemplo também tem testes PASS_TO_PASS associados, que passam antes e depois da fusão do PR, usados para verificar se as funcionalidades existentes não relacionadas na base de código não foram quebradas pelo PR.

Para cada amostra no SWE-bench, o agente recebe o texto original do problema do GitHub (chamado de declaração do problema) e tem acesso ao repositório de código. Com isso, o agente deve editar arquivos no repositório de código para resolver o problema. Os testes não são mostrados ao agente.

FAIL_TO_PASS avalia as edições propostas executando e testando PASS_TO_PASS. Se os testes passarem, significa que o problema foi resolvido. Se os testes passarem, as edições não quebraram inadvertidamente partes não relacionadas da base de código. As edições devem passar por ambos os conjuntos de testes para resolver completamente o problema original do GitHub. FAIL_TO_PASS PASS_TO_PASS

Adotando o SWE-bench como avaliação de preparação

Dada a potencial relevância do SWE-bench para a estrutura de preparação, os pesquisadores buscaram maneiras de melhorar a robustez e confiabilidade do benchmark. Assim, identificaram três principais áreas de melhoria:

Os testes unitários usados para avaliar a correção das soluções são frequentemente muito específicos e, em alguns casos, até irrelevantes para o problema. Isso pode levar à rejeição de soluções corretas.

As descrições dos problemas em muitos exemplos são ambíguas, tornando difícil entender claramente qual é o problema e como resolvê-lo.

Às vezes é difícil configurar de forma confiável o ambiente de desenvolvimento do SWE-bench para os agentes, o que pode levar inadvertidamente à falha dos testes unitários, independentemente da solução adotada. Nestes casos, soluções perfeitamente válidas podem ser avaliadas como incorretas.

Aqui está um exemplo que ilustra o primeiro problema.

A tarefa do exemplo scikit-learn__scikit-learn-14520 do SWE-bench é fazer com que o agente resolva um problema no repositório scikit-learn. Esta declaração de problema relata que o parâmetro copy de uma função pode ser especificado pelo usuário, mas é ignorado pela biblioteca (o comportamento é codificado dentro da função):

Para resolver o problema acima, o agente deve primeiro lidar com a questão de se o comportamento da função é intencional ou um erro, e então fazer alterações na base de código para resolver o problema. De acordo com a configuração do SWE-bench, qualquer solução proposta pelo agente precisa passar no seguinte teste, extraído do PR que originalmente resolveu o problema:

Este teste verifica explicitamente se a solução deve gerar um DeprecationWarning quando o parâmetro copy é usado, embora este requisito não seja comunicado na declaração do problema original no texto acima. Além disso, mesmo que o agente perceba que deve gerar um DeprecationWarning, o teste exige que o agente corresponda exatamente à mensagem de depreciação, que foi concluída após algumas discussões no PR às quais o agente não tem acesso.

Observe que o agente obtém apenas a descrição do problema do texto principal do problema e não pode ver os testes que precisa passar. Nesta configuração, é quase impossível para o agente resolver este exemplo no SWE-bench.

SWE-bench Verificado

Para abordar essas questões, a OpenAI iniciou uma campanha de anotação manual com desenvolvedores de software profissionais para examinar cada amostra do conjunto de testes SWE-bench para obter testes unitários de escopo apropriado e descrições de problemas claramente especificadas.

A OpenAI, junto com os autores do SWE-bench, lançou o SWE-bench Verified: um subconjunto do conjunto de testes original do SWE-bench contendo 500 amostras verificadas manualmente por anotadores como livres de problemas. Esta versão substitui os conjuntos de testes originais SWE-bench e SWE-bench Lite. Além disso, a OpenAI também lançou anotações manuais para todas as amostras de teste do SWE-bench.

Ao mesmo tempo, a OpenAI colaborou com os autores do SWE-bench para desenvolver novas ferramentas de avaliação para o SWE-bench. Ele usa um ambiente Docker containerizado para tornar a avaliação no SWE-bench mais fácil e confiável.

No SWE-bench Verified, o GPT-4o resolveu 33,2% das amostras, onde o melhor andaime de código aberto, Agentless, pontuou o dobro dos 16% anteriores no SWE-bench.

Não chegou o anúncio oficial do "Projeto Morango", este conjunto de testes pode ser considerado no máximo um aperitivo. Então, vale a pena a OpenAI criar alvoroço por um conjunto de testes como este?

Uma semana atrás, o CEO da OpenAI, Sam Altman, postou um tweet com uma imagem de morangos e a legenda "Adoro o verão no jardim". Os quatro morangos na imagem talvez insinuassem que uma nova versão do GPT-4 poderia ser projetada especificamente para raciocínio, para funcionar junto com o GPT-4o, projetado para criação e interação. Isso gerou várias especulações sobre o lançamento de um novo modelo Strawberry pela OpenAI.

Nos últimos dois dias, o informante @iruletheworldmo no X tem postado frequentemente mensagens relacionadas ao lançamento do Strawberry, indicando que a OpenAI lançará seu novo modelo - um "Projeto Morango" (Strawberry) de IA focado em raciocínio - às 10h do dia 13 de agosto, horário do Pacífico. Toda a comunidade estava cheia de expectativas.

O que é o misterioso "Projeto Morango"?

O novo "Projeto Morango" da OpenAI permite que o ChatGPT pesquise a web mais livremente e resolva problemas complexos.

O "Projeto Morango" foi revelado pela primeira vez pela mídia estrangeira em 12 de julho. Segundo fontes e documentos internos revisados pela Reuters, a OpenAI, fabricante do ChatGPT, está pesquisando novas abordagens para seus modelos de IA em um projeto com o codinome "Strawberry".

Mas os detalhes do projeto não haviam sido relatados anteriormente, e a startup apoiada pela Microsoft está correndo para provar que os tipos de modelos que oferece podem fornecer capacidades avançadas de raciocínio.

De acordo com uma cópia de um documento interno da OpenAI visto pela Reuters em maio, equipes internas da OpenAI estão desenvolvendo o Strawberry. A Reuters não pôde determinar a data exata de publicação do documento, que detalhava os planos da OpenAI de usar o Strawberry para pesquisa. As fontes descreveram o plano à Reuters como um trabalho em andamento. A agência de notícias não pôde determinar quanto tempo falta para o lançamento público do Strawberry.

A fonte disse que mesmo dentro da OpenAI, o funcionamento do Strawberry é um segredo estritamente guardado.

O documento descreve um projeto usando o modelo Strawberry com o objetivo de tornar a IA da empresa capaz não apenas de gerar respostas a consultas, mas também de planejar com antecedência e navegar na internet de forma autônoma e confiável para realizar o que a OpenAI chama de "pesquisa profunda", disse a fonte.

De acordo com entrevistas da mídia estrangeira com mais de uma dúzia de pesquisadores de IA, este é um problema que os modelos de IA ainda não resolveram até agora.

Na época, quando questionado sobre o Strawberry e os detalhes relatados neste artigo, um porta-voz da OpenAI disse em um comunicado: "Esperamos que nossos modelos de IA sejam capazes de ver e entender o mundo como nós. É uma prática comum na indústria pesquisar continuamente novas capacidades de IA, com a crença compartilhada de que as capacidades de raciocínio desses sistemas melhorarão com o tempo."

O porta-voz não respondeu diretamente às perguntas sobre o morango.

Google entra na arena

O Strawberry tem estado "meio escondido" o tempo todo, e desta vez a OpenAI de repente anunciou e promoveu, ### é difícil dizer que não é para perseguir o evento de hardware "Made by Google 2024" da Google que aconteceu quase simultaneamente.

Neste evento, os mais recentes produtos de hardware da própria Google, incluindo a próxima geração de telefones Pixel muito aguardada: Pixel 9, Pixel 9 Pro e o novo Pixel 9 Fold, além de novos produtos de hardware como o Pixel Watch e os Pixel Buds. Embora seja um lançamento de hardware, o tema da IA ainda permeou todo o evento. Entre eles, o chatbot de IA da Google, Gemini, é o assistente padrão do telefone Pixel 9.