top of page

IAs que "raciocinam" e o supermodelo do Google


Imagem gerada por IA
Imagem gerada por IA

Olá amigos da IA e do ML! Recentemente tivemos o lançamento de vários modelos que "raciocinam" (reasoning), ou seja, nos quais é possível acompanhar o passo a passo de como ele vai compondo a resposta ao seu prompt, até a conclusão. É um processo muito interessante, principalmente se conhecermos a história por trás da implementação.


Durante muito tempo os cientistas da computação que criaram os modelos de redes neurais artificiais capazes de "aprender" se depararam com uma dificuldade muito básica: como depurar (fazer o debug) de um software que aprende?


Os modelos que aprendem, em especial os baseados em redes neurais artificiais, são muito complexos. Seu aprendizado inclui etapas de aleatoriedade e cálculos de probabilidade (os chamados pesos), de modo que, para uma mesma pergunta, é possível se obter inúmeras formulações diferentes para as respostas.


Modelos que Raciocinam

Com o surgimento do aprendizado de máquina profundo (deep learning), do uso de Redes Neurais Recorrentes (RNNs), das Redes Neurais Convolucionais (CNNs) e, mais recentemente, dos Transformadores (Transformers), a complexidade destes algoritmos atingiu níveis de complexidade tal que tornou virtualmente impossível a sua depuração. Neste contexto, os pesquisadores da empresa chinesa Deepseek usaram uma forma criativa de analisar como um algoritmo "pensa" para produzir sua resposta: fazer com que ele exiba o passo a passo do processo. Isto levou ao lançamento da variedade de algoritmos que raciocinam (reasoning), começando pelo Deepseek R1, seguido logo depois pelo OpenAI O1 e pelo Alibaba Qwen3, para ficarmos com os principais. Mas a inovação chinesa não ficou só nisso; eles também desenvolveram uma forma de treinar o modelo sem precisar começar do zero, consumindo muito menos energia e recursos computacionais no processo, resultando em um modelo que pode ser usado a um custo muito mais baixo do que as alternativas existentes. O baixo custo permitiu à Deepseek treinar o modelo R1 com 671 bilhões de parâmetros, e o custo para utilização é de $0,55/1.000.000 de tokens ($0,000055/token), enquanto que um token no OpenAI O1 custa $15,00/1.000.000 de tokens ($0,000015/token), ou seja, usar o R1 custa apenas 3,67% do custo da OpenAI!


Não bastasse essa diferença gritante nos preços, a DeepSeek publicou os pesos do seu algoritmo para a comunidade OpenSource e rapidamente tornou-se um sucesso, fazendo com que o Alibaba Cloud logo lançasse seu modelo com reasoning, o Qwen3, treinado em 235 bilhões de parâmetros.


Deepseek-R1

Tida como a primeira empresa a lançar, comercialmente, um modelo com reasoning (raciocínio), e tendo feito isto a custos extremamente baixos quando comparados ao mercado, a Deepseek foi logo catapultada à nova "queridinha" do hype: as ações da OpenAI, do Google, da Meta, da Amazon e da Microsoft caíram com uma velocidade vertiginosa, provocando respostas rápidas por parte destas empresas ao mercado. Um algoritmo com reasoning é um algoritmo que conta como está construindo a resposta, passo a passo, emulando nossa forma de raciocínio lógico, mais ou menos como nós fazemos.


Alibaba Cloud Qwen3

A competitividade entre as empresas chinesas é notória, sendo que quase todas as grandes empresas do país possuem um laboratório ou iniciativa para desenvolver modelos de IA "próprios". Após a abertura do algoritmo Llama, da Meta, ao open-source, as empresas chinesas passaram a ter um ponto de partida, sem a necessidade de construir do zero.

Logo após a Deepseek apresentar o R1 a Alibaba lançou o qwen3, uma versão aprimorada do qwen2, agora já contando com reasoning. Tendo sido treinado com 235 bilhões de parâmetros, ou aproximadamente 1/3 da quantidade de parâmetros do R1, também é comercializado a preços de consumo da ordem de centavos de dólar por milhão de tokens.


A Resposta dos Modelos Tradicionais

Sobre llamas e gemmas
Sobre llamas e gemmas

As empresas donas de modelos tradicionais como Google e Meta, não ficaram paradas e criaram modelos compostos para competir em performance e qualidade com os modelos chineses. Também conhecidos como Mixture of Experts (MoE), Estes modelos usam arquiteturas de redes neurais que empregam múltiplos submodelos especializados, chamados de "experts", para processar diferentes partes do espaço de entrada de dados. Em vez de usar um único modelo monolítico grande, um MoE utiliza uma rede roteadora (gating) que aprende a determinar quais experts são mais relevantes para uma dada entrada e, consequentemente, quais devem ser ativados para processá-la. A saída final é geralmente uma combinação das saídas dos experts selecionados, ponderada pela rede de gating.


Meta llama4 e llama3.1

Atualmente na sua versão 4, que incorpora MoE, o modelo da Meta já nasceu open-source, o que possibilita a qualquer indivíduo ou empresa a usá-lo sem ônus, sendo a versão 3 considerada um dos grandes habilitadores do "boom" chinês. O modelo llama4 é comercializado pela Meta a um preço que varia de $0,19 a $0,49 por milhão de tokens de entrada, ou $0,00000019 a $0,00000049 por token, colocando-o num patamar mais acessível que o do Deepseek-R1, por exemplo. Visto que a versão 4 ainda carece de quantizações menores, a versão escolhida para nossos testes foi a 3.1, que pode ser encontrada no mercado ao custo de $5.33/milhão de tokens, ou $0,00000533 por token. Originalmente treinada com 405 bilhões de parâmetros, usamos a quantização com 8 bilhões de parâmetros.


Google gemma3

Em março passado o Google liberou para a comunidade open source a mais nova versão do seu modelo LLM com arquitetura MoE, o gemma3, alardeando que, com 27 bilhões de parâmetros, ele seria o modelo mais enxuto e performático do mercado, tanto que seria capaz de rodar em um computador com apenas uma GPU. O lançamento do gemma3 pelo Google foi muito bem recebido pela comunidade de IA e seu desempenho versus tamanho e consumo de recursos logo o colocou como uma opção para pesquisadores e desenvolvedores que queiram rodar um LLM localmente.


Tamanho é Documento?

Nós baixamos versões quantizadas do modelo de arquitetura tradicional, monolítica, Llama3.1, e dos modelos reasoning Deepseek-R1 e Qwen3 e os comparamos contra uma quantização de tamanho semelhante do novo algoritmo LLM do Google, o gemma3. Tendo colocado todos eles à prova, vamos ao que descobrimos:


Método:

  • Foi usado o mesmo equipamento em todos os testes: um notebook Lenovo com CPU AMD Ryzen 9, 32GB de RAM, 2TB de SSD e GPU NVidia GeForce RTX 3050

  • Usamos a última versão do Ollama como LLM Runner, servindo uma API web para consumo pelo Python

  • Definimos que os modelos testados deveriam ter tamanhos semelhantes quanto ao espaço em disco (algo em torno dos 5GB). Desta forma, foram escolhidos os seguintes modelos e respectivas quantizações:

    • gemma3:4b (4,3 bilhões de parâmetros, quantização Q4_K_M, ocupando 3.3GB em disco)

    • R1:8b (8,03 bilhões de parâmetros, quantização Q4_K_M, ocupando 4.9GB em disco)

    • Qwen3:8b (8.19 bilhões de parâmetros, quantização Q4_K_M, ocupando 5.2GB em disco)

    • llama3.1:8b (8,03 bilhões de parâmetros, quantização Q4_K_M, ocupando 4.9GB em disco)

  • todos os modelos foram baixados (pull) do do site https://ollama.com/ usando a ferramenta ollama

  • criamos um script em Python bastante simples: conectar à API ollama como um chat, fornecendo sempre a mesma pergunta a cada modelo: "Porque o Brasil se chama assim?"

  • a cada execução medimos o tempo decorrido entre o fornecimento da questão e a recepção da resposta completa usando datetime() minimizando, assim, o impacto de um timer ou tic counter na execução do algoritmo. Nos algoritmos com reasoning, o tempo de raciocínio foi descontado

  • Por fim, executamos o gemma3 completo, com seus 27 bilhões de parâmetros e 17GB de tamanho em disco. Obviamente esta versão foi apenas a título de curiosidade, pois precisávamos aferir se realmente seria possível executá-lo num computador modesto como a propaganda do Google apregoa. E adivinha só? Funciona!


Código Python usado para os testes


Critérios de Pontuação:

Todos os modelos foram avaliados quanto a cinco critérios, sendo que cada critério correto vale 10 pontos, sendo descontado um ponto por oração que apresentar alguma inconsistência. Assim, numa escala de 0 a 10, analisamos a resposta obtida quanto à:

  • concordância histórica: a resposta precisa, obrigatoriamente, indicar a origem do nome atrelada à cor do pau-brasil, sendo ou correta (valendo 10) ou incorreta (valendo 0), sem valores intermediários

  • acuracidade histórica: cada erro na acuracidade histórica (sublinhado) desconta 1 ponto por oração incorreta, até zerar

  • coerência gramatical: cada incoerência na estrutura gramatical desconta um ponto por oração incorreta, até zerar

  • idioma da resposta: a pergunta foi formulada em português do Brasil e se espera que a resposta seja também no idioma correto, descontando um ponto por oração que contenha viés de outro idioma ou erros de sintaxe, à exceção de termos estrangeiros já incorporados ao idioma corrente

  • presença de artefatos ou alucinações: descontamos um ponto por oração que apresente artefatos ou alucinações.


A pontuação final é dada pela média simples da soma dos quatro pontos acima.


Resultados:


gemma3:4b

Resultado do gemma3:4b

concordância histórica: 10 - a resposta aponta corretamente a cor do pau-brasil como determinante do nome

acuracidade histórica: 8 - a palavra "brasil" deriva sim de "brasa", mas não do latim, e sim do próprio português, como referência à cor de brasa, similar a como "anil" está para a cor azul. Outro ponto é que o nome Ilha de Vera Cruz foi logo alterado para Terra de Santa Cruz, e só depois, para Brasil

coerência gramatical: 10 - não foram detectadas inconsistências gramaticais

idioma da resposta: 10 - a resposta não apresentou artefatos de outro idioma

presença de artefatos ou alucinações: 9 - a insistência em derivar "brasil" do latim.


Nota final: 9,4 com tempo de resposta de 31,6 segundos



DeepSeek-R1:8b

Resultado do R1:8b

concordância histórica: 0 - a resposta falhou em apontas corretamente a cor do pau-brasil como determinante do nome

acuracidade histórica: 6 - o algoritmo não apresentou uma resposta historicamente correta

coerência gramatical: 9 - com a palavra "sequeceu" talvez quisesse dizer "se aqueceu", em referência às cerâmicas indígenas(?)

idioma da resposta: 9 - errou ao usar o termo português de Portugal "adoptado" em lugar de "adotado"

presença de artefatos ou alucinações: 6 - praticamente a resposta toda possui alucinações, apresentando as inconsistências históricas como fatos dados numa linguagem eloquente.


Nota final: 6 com tempo de resposta de 24,0 segundos



qwen3:8b

Resultado do qwen3:8b

concordância histórica: 10 - a resposta aponta corretamente a cor do pau-brasil como determinante do nome

acuracidade histórica: 5 - o algoritmo errou ao atribuir a raiz do termo "brasil" ao latim "brassica" (couve) e citou o nome científico antigo do pau-brasil "Caesalpinia echinata" ao invés do nome científico moderno "Paubrasilia echinata". Também errou ao indicar ligação do nome com o povo indígena, e errou o ano do início da colonização. Mas o erro mais grave foi vincular a árvore à uma faixa vermelha na bandeira e atribuir a pintada à posição de mascote do país

coerência gramatical: 10 - não foram detectadas inconsistências gramaticais

idioma da resposta: 10 - a resposta não apresentou artefatos de outro idioma

presença de artefatos ou alucinações: 8 - o algoritmo se excedeu ao vincular o termo "brasil" ao latim "brassica", palavra inexistente naquele idioma, e alucinou feio ao falar da bandeira e da mascote.


Nota final: 8,6 com tempo de resposta de 113,2 segundos (sem considerar o tempo de raciocínio)



Llama3.1:8b

Resultado do llama3.1:8b

concordância histórica: 0 - a resposta falhou em apontar corretamente a cor do pau-brasil como determinante do nome

acuracidade histórica: 9 - a origem do nome foi atribuída incorretamente ao tupi-guarani

coerência gramatical: 10 - não foram encontradas inconsistências

idioma da resposta: 10 - não foram encontradas inconsistências

presença de artefatos ou alucinações: 8 - o algoritmo errou ao afirmar que o termo "brasil" provêm do tupi-guarani e que "ibrasu" significa "árvore de pau-brasil" neste idioma.


Nota final: 7,4 com tempo de resposta de 11,8 segundos



gemma3:27b:

Participando hors-concours, este modelo foi testado principalmente para verificar se realmente é possível executá-lo num hardware mínimo, como divulgado pelo Google.

Resultado do gemma3:27b

concordância histórica: 10 - não foram encontradas inconsistências

acuracidade histórica: 10 - não foram encontradas inconsistências

coerência gramatical: 10 - não foram encontradas inconsistências

idioma da resposta: 10 - não foram encontradas inconsistências

presença de artefatos ou alucinações: 10 - não foram encontradas inconsistências.


Nota final: 10 com tempo de resposta de 143,7 segundos



Conclusões

Como dito acima, deixaremos o gemma3:27b de fora do comparativo. Analisando os demais, parece bastante óbvio que os quatro modelos não são comparáveis quanto à representatividade do seu todo. O critério usado (tamanho em disco) não reflete em absoluto a proporção de "lobotomia" aplicada ao cérebro completo... mas dada a dificuldade de se encontrar quantizações que respeitassem a proporção dos parâmetros e ainda assim pudessem ser executadas no nosso hardware limitado, este é um critério válido como outro qualquer.


Neste aspecto, o gemma34b leva óbvia vantagem: uma vez que o modelo completo possui 27 bilhões de parâmetros, uma quantização com 4 bilhões representam 16% do tamanho do modelo completo. Já o modelo DeepSeek-R1:8b testado representa apenas 1% do total e o qwen3:8, representa 3%, ao passo que a quantização do Llama3.1 representa 2% do total de parâmetros da sua versão completa.


O tempo de resposta (sem contar com o tempo de raciocínio) do qwen3:8b foi o mais longo, fornecendo a resposta menos concisa, ao passo que o tempo do llama3.1:8b e do Deepseek-R1:8b foram os mais curtos, com 11,8 segundos e 24 segundos, respectivamente, mas também foram os modelos que forneceram as respostas mais imprecisas...


O destaque ficou mesmo para o gemma3:4b, que apresentou a melhor nota do comparativo. Há que se acrescentar que, mesmo quando operamos o modelo completo, com todos os 27 bilhões de parâmetros, ele foi capaz de executar no nosso equipamento de testes, fornecendo a resposta em 143,7 segundos, provando que sim, é um dos modelos de melhor desempenho capaz de rodar em equipamentos com apenas uma GPU (se você tiver paciência).


Placar final
Placar final

Nota de copyright: Todas as marcas e produtos citados neste artigo pertencem aos seus respectivos proprietários legais e foram usados aqui por representarem conhecimento público e notório, apenas para efeitos didáticos, sem apropriação.

Quer aprender Python, IA e machine learning?

Faça o curso gratuito COGИITIVA!


 
 
 

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page