Executando verificação de segurança...
7

Uma engenharia reversa (ou quase) do modelo OpenAI o1 (e CIA).

OpenAI o1 e sua família (o1-preview, o1-mini, o1) foi lançada e muita gente, como sempre, está testando e elogiando, mas será que é tudo isso? Eu acho que é um modelo como os outros, porém adaptado para criar uma cadeia de raciocínio ou Chain of Thoughts (CoT) de forma eficiente. Levanto questionamentos como: se é um modelo feito do zero para esse raciocínio, um fine-tuning de modelos como GPT-4 mas adaptado para o Chain of Thoughts, ou até mesmo sem fine-tune algum, mas sim um GPT com uma engenharia de prompt orientando a seguir essa estratégia.

Como eu sustento que é apenas engenharia de Prompt?

Eu dei comandos para o Gemini, GPT-4o, Claude 3.5 e LLama 3.1 405B. E em tarefas como contar quantos "r" tem na palavra strawberry, eles erraram sem usar o CoT, mas dei instruções de usar o CoT para raciocinar e eles passaram a acertar. Inclusive limpava o chat e começava novamente já ordenando CoT e sem ordenar para testar, e com CoT eles acertavam. Inclusive testei com outras palavras como "correria", "elefante", "quantos M, O e I tem na palavra 'leite'", e acertavam. Claro, às vezes não de primeira em alguns deles, mas acertavam. Fiquei impressionado com o Gemini acertando, já que é um modelo que eu critico muito, sendo um dos piores e perde para modelos open-source.

Ou seja, com apenas um prompt ensinando o modelo a seguir esse formato de pensamento, já melhorou a qualidade de respostas e os acertos do modelo, tendo melhor resultado no GPT-4o e Claude 3.5. Inclusive, são os melhores modelos LLM do mercado na atualidade, sendo modelos muito bons, eles conseguem uma cadeia de raciocínio melhor e sintetizar um resultado melhor no final, e obedecer melhor os prompts de instruções bem detalhados.

"Mas se for apenas um GPT fazendo isso, por que o limite é 30 gerações por semana?", acredito em 3 possibilidades:

  1. Primeira, que você terá o dobro de solicitações para o modelo. Se, por exemplo, antes os usuários plus tinham apenas 80 mensagens a cada 3 horas, com esse sistema de raciocínio seriam 160 mensagens a cada 3 horas, uma solicitação pro modelo de CoT e outra para resposta final.
  2. Novo sistema de preço, afinal, já teve boatos que o próximo modelo da OpenAI poderá custar até USD $2000, então para os assinantes Plus eles liberam um pouco disso e para quem precisar de mais, usará o pago de 2k dólares. Já que a OpenAI está com uma mudança pretendendo gerar lucros.
  3. Marketing e hype. Para valorizar sua tecnologia, usam o hype e o marketing dando uma "pequena" amostra do seu produto, já que eles falaram que o o1 pode ser usado para treinar outros modelos e será usado pela própria OpenAI para isso.

Por isso suspeito que possa ser um prompt que ensine o modelo a criar uma cadeia de pensamentos. E ele demora para fazer isso, porém não demora tanto, essa demora só incomoda quando é uma pergunta simples, e o GPT-4o é o mais rápido da família. GPT-4 era bem lento, pode ser ele por trás (ou 4 turbo) ou o próprio 4o. E o motivo de ser um modelo separado nesse caso, além de ter a ver com o tópico 2 e 3 anterior, seria para um instruction bem elaborado com exemplos que seria grande, comprometendo um pouco a Context Window (Janela de contexto, GPT-4 Turbo e 4o é de 128k tokens) do modelo em caso de maiores iterações. Com um modelo separado pode-se limpar a context window a cada interação e ela teria apenas a instrução e o prompt do usuário, e não uma continuação da conversa.

Modelo Fine tuning:

Outra possibilidade seria ser um modelo com fine-tune, isso seria até mais sustentável que a hipótese anterior, porém não podemos descartá-la. Basicamente faz um ajuste fino em um modelo GPT, coisa que hoje é bem fácil, com várias ferramentas que auxiliam inclusive, e no próprio Playground do GPT tem uma forma fácil de Fine-tune do modelo, bastando fazer upload dos seus dados para fine-tune. Então eles criaram uma série de dados de treinamento ensinando CoT, com isso o modelo aprende bem, com mais exemplos e casos. Acho que 50k exemplos já é o suficiente para um GPT-4 Turbo ou superior aprender e aplicar essa técnica. Pode ser um modelo separado que faz o raciocínio e passa para um outro modelo sintetizar, ou um modelo único que faz tudo, mas com step de CoT.

Modelo treinado do zero:

Por fim, que é o que a OpenAI falou, um modelo treinado do zero. Se essa for a opção real, eles devem ter um bom motivo, porque um fine-tune resolveria o problema. Mas se for o caso, o modelo deve ser um MoE (Mixture of Experts) onde seriam pequenos modelos mas especialistas em assuntos específicos (Experts) dentro de um único modelo (Mixture) onde ao ser solicitado algo, é analisado o conteúdo previamente e indicado o melhor modelo, o mais especializado para aquela tarefa, algumas vezes mais de 1 expert pode ser ativado para resolução da tarefa. Com isso, para cada tipo de raciocínio e área de atuação, usa-se um Expert. No entanto, os GPT da família 4 já são MoE, então nem faz sentido criar um do zero, apenas fine-tune. Vale lembrar que a área de atuação da OpenAI é IA, então eles têm que fazer propaganda do produto, e falar para investidores e o público, com uma baita concorrência, que é apenas "um fine-tuning" complicaria a situação, sem falar que a OpenAI disse que vai "esconder" o raciocínio do modelo, por motivos de concorrência, e eles estão apostando muito nesse sistema de raciocínio, que vão treinar modelos futuros com eles. Então é muito melhor em âmbito de concorrência, hype popular, vendas, investidores etc. Dizer que é um novo modelo. Ou seja, marketing.

Modelo único ou modelo separado?:

Bem, tudo se chama o1 (com as demais nomenclaturas) mas pode ser que seja um modelo com fine-tuning para CoT que alimenta um GPT-4o sintetizando o raciocínio final. Há elementos que levam a achar isso, mas outros que divergem. Pode ser um único modelo que apenas coloque uma markdown como inicia uma cadeia de raciocínio e termina com e depois coloca a resposta final. E então na hora de renderizar esse markdown aparece aquele "Thinking" ou "Pensando". Não sei ao certo qual acreditar. Confesso que eu ainda não vi como fica o modelo quando acabam os créditos, porque se acabar e continuar no mesmo chat mas sem o "Pensando", sem a cadeia de raciocínio, chances altíssimas de ser modelos separados. Isso porque quando acabar os créditos, com modelos separados seria apenas impedir a ativação do modelo secundário, até porque se for em modelo único, teria que colocar uma engenharia de prompt avisando ao modelo para não usar mais esse raciocínio, o que pode funcionar bem, mas o usuário pode usar jailbreak ou outras técnicas ou até mesmo falhas do modelo, e ele iniciaria um CoT mesmo estando sem créditos, claro que quando ele usar a markdown para isso, o sistema poderia dar um "stop" nele, mas ainda sim arrisca. Já se ele impedir que você continue mandando mensagens, há grandes chances de ser modelo único. No entanto pode variar já que, por exemplo, se você esgota o limite do GPT-4o, se você usar função de análise de imagens, upload de arquivos ou pesquisa na web, ele não permite que você use o mini depois, deve-se iniciar um novo chat. Mas se você usa o 4o sem nada disso que falei, ele permite continuar com o mini. Então isso pode variar quando se trata do o1, podendo continuar no chat ou mudar, se continuar pode bloquear o CoT de um modelo único ou bloquear um modelo separado de CoT, pode ser que mude de modelo em caso de modelo único, onde ao invés de impedir ele de invocar CoT, apenas muda discretamente o modelo rodando por trás.

Carregando publicação patrocinada...
1