curso
Testei o DeepSeek R1 Lite Preview para ver se ele é melhor do que o O1
A DeepSeek acaba de lançar o modeloDeepSeek-R1-Lite-Preview, e alguns afirmam que ele é ainda melhor do que o modelo da OpenAI o1-preview da OpenAI. Essa é apenas mais uma onda de propaganda de IA?
Já vi declarações ousadas on-line sobre a excepcional capacidade de raciocínio e a transparência na tomada de decisões desse modelo. Dizem que ele é excelente em tarefas complexas, especialmente em matemática e codificação, e que, segundo relatos, se iguala ou até supera o o1-preview da OpenAI em benchmarks difíceis como AIME e MATH12.
Fiquei intrigado, então decidi testar essas afirmações em desafios de codificação, problemas matemáticos avançados e processamento de linguagem natural. Vamos descobrir se o DeepSeek-R1-Lite-Preview é realmente bom.
Desenvolver aplicativos de IA
O que é o DeepSeek-R1-Lite-Preview?
O DeepSeek-R1-Lite-Preview é uma ferramenta de IA, semelhante ao ChatGPTcriada pela empresa chinesa DeepSeek. A empresa anunciou esse novo modelo em X em 20 de novembro (link do tweet) e compartilhou alguns detalhes em uma página de documentação.
O DeepSeek-R1-Lite-Preview foi criado para que você seja realmente bom em resolver problemas complexos de raciocínio em matemática, codificação e lógica. Ele mostra como ele pensa passo a passo para que você possa entender como ele chega às respostas, o que ajuda as pessoas a confiarem mais nele.
Você pode experimentá-lo gratuitamente no site deles, chat.deepseek.commas você está limitado a 50 mensagens por dia em seu modo avançado chamado "Deep Think". O DeepSeek também planeja compartilhar partes dessa ferramenta com o público para que outros possam usá-la ou desenvolvê-la.
Como usar o DeepSeek-R1-Lite-Preview
Você pode começar a usar o DeepSeek-R1-Lite-Preview seguindo estas duas etapas:
- Visite a página de bate-papo do página de bate-papo do DeepSeek e faça o login.
- Permita que você "Pensamento profundo".
O teste do morango
Para ver o que o DeepSeek-R1-Lite-Preview pode fazer, vamos colocá-lo à prova! Vou apresentar uma série de desafios que mostram suas habilidades de raciocínio, começando com a simples, mas famosa, pergunta do morango: Quantas vezes a letra "r" aparece em 'strawberry'?"
Essa pergunta pode parecer simples, mas os LLMs (mesmo os GPT-4o) tradicionalmente têm dificuldade em respondê-la corretamente - eles normalmente respondem que há apenas duas ocorrências da letra"r".
Uau, ok - eu não esperava um processo de raciocínio tão longo para o que parece ser uma tarefa simples. Achei que, depois de contar a letra "r" e identificar sua posição na palavra, você teria parado por aí. Mas o que é interessante para mim é que isso não parou por aí. Ele verificou novamente a contagem algumas vezes e até considerou aspectos como a forma como as pessoas poderiam pronunciar ou soletrar a palavra de forma diferente - o que eu acho um pouco redundante, especialmente a parte da pronúncia. Mas isso mostra o quanto você é cuidadoso e atencioso! Ele também explicou cada etapa para que eu pudesse acompanhar o processo de raciocínio e ver como ele chegou à resposta.
Raciocínio matemático
Testarei o DeepSeek-R1-Lite-Preview em três problemas de matemática.
Área do triângulo
Dadas as alegações do DeepSeek de ser realmente bom em raciocínio matemático, vamos começar com um problema geométrico simples.
"Se um triângulo tem lados de comprimento 3, 4 e 5, qual é sua área?"
Esse problema exige que você conheça o teorema de Pitágoras e a fórmula de Heron. Eu esperaria que o DeepSeek-R1-Lite-Preview mostrasse seu trabalho, talvez desta forma:
- Reconhecer isso como um triângulo retângulo 3-4-5
- Calcule o semiperímetro: s = (3 + 4 + 5) / 2 = 6
- Aplique a fórmula de Heron: Area = √(s(s-a)(s-b)(s-c))
- Valores substitutos: Area = √(6(6-3)(6-4)(6-5)) = √(6 * 3 * 2 * 1) = √36 = 6
- Verificar: Área do triângulo retângulo = (base * altura) / 2 = (3 * 4) / 2 = 6
Vamos ver o que acontece!
Okay, então, curiosamente, ele realiza as verificações que eu previ, embora em uma ordem diferente. Você também pensou em usar a trigonometria calculando os ângulos e tentando outra fórmula. Acho muito interessante que, no final, ele tenha decidido que isso não era necessário, pois os dois primeiros métodos já haviam confirmado a resposta.
Tanto a explicação quanto o resultado foram particularmente claros e fáceis de acompanhar, o que me faz pensar que esse seria um modelo fantástico para ser incorporado ao assistente de um aluno de matemática, por exemplo. Para esse caso de uso específico, talvez o processo de pensamento possa ser mostrado primeiro e o aluno possa interagir com ele, reconhecendo se o entendeu ou não antes de prosseguir para a resposta final.
Prova matemática
Vamos passar para um teste de matemática mais complexo para ver se há alguma diferença no desempenho e no processo de pensamento.
"Prove que a soma dos recíprocos dos números de Fibonacci converge para um valor finito."
Esse teste desafia a compreensão do modelo sobre conceitos matemáticos avançados, como a convergência de séries e as propriedades dos números de Fibonacci. Vamos tentar! Para facilitar a leitura, publicarei apenas a primeira e a última parte da resposta (mas fique à vontade para tentar você mesmo com o mesmo prompt):
Ok, então essa é uma ótima linha de pensamento - eu realmente gosto de como você primeiro se certifica de que entende os conceitos-chave, como recíprocos e convergência. Em seguida, o DeepSeek-R1-Lite-Preview abordou esse problema observando como os números de Fibonacci crescem e usando um teste de comparação, que é uma forma comum de testar se uma série converge ou não.
Ele comparou os recíprocos dos números de Fibonacci a uma série geométrica. Como os recíprocos dos números de Fibonacci diminuem ainda mais rapidamente do que uma série geométrica com uma proporção comum inferior a 1, o modelo concluiu que a soma dos recíprocos também converge para um valor finito. Para ter mais certeza, ele usou algo chamado teste de proporção.
Esse teste verifica se o limite da proporção de termos consecutivos é menor que 1. Se for, a série converge. O modelo calculou essa proporção para os recíprocos dos números de Fibonacci e descobriu que ela é de fato menor que 1.
Ele até mencionou que há um valor conhecido para essa soma, chamado de constante recíproca de Fibonacci, que é aproximadamente 3,3598. Mas, para esse problema, só precisávamos saber que a soma é finita, e não exatamente o que ela é - portanto, essa foi uma informação extra que também achei interessante. Gosto muito de como a solução é apresentada no resultado. Ele é claro e passo a passo.
Até o momento, estou impressionado com as tarefas matemáticas.
Geometria diferencial
Vou tentar um problema de geometria diferencial - só porque meu doutorado é nessa área, então não pude resistir a fazer um pequeno teste. Nada muito complexo, apenas um exercício clássico que você pode encontrar na graduação em matemática.
"Considere uma superfície S em R³ parametrizada por
φ(u,v) = (u cos v, u sin v, ln u)
para u > 0 e 0 ≤ v < 2π.
a) Calcule a primeira forma fundamental de S.
b) Determine se S é uma superfície mínima.
c) Encontre a curvatura gaussiana K e a curvatura média H de S."
O que eu esperaria que o DeepSeek-R1-Lite-Preview fizesse era fornecer uma solução passo a passo, mostrando todos os cálculos e explicando o significado de cada resultado, bem como as definições dos principais conceitos, como forma fundamental, superfície mínima e as diferentes curvaturas.
Para manter este blog legível, só poderei mostrar a primeira e a última parte da resposta, mas encorajo você a tentar a solicitação por conta própria:
A abordagem passo a passo usa fórmulas geométricas bem conhecidas e as aplica diretamente, o que torna o raciocínio fácil de acompanhar. No entanto, eu esperava que ele verificasse sua própria compreensão dos principais conceitos do problema, o que não faz parte da linha de raciocínio. Na parte B, ele adota uma abordagem alternativa e identifica que a superfície envolvida é uma superfície de revolução, o que é um toque agradável.
Há também um momento em que ele comenta sobre a rotação e percebe que já tem N, o vetor normal, o que pode entrar em conflito com a notação do coeficiente da segunda forma fundamental. Eu gostaria de ver uma sugestão de melhor notação, pois usar a mesma letra para duas coisas não é uma boa prática!
Quando você calcula a curvatura média, percebe que ela não é zero e questiona se o cálculo está correto. Para ser minucioso, ele tenta outro método para verificar novamente seu trabalho.
Mais uma vez, o resultado é muito claro e fácil de acompanhar. Em todos esses exemplos, é impressionante ver como ele verifica consistentemente os cálculos usando métodos diferentes. O processo de pensamento é sempre detalhado, lógico e fácil de entender!
Teste de codificação
Vamos passar agora para os testes de codificação.
Python
O primeiro que vou testar é:
"Implemente uma função em Python que encontre a substring palindrômica mais longa em uma determinada string. A função deve ter uma complexidade de tempo melhor que O(n^3)."
Estou tentando avaliar a capacidade do modelo de projetar algoritmos eficientes e implementá-los no código. Eu esperaria uma solução usando programação dinâmica ou o algoritmo de Manacher, com uma explicação clara da abordagem e da complexidade de tempo análise.
O resultado é muito longo, e estou mostrando apenas a primeira e a última parte:
Acho que o modelo fez um ótimo trabalho ao resolver o problema de encontrar a substring palindrômica mais longa. Sua abordagem foi inteligente, eficiente e claramente explicada.
Em vez de aplicar força bruta em cada substring possível, o que seria lento, ele usou uma técnica inteligente de "expansão em torno dos centros". Esse método lidou com palíndromos de comprimento ímpar, como "aba", e de comprimento par, como "abba". Ele registrava o palíndromo mais longo que encontrava à medida que avançava. O resultado foi um algoritmo que é executado em tempo O(n^2), muito mais rápido do que uma solução O(n^3).
O que mais me impressiona nessa resposta é a clareza com que ela foi apresentada. O DeepSeek dividiu o problema em etapas compreensíveis, explicou seu processo de pensamento em detalhes e até incluiu exemplos práticos. Por exemplo, ele mostrou como o algoritmo se expande em torno do centro de "racecar" ou "abba" para encontrar o palíndromo correto. A função auxiliar para expandir em torno de um centro foi particularmente boa em minha opinião - ela tornou o código modular e fácil de seguir.
Dito isso, eu esperava que ele considerasse o algoritmo de Manacher, que é uma solução O(n) mais rápida. Definitivamente, a implementação é mais complexa, mas é útil para casos em que o desempenho é crítico, e eu esperava que o modelo tivesse apontado isso.
Também notei que o resultado não discutia explicitamente como o algoritmo lida com casos especiais, como uma cadeia vazia ou uma cadeia com todos os caracteres idênticos (por exemplo, "aaaa"). Esses casos funcionariam, mas eu esperava que você pelo menos discutisse o assunto.
Por fim, acho legal que você tenha comentado sobre o resultado esperado para os exemplos de uso. No entanto, quando executei o código, apenas a primeira opção do primeiro exemplo de uso foi impressa. Teria sido ótimo se o código considerasse todas as soluções possíveis e que todas elas fossem impressas.
JavaScript
Vamos tentar um problema de codificação diferente em outra linguagem de programação.
"Escreva uma função em JavaScript que determine se um determinado número é primo"
Para facilitar a leitura, estou mostrando apenas a primeira e a última parte (embora a cadeia de pensamento tenha sido um pouco mais curta dessa vez):
Acho que podemos ver um padrão aqui para o processo de pensamento. Na maioria das vezes, você começa definindo os principais conceitos que aparecem no problema. Assim, por exemplo, para este problema, ele define o que é um número primo.
Depois disso, o processo de pensamento faz sentido e chega a etapas otimizadas. Primeiro, ele aborda o básico: números menores ou iguais a 1 não são primos, e 2 é o único número primo par. A partir daí, ele verifica se o número é divisível por qualquer número ímpar até a raiz quadrada do número. Isso economiza tempo porque evita cálculos desnecessários. Além disso, em vez de testar cada número, ele pula todos os números pares além de 2, tornando o processo ainda mais rápido. A função usa o site Math.sqrt
para encontrar a raiz quadrada, o que limita a extensão da verificação, mantendo-a eficiente e simples.
Novamente, ele também foi testado com pequenos exemplos, como no problema anterior, como números primos e não primos conhecidos, para garantir que funcione conforme o esperado.
No entanto, há espaço para melhorias. Por exemplo, a função não verifica se a entrada é realmente um número, portanto, ela poderia lidar melhor com os erros. Ele também poderia incluir atalhos para números como os que terminam em 0 ou 5, que obviamente não são primos (exceto o próprio 5). Adicionar um pouco mais de explicação sobre por que ele ignora os números pares ou verifica somente até a raiz quadrada também ajudaria os iniciantes a entendê-lo melhor, acredito.
Por fim, eu esperava que o código tivesse alguns exemplos de testes de uso, da mesma forma que ele nos forneceu aqueles para o código Python no teste anterior.
Raciocínio lógico
Vamos passar agora para os testes de raciocínio lógico.
O problema do lobo, da cabra e do repolho
Vou testar um quebra-cabeça clássico:
"Um homem tem que atravessar um rio com um lobo, uma cabra e um repolho. Seu barco só pode transportar a si mesmo e mais uma coisa. Se você deixasse o lobo sozinho, o lobo comeria a cabra e a cabra comeria o repolho. Como ele pode passar tudo com segurança?"
Eu esperaria que o modelo fornecesse a seguinte resposta:
- Comece: Homem, Lobo, Cabra, Repolho em um lado
- O homem leva a cabra para o outro lado (o lobo e o repolho estão seguros juntos)
- Homem retorna sozinho
- Homem leva lobo para o outro lado
- O homem traz a cabra de volta (o lobo e a cabra não podem ser deixados sozinhos)
- Homem leva repolho para o outro lado
- Homem retorna sozinho
- Homem leva cabra para o outro lado
- Fim: Tudo em segurança
Mas vamos ver como você lida com o processo de pensamento, pois não tenho certeza do que esperar!
Também preciso truncar essa saída para facilitar a leitura:
O modelo faz um ótimo trabalho ao resolver esse quebra-cabeça clássico de travessia de rios. Ele pensa cuidadosamente sobre as regras e verifica diferentes possibilidades. Ele entende que alguns pares, como o lobo e a cabra ou a cabra e o repolho, não podem ser deixados sozinhos. Ele também analisa as restrições no início. A partir disso, você verá o que aconteceria se o homem levasse cada item para o outro lado do rio primeiro e verá se isso criaria algum problema.
O que eu acho muito bom é como o modelo ajusta seu plano quando algo não funciona. Por exemplo, quando ele tenta pegar o lobo primeiro, mas percebe que isso causa problemas e repensa as etapas. Esse método de tentativa e erro parece muito semelhante à forma como nós, como seres humanos, podemos resolver o quebra-cabeça.
No final, o modelo apresenta a solução correta e a explica de forma clara e passo a passo.
Quebra-cabeça de bolas de pesagem
Vamos tentar outra:
"Você tem 12 bolas, todas com a mesma aparência. Uma bola é mais pesada ou mais leve que as demais. Usando uma balança, encontre a bola ímpar e determine se ela é mais pesada ou mais leve em apenas três pesagens."
Esse quebra-cabeça lógico clássico testa a capacidade do modelo de criar uma estratégia ideal usando o raciocínio dedutivo. Vamos ver o que acontece. O resultado foi muito longo desta vez, portanto, precisarei ir direto para a resposta do :
Outro no qual eu subestimei totalmente o tamanho da saída! O modelo percebe que para resolver esse quebra-cabeça é necessário um planejamento cuidadoso, pois você só tem três tentativas. Ele também calcula o número de resultados e possibilidades.
A abordagem do modelo é inteligente porque cada pesagem elimina o maior número possível de possibilidades. Ele planeja todos os resultados - independentemente de a balança estar equilibrada ou inclinada - e ajusta a próxima etapa com base no que acontece. Ele é muito detalhado, mas as etapas são claras e lógicas, o que o torna muito fácil de seguir, mesmo que seja longo,
Um aspecto de que realmente gostei é que, quando a abordagem começa a ficar um pouco complexa demais, ela aplica uma abordagem mais sistemática ou mais simples. No entanto, acho que para problemas como esse, em que você precisa acompanhar diferentes casos, resultados e possibilidades, adicionar um diagrama ou gráfico pode ajudar as pessoas a visualizar a linha de pensamento e entender melhor o resultado.
Benchmarks do DeepSeek-R1-Lite-Preview
Nesta seção, compararei o DeepSeek com outros modelos, como o1-preview e GPT-4o, em termos de desempenho em diferentes benchmarks. Cada um deles se concentra em uma habilidade diferente, para que você possa ver quais modelos são melhores em quê. Vamos ver os benchmarks medidos pelo DeepSeek:
AIME 2024
O DeepSeek-r1-lite-preview é claramente o melhor aqui, com um pass@1 de 52,5, seguido pelo o1-preview com 44,6. Outros modelos, como GPT-4o e claude-3.5-sonnet, têm desempenho muito pior, com pontuações abaixo de 23. Isso sugere que o modelo DeepSeek-r1-lite-preview é muito bom em lidar com o tipo de matemática avançada ou problemas lógicos específicos dos benchmarks AIME, o que não me surpreende depois dos testes que realizei.
MATEMÁTICA
O DeepSeek-v1 domina novamente com uma precisão impressionante de 91,6, muito à frente do o1-preview (85,5) e muito melhor do que outros modelos, como o GPT-4o, que tem dificuldade para atingir 76,6. Isso mostra que o DeepSeek é excelente para resolver problemas de matemática, o que confirma minha hipótese a partir da evidência empírica nos testes que realizei anteriormente - nenhuma surpresa até agora!
Diamante GPQA
Aqui, o o1-preview se sai melhor do que o DeepSeek-v1, com um pass@1 de 73,3 em comparação com 58,5. Outros modelos, como o GPT-4o, ficam atrás, com 53,6. Isso sugere que a o1-preview é mais adequada para tarefas que envolvem responder a perguntas ou resolver problemas com base no raciocínio lógico. O DeepSeek ainda tem um desempenho sólido, mas não é tão bom quanto o o1-preview.
Forças de código
Em relação à programação competitiva, o DeepSeek-v1 (1450) e o 01-preview (1428) estão quase empatados no primeiro lugar, enquanto outros modelos, como o GPT-4o, têm uma pontuação de apenas 759. Como esperado, isso mostra que esses dois modelos são excelentes para entender e gerar códigos para desafios de programação.
LiveCodeBench
Isso testa as habilidades de codificação ao longo do tempo, e o o1-preview fica um pouco à frente do DeepSeek-v1 (53,6 vs. 53,5 vs. 53,5). 51.6). Outros modelos, como o GPT-4o, ficam bem atrás, com 33,4. Novamente, isso mostra que tanto o DeepSeek quanto o 01-preview são adequados para codificação, mas que o 01-preview é um pouco melhor nessas tarefas.
ZebraLogic
O o1-preview assume a liderança aqui com uma precisão de 71,4, em comparação com 56,6 do DeepSeek-v1. Outros modelos são muito piores. Isso mostra que o o1-preview é melhor para lidar com tarefas lógicas abstratas como o ZebraLogic, que exigem um pensamento mais criativo ou inovador, o que se alinha com os resultados que obtive nos testes, pois a criatividade definitivamente não era o forte do DeepSeek-v1.
Esses gráficos confirmam que o DeepSeek-v1 é incrível em desafios de matemática e programação. Eu diria que o o1-preview é mais equilibrado e tem bom desempenho em uma variedade maior de tarefas, o que o torna mais versátil.
Vamos dar uma olhada nesse gráfico:
Este gráfico mostra como o modelo "deepseek-r1-lite-preview" se torna melhor na solução de problemas à medida que processa mais informações (medido pelo número de "tokens de pensamento" que usa). Ele compara duas maneiras de medir a precisão do modelo:
- Pass@1 (linha vermelha): Essa é a precisão do modelo quando ele dá sua primeira resposta. À medida que você usa mais tokens, sua precisão aumenta de 21% para 52,5%. Isso significa que o modelo faz um trabalho melhor quando tem mais tempo para pensar, mesmo que seja apenas para a primeira resposta.
- Votação da maioria (linha azul): Aqui, o modelo dá várias respostas e escolhe a que sugere com mais frequência (voto majoritário). Esse método começa com 22,7% e melhora para 66,7% à medida que mais tokens são usados. Ela é sempre mais precisa do que a abordagem da primeira resposta, mostrando que dar ao modelo várias tentativas o ajuda a tomar decisões melhores.
A linha roxa tracejada representa o modelo o1-preview que tem uma precisão estável. No início, a o1-preview é melhor, mas como o DeepSeek r1-lite-preview pode usar mais tokens de pensamento, ele ultrapassa a o1-preview e se torna muito mais preciso.
Então, basicamente, esse gráfico mostra que deixar o DeepSeek r1-lite-preview pensar mais e tentar várias vezes melhora sua precisão.
Conclusão
O DeepSeek-r1-lite-preview é melhor do que o o1-preview da OpenAI? Bem, isso depende da tarefa. Eu diria que sim para problemas de matemática e codificação. Para o raciocínio lógico, isso depende da tarefa.
O que realmente me surpreendeu foi como ele raciocinou em alguns dos testes. Isso realmente me fez pensar sobre o que realmente significa para um modelo "pensar" e como ele chega às abordagens de raciocínio.
Se você está curioso sobre esse modelo, por que não testá-lo você mesmo? Experimente-o nas tarefas de seu interesse e veja como ele se comporta - você pode achar tão surpreendente quanto eu!
Ana Rojo Echeburúa é cientista de dados e IA com doutorado em Matemática Aplicada. Ela adora transformar dados em insights acionáveis e tem ampla experiência na liderança de equipes técnicas. Ana gosta de trabalhar em estreita colaboração com os clientes para resolver seus problemas de negócios e criar soluções inovadoras de IA. Conhecida por suas habilidades de resolução de problemas e comunicação clara, ela é apaixonada por IA, especialmente por modelos de linguagem grandes e IA generativa. Como cofundadora e CTO da Simpli, uma empresa de IA para seguros tecnológicos, Ana se dedica ao aprendizado contínuo e ao desenvolvimento ético de IA, sempre ampliando os limites da tecnologia.
Aprenda IA com estes cursos!
programa
AI Fundamentals
curso
Generative AI for Business
blog
A OpenAI anuncia o GPT-4 Turbo com visão: O que sabemos até o momento
blog
Tudo o que sabemos sobre o GPT-5
Josep Ferrer
10 min
tutorial
DeepSeek-Coder-V2 Tutorial: Exemplos, instalação, padrões de referência
Dimitri Didmanidze
8 min
tutorial
Tutorial do DeepChecks: Automatizando os testes de machine learning
tutorial
Ajuste fino do Llama 3.1 para classificação de textos
tutorial
Guia de Introdução ao Ajuste Fino de LLMs
Josep Ferrer
12 min