2 pontos por GN⁺ 2024-03-24 | 1 comentários | Compartilhar no WhatsApp
  • Modelos de linguagem de grande porte costumam falhar quando dão a resposta diretamente a problemas com várias etapas, como aritmética longa, mas conseguem resolver problemas antes difíceis quando são levados a produzir uma solução passo a passo
  • Em 2022, pesquisadores do Google popularizaram o chain-of-thought prompting, uma abordagem simples que faz o modelo exibir etapas intermediárias, mas por que ela funciona ainda é objeto de análise
  • Pesquisadores vêm usando a teoria da complexidade computacional para examinar as capacidades e limitações dos Transformers, mostrando que uma arquitetura otimizada para processamento paralelo pode limitar a capacidade computacional quando precisa dar uma resposta imediata
  • Segundo o estudo teórico de Merrill e Sabharwal, o chain of thought passa a ajudar de forma substancial quando o número de etapas intermediárias cresce proporcionalmente ao tamanho da entrada, e muitos problemas exigem ainda mais etapas do que isso
  • Esses resultados não significam que modelos reais necessariamente aprendam essas soluções durante o treinamento, mas oferecem uma estrutura para comparar novas arquiteturas de redes neurais sem superestimar as limitações dos Transformers

Por que soluções passo a passo mudam o desempenho dos modelos

  • Pessoas não tentam acertar de uma vez problemas como a soma de números de 20 dígitos; elas acumulam o cálculo da casa das unidades para a esquerda
  • Modelos de linguagem de grande porte também conseguem acertar problemas aritméticos com poucas etapas, mas frequentemente falham em problemas que exigem muitas etapas, como a soma de números grandes
  • Em 2022, pesquisadores do Google mostraram que, ao pedir ao modelo que gere uma solução passo a passo, ele consegue resolver problemas que antes pareciam difíceis
  • Essa abordagem é chamada de chain-of-thought prompting e se disseminou rapidamente, mas os pesquisadores ainda estão analisando por que ela é eficaz

Como os Transformers ficaram poderosos e suas restrições estruturais

  • Modelos de linguagem de grande porte se baseiam em redes neurais artificiais que representam e processam palavras como sequências de números
    • Antes do treinamento, os parâmetros começam com valores aleatórios
    • O modelo prevê a próxima palavra a partir de grandes volumes de texto retirados da internet e ajusta seus parâmetros para reduzir a diferença em relação ao texto real
  • O Transformer, introduzido por pesquisadores do Google em 2017, ampliou muito a pesquisa em modelos de linguagem
    • Antes dos Transformers, redes neurais tinham no máximo centenas de milhões de parâmetros
    • Hoje, os maiores modelos baseados em Transformer têm mais de 1 trilhão de parâmetros
  • O principal componente do Transformer é o attention head
    • Ele examina rapidamente todo o texto de entrada e encontra conexões entre palavras úteis para prever a próxima palavra
    • Depois disso, a feedforward network realiza o grosso da computação
  • A arquitetura que usa várias camadas de attention heads e feedforward networks permite realizar simultaneamente os cálculos para cada palavra durante o treinamento
    • Graças a esse paralelismo, é possível distribuir o treinamento em grandes volumes de dados e muitos processadores
    • David Chiang diz que, para aproveitar grandes conjuntos de dados, o modelo também precisa ser grande, e que sem paralelização o treinamento não seria prático
  • No uso comum depois do treinamento, o Transformer gera uma palavra por vez e anexa essa saída novamente à entrada para gerar a palavra seguinte
    • Como a arquitetura continua otimizada para processamento paralelo, pesquisadores começaram a investigar se esse paralelismo traz um custo em capacidade computacional

A capacidade computacional dos Transformers vista pela teoria da complexidade

  • Como é difícil analisar diretamente o processo de treinamento de uma rede neural, alguns pesquisadores analisam a capacidade computacional intrínseca dos Transformers assumindo que seus parâmetros podem ser definidos como se desejar
  • Essa abordagem trata o Transformer como um certo tipo de computador programável
    • Pergunta quais funções ele pode calcular
    • E que tipos de problemas ele pode resolver
  • Em 2019, Pablo Barceló e coautores provaram que um Transformer idealizado com um número fixo de parâmetros poderia ser tão poderoso quanto uma Turing machine, com configurações adequadas e realimentação iterativa da saída
  • Esse resultado foi um ponto de partida importante, mas dependia de suposições pouco realistas que poderiam superestimar o poder de Transformers reais
  • Depois disso, pesquisadores começaram a construir arcabouços teóricos mais realistas

Os limites de Transformers que precisam responder imediatamente

  • William Merrill e Ashish Sabharwal analisaram, por meio da circuit complexity, os limites criados pela arquitetura paralela dos Transformers
  • Eles trataram do caso em que o Transformer não pode realimentar sua saída como entrada, e a primeira saída precisa ser a resposta final
  • Nesse arcabouço teórico, o Transformer não consegue resolver problemas computacionais fora de determinadas classes de complexidade
    • Como exemplo relativamente simples, acredita-se que muitos problemas matemáticos, como resolver equações lineares, estejam fora dessa classe
  • O paralelismo é uma vantagem que viabiliza o treinamento, mas se torna um custo em situações que exigem resposta imediata
    • Merrill diz que, quando usados com uma entrada e a expectativa de uma resposta imediata, os Transformers são bastante fracos

Como o chain of thought contorna os limites

  • Os resultados de Merrill e Sabharwal levaram à pergunta de quão mais poderoso um Transformer fica quando pode reutilizar sua saída
  • O chain-of-thought reasoning em modelos de linguagem reais é influenciado pelo texto do prompt, mas, quando o modelo produz uma resposta passo a passo, em princípio ele pode reutilizar resultados intermediários na próxima passagem pelo Transformer
  • Uma equipe da Peking University, em um artigo de maio de 2023, abordou alguns problemas matemáticos que deveriam ser impossíveis para Transformers comuns no arcabouço de Merrill e Sabharwal
    • Eles mostraram que, ao permitir etapas intermediárias, o Transformer consegue resolver esses problemas
  • Em outubro de 2023, Merrill e Sabharwal publicaram um estudo teórico que analisou em mais detalhes a capacidade computacional do chain of thought
    • Eles quantificaram como a capacidade computacional adicional muda de acordo com o número de etapas intermediárias que o Transformer pode usar antes de dar a resposta final
  • Como no exemplo da soma de números de dois dígitos, há problemas em que, à medida que a entrada cresce, o número de etapas intermediárias necessárias também aumenta
    • O método mais simples para somar dois números de 20 dígitos exige duas vezes mais etapas intermediárias de adição do que somar dois números de 10 dígitos

Etapas intermediárias ajudam, mas não são de graça

  • Merrill e Sabharwal analisaram que, se houver pouquíssimas etapas intermediárias, o ganho para o Transformer também não é grande
  • O chain of thought começa a ter efeito substancial quando o número de etapas intermediárias aumenta proporcionalmente ao tamanho da entrada
  • Muitos problemas exigem que o número de etapas intermediárias cresça muito mais do que o tamanho da entrada
  • Portanto, o chain of thought não é uma solução universal
    • Em princípio, ele pode permitir resolver problemas mais difíceis
    • Mas exige um esforço computacional considerável
  • Merrill diz que tem interesse em vários métodos para contornar os limites de um Transformer de uma etapa, e que o chain of thought talvez não seja o método mais econômico

Cuidados ao aplicar isso a modelos reais

  • O alcance do que a análise teórica pode dizer sobre modelos de linguagem reais é limitado
  • Provar que um Transformer, em princípio, consegue resolver determinado problema não significa que um modelo de linguagem real necessariamente tenha aprendido essa solução durante o treinamento
  • Resultados sobre as limitações dos Transformers também pressupõem critérios fortes
    • Eles significam que nenhum Transformer consegue resolver determinado problema perfeitamente em todos os casos
    • Daniel Hsu diz que certos casos especiais podem ser tratados bem
  • Essas análises se tornam uma estrutura para comparar outras arquiteturas de redes neurais que poderiam substituir Transformers
    • Se, na análise de teoria da complexidade, uma rede aparece como mais poderosa, isso pode servir de evidência de que ela também seria melhor em ambientes reais
  • À medida que modelos de linguagem são usados em várias aplicações reais, é preciso reconhecer que há muitas tarefas em que os modelos não se saem bem

1 comentários

 
GN⁺ 2024-03-24
Opiniões do Hacker News
  • Acho que a cadeia de pensamento (chain-of-thought) não deve ser comparada a uma cadeia rigorosa de lógica/matemática.
    O raciocínio passo a passo do modelo não confere à saída esse nível de rigor, e a força da cadeia é apenas a força do contexto relacionado, portanto é muito mais fraca do que a matemática/lógica feita por humanos.
    Do ponto de vista de alguém que lida diariamente com modelos dessa área, mas não os cria diretamente, não vejo as conexões necessárias ensinadas na matemática básica, e frequentemente vejo modelos falharem de maneiras que um humano acima de certa idade não falharia.
    No fim, é algo mais próximo de encontrar contexto relacionado e é poderoso, mas é diferente do raciocínio lógico humano. Humanos podem partir de pouquíssimos conceitos e, sentados numa cadeira, chegar por pura inferência a conclusões irrefutáveis distantes, enquanto o modelo está mais perto de ficar saltando entre contextos.

    • Se um LLM está mais próximo de fazer amostragem sequencial de Monte Carlo no espaço latente, a parte de “pensamento” na cadeia de pensamento parece mais com o período de aquecimento necessário na amostragem SMC.
      Quem já fez estatística bayesiana a sério sabe que um amostrador precisa de um breve aquecimento antes de amostrar de forma eficiente. Na cadeia de pensamento, parece acontecer algo parecido: o modelo precisa vaguear um pouco antes de entrar na vizinhança correta para amostrar a resposta certa.
    • Acho que boa parte do raciocínio que humanos pensam como “1, 2, portanto 3” não é muito diferente do que um LLM faz e, na prática, nem é mais inteligente do que isso.
      Muitas pessoas acham que pensaram suficientemente sobre crenças duvidosas, mas na verdade não pensaram. Usam o contexto para prever o próximo pensamento/palavra e frequentemente chegam à conclusão que já tinham desde o início.
      Quando se fala em uma conclusão irrefutável, acho que na prática ela é primeiro inventada intuitivamente, e depois vem um processo forte de verificação: se as definições são suficientemente claras, se os saltos de inferência são justificados etc.
      Por isso, o que eu realmente gostaria de ver é uma forma de ensinar LLMs a transformar frases ambíguas em inglês em algo que possa ser inserido em um motor de raciocínio formal.
      Por exemplo, em vez de perguntar diretamente a um LLM “quantos campos de futebol cabem dentro da Inglaterra”, muitas vezes é melhor pedir que escreva código Python para calcular isso, assumindo que get_size_football_field() e get_size_England() existem em metros quadrados.
    • Eu não tenho essa capacidade de “humanos poderem partir de pouquíssimos conceitos e chegar, por puro raciocínio, a conclusões irrefutáveis distantes”.
      Eu não consigo raciocinar além de cerca de 10 linhas de código Go, e isso ficou claro depois de tentar resolver vários puzzles por hobby.
    • Acho que a estrutura do raciocínio humano é quase igual à cadeia de pensamento.
      Temos um loop auditivo e, quando encontramos um problema complexo, repetimos uma espécie de mantra como “agora que sei XYZ, qual é o próximo passo...”, até que surja um bom próximo passo e o adicionemos ao contexto.
      A diferença é que, por enquanto, a função de transição dos humanos é muito melhor.
    • Em LLMs, a cadeia de pensamento parece, no fim das contas, ajudar a reforçar a memória.
      Isso porque ela escreve o raciocínio no contexto, facilitando a referência posterior — claro, é apenas um palpite.
  • Uma explicação simplificada que acho ter ouvido do Karpathy é que modelos Transformer só fazem computação quando geram (decodificam) tokens.
    Então, ao usar cadeia de pensamento para gerar mais tokens, você dá ao modelo mais tempo para “pensar”. Claro que essa explicação não captura todas as nuances.

    • Outra explicação também é possível. Um LLM aprende essencialmente “A B”, ou seja, se é plausível que B venha depois de A.
      Em conclusões curtas, o espaço de possibilidades plausíveis é muito maior, como A B1, A B2. Se você pede uma resposta curta para uma pergunta sutil, uma resposta ponderada, uma resposta que parece correta à primeira vista e uma bobagem convincente são todas possíveis.
      Por outro lado, se você força o modelo a explicar o raciocínio, o espaço de conclusões plausíveis diminui. Se ele começar com uma bobagem convincente e levá-la honestamente até o fim, pode acabar chegando à conclusão de que precisa revertê-la.
      Isso é parecido com o motivo pelo qual, ao refutar uma crença nociva de uma pessoa honesta, funciona bem fazê-la desdobrar diretamente as consequências dessa crença e acompanhar também os efeitos do que parece bom sem muita reflexão.
      Também é parecido com o motivo pelo qual preencher o prompt com elementos que reduzem o espaço de conclusões plausíveis é uma engenharia de prompt eficaz.
    • A arquitetura Transformer autorregressiva tem custo constante por token, não importa quão difícil seja a tarefa.
      Mesmo que você faça a pergunta de raciocínio mais complexa, a quantidade de computação necessária para gerar o próximo token é a mesma de uma pergunta simples de sim/não, e isso é uma restrição estrutural.
      Fazer o LLM gerar dados de “rascunho” para usar na computação, de modo que ele preste atenção às informações relevantes, é uma forma de contornar esse limite de custo constante. Quanto mais difícil a tarefa, mais rascunho é necessário, para que mais contexto relevante exigido por tokens futuros permaneça disponível.
    • No começo eu pensava assim, mas agora acho que na prática não está correto. Por causa da máscara usada na atenção, mesmo que haja padding depois da string, a quantidade de trabalho feita sobre a string é a mesma.
      Em vez disso, percebi que a memória de trabalho do LLM é limitada pelos valores de ativação, e isso pode virar um gargalo. O modelo pode expandir a memória de trabalho escrevendo resultados parciais na saída e relendo-os.
      Por exemplo, se você disser “pense em um número, mas não o diga”, não há onde armazenar esse número. Não há armazenamento temporário além da fita. Mas, se você disser “pense passo a passo”, os resultados intermediários — isto é, os pensamentos — são armazenados na fita, criando espaço extra de armazenamento para o raciocínio.
    • Pela minha experiência criando produtos com GPT3.5-Turbo, há um limite superior para a complexidade das instruções que o modelo consegue processar de uma só vez.
      Há um aspecto de “adicionar computação”, mas o ponto central é estruturar o processo para que, ao tomar uma decisão, o modelo se concentre apenas em um escopo limitado.
      Na prática, é como criar uma estrutura em árvore de decisões que se apoiam umas nas outras. Ao gerar tokens intermediários, o modelo pode prestar atenção apenas a um conjunto menor de decisões já condensado.
      Mas isso também pode criar um comportamento antecipatório em que etapas intermediárias ficam enviesadas por causa de um resultado errado que o modelo previu, então na prática é um pouco mais complexo.
    • Já coloquei a stack e as principais dependências no prompt de sistema de um modelo usado para programação e fiz perguntas ou conversei com ele; ajudou bastante, ou pelo menos deu essa impressão.
  • A explicação de que “o estudo formal da computação começou em 1936 com a máquina de Turing, de Turing” precisa voltar um pouco mais no tempo
    Há a lógica combinatória de Moses Schönfinkel, dos anos 1920 https://en.wikipedia.org/wiki/Moses_Sch%C3%B6nfinkel, e o cálculo lambda de Alonzo Church, do início dos anos 1930 https://encyclopediaofmath.org/wiki/Lambda-calculus
    Dito isso, esses modelos são menos adequados como base para a teoria da complexidade computacional

    • Olhando de forma mais ampla, dá para voltar por Peirce e Frege, Boole, Pascal e Leibniz até Aristóteles
      Aristóteles provavelmente foi uma das primeiras pessoas a tentar formalizar o pensamento estruturado
      O dispositivo de computação de Turing formalizava a maneira como um matemático humano manipula símbolos segundo regras formais para resolver problemas por meio de computação, e segue uma longa linhagem de reflexão sobre essa mesma experiência e sobre o quanto ela é fácil de mecanizar
      O primeiro a realmente implementar isso para aritmética foi Pascal
    • Se você se interessa por esse tema, incluindo o trabalho de Schönfinkel, recomendo https://youtu.be/h0OkptwfX4g
  • Acho que os dois modos do discurso sobre LLMs, isto é, “eles têm consciência!” e “são apenas preditores do próximo token com um conjunto de dados impressionante”, em geral vêm de dois grupos diferentes
    Pessoas que conheceram LLMs primeiro e só depois aprenderam os fundamentos de aprendizado de máquina, e pessoas que aprenderam os fundamentos de aprendizado de máquina primeiro e depois tiveram contato com os LLMs de hoje
    Eu estou no segundo grupo, mas há de fato o risco de que preconceitos vindos dos fundamentos limitem a visão do quadro geral, então considero o debate bem-vindo
    Sobre cadeia de pensamento, sei pelo menos que muitos dos resultados do artigo original não foram bem reproduzidos em tentativas posteriores. Não sei se isso se deve às particularidades de modelos que mudam todos os dias ou se há algum motivo mais profundo

    • Instintivamente, quero confiar mais em quem conhece também o conhecimento mais antigo
      Mas certa vez reclamei com meu orientador de tese que as pessoas da área de aprendizado de máquina pareciam não conhecer bem os trabalhos antigos de aprendizado de máquina e IA, e ele, com mais de 30 anos de carreira em pesquisa, me disse que essa reclamação já existia quando ele era doutorando
      Em IA, há trabalhos demais, cerca de 80 anos se contarmos a partir de Pitts e McCulloch, e muito tempo mesmo contando a partir de Turing, então é muito difícil acompanhar o que os outros fazem e ao mesmo tempo se aprofundar no próprio tema
      Por exemplo, quando você abre um livro de aprendizado por reforço, ele trata de problemas quase iguais aos de planejamento (planning), com pressupostos muito parecidos de espaço de estados e ações, mas às vezes parece que a área de planejamento nem existe
      Além disso, eles são mesmo preditores do próximo token :P
    • No momento, estou tendendo para a ideia de que “cérebros orgânicos também são apenas preditores do próximo token com um sistema auxiliar de heurísticas impressionante”
      Ao ver que o Transformer consegue produzir resultados tão impressionantes mesmo sendo uma aproximação tão pobre e completamente sem estado, não parece que exista algum segredo especial aqui
  • Eu achava isso óbvio. LLMs não têm uma voz interior nem imagens internas como humanos, então não conseguem primeiro pensar o problema inteiro na cabeça antes de responder
    Por isso, se usarem a própria área de saída como uma espécie de bloco de notas, conseguem cobrir um espaço de raciocínio mais amplo antes de dar a resposta, o que é parecido com a forma como humanos fazem
    Ao fazer uma pergunta específica com o prompt “pense passo a passo”, dá para ver que ele também imprime pensamentos provisórios que não servem para a resposta final. É exatamente o que fazemos ao resolver problemas aos quais não conseguimos responder de imediato
    Humanos também costumam anotar pensamentos e respostas provisórios ou intermediários com papel e caneta. LLMs não têm essa ferramenta, mas podem usar a saída de modo parecido
    Alguns prompts de árvore de pensamentos (Tree of Thoughts) fazem o LLM produzir dois tipos de saída. Uma é “pensar com a voz interior”, e a outra é a saída a ser mostrada ao humano
    Dar a capacidade de chamar métodos ou “googlar” também pode ser visto como uma forma de realizar pensamento e raciocínio antes de gerar a resposta a ser mostrada ao usuário

  • O modelo não consegue pensar. Ele apenas usa o contexto de entrada para prever a saída
    Portanto, se houver um problema que precisa ser resolvido iterativamente, é preciso armazenar as etapas intermediárias no contexto. Caso contrário, essas etapas não têm para onde ir

    • Da afirmação “usa a entrada para prever a saída” não decorre a conclusão de que “não consegue pensar”
      Não entendo por que o fato de prever a saída a partir da entrada levaria à crença de que ele não consegue pensar. Talvez pensar seja exatamente isso tudo, e nós não sabemos
  • Dá para pensar na plausibilidade de 11 + 31 = 24 por um motivo simples
    A resposta é um número, e o fato de ser um número de dois dígitos também é bastante plausível ao somar entradas de dois dígitos. 24 também é uma resposta comum em problemas de matemática e tem muitos divisores. Ele até contém os números que aparecem ao somar 1+3 e 1+1
    Mas a frase final “mostre a solução. Em 11 + 31, somando as dezenas temos 10 + 30 = 40, somando as unidades temos 1 + 1 = 2, e ao juntar 40 e 2 obtemos 24” não é muito plausível
    Ou “10 + 30 = 20, 1 + 1 = 4, e ao juntar 20 e 4 obtemos 24” também não
    Ao decompor o problema, é preciso passar por regiões de probabilidade mais baixa do que uma resposta errada rápida
    Ainda assim, o argumento pela complexidade computacional é mais forte. A explicação acima pode ser uma explicação de perturbação suficiente em casos simples, então talvez seja preciso descartá-la antes de defender que a complexidade computacional é importante
    O argumento de complexidade também é intuitivamente óbvio. Se virmos um LLM como um computador que, a cada ciclo de clock, executa uma vez uma propagação direta em tempo constante sobre a entrada até o momento e emite um token, então, se dermos mais ciclos, ele consegue computar mais
    Também é possível usar estado. Mesmo que o mecanismo para transmitir estado de um ciclo para o seguinte seja muito limitado, ainda é possível
    Isso também se parece com uma extensão do antigo problema de que um perceptron de camada única não consegue calcular XOR. Aqui, o “ciclo” é o avanço de uma camada para a próxima
    Claro que isso não quer dizer que os detalhes sejam óbvios. Só dizer que é possível usar vários ticks de clock não explica quanto se consegue fazer em um único tick

  • Há um tweet que pode estar relacionado ao milagre da cadeia de pensamento e talvez seja uma explicação mais simples
    Ao pesquisar pela frase “Vamos pensar passo a passo!”, entre vários resultados aparece um site como http://geteasysolution.com, que tem muitas resoluções passo a passo de matemática. O fato de isso ser bastante comum dá o que pensar
    https://twitter.com/yanaiela/status/1765077404043952516

    • Essa explicação justifica por que uma frase específica funciona, mas não entra em conflito com uma explicação geral de como a cadeia de pensamento funciona
      Essa frase pode levar o modelo para o espaço conceitual de sites com muitos exemplos de cadeia de pensamento, mas, se a cadeia de pensamento não ajudasse de fato a pensar, isso não resultaria em saídas melhores
  • Eu já achava isso óbvio. É tudo uma questão de consciência de contexto
    Se você quiser melhorar, basta acrescentar um termo ao prompt para abrir mais considerações. Supondo que você ainda não tenha chegado ao fim da janela de contexto, cada nova palavra “desbloqueia” um novo vetor com mais contexto, e o modelo de linguagem o adiciona às considerações
    A semelhança com a forma como o cérebro humano parece funcionar é tão marcante que não faz sentido não usar isso como analogia para usar melhor modelos de linguagem
    Se conseguimos obter o mesmo resultado manipulando um LLM e manipulando o cérebro humano — ou seja, usando as palavras certas —, não sei por que deveríamos acreditar que há uma diferença
    Dá para aprender esse tipo de coisa com o tempo usando e estudando modelos 3B. Muita gente parece evitá-los, mas alguns modelos, como o “antigo” orca mini 3B, são muito poderosos, e eu ainda os uso
    O que é necessário é um prompt melhor, e essa abordagem funciona muito bem
    O maior obstáculo costuma ser a janela de contexto pequena desses modelos menores, mas é possível contornar isso sem sacrificar muito a qualidade com métodos como uma pequena extensão de RoPE, sumarização de texto, acréscimo de palavras de contexto e omissão de letras de palavras no prompt
    Se você quer melhorar os resultados de um modelo de linguagem, precisa virar mentalista, golpista, mágico e engenheiro social. Parece estranho, mas funciona

    • Essa explicação não aborda os limites não óbvios da cadeia de pensamento
      Merrill e Sabharwal provaram que a cadeia de pensamento só começa a ajudar de fato quando o número de etapas intermediárias cresce proporcionalmente ao tamanho da entrada, e que muitos problemas exigem que o número de etapas intermediárias cresça muito mais do que isso
      Isso também bate com a minha experiência. Quando se pede ao GPT-4 para resolver passo a passo, ele só consegue decompor problemas “simples”. Especialmente em casos de complexidade O(n²), em que as próprias etapas reais precisam ser ainda mais decompostas, ele divide a tarefa em etapas, mas falha de modo consistente em dividir as subtarefas novamente em subetapas. Mesmo que essa subtarefa possa ser resolvida com um prompt de cadeia de pensamento
      Prompts de cadeia de pensamento funcionam para cálculos O(n) simples porque impedem que o LLM dê a resposta como um palpite cego, mas, tanto teoricamente quanto empiricamente, não acho que tenham a capacidade de decompor um problema O(n²) em O(n) subproblemas O(n). Nem é preciso dizer que humanos são muito mais inteligentes do que isso, e ratos também
    • Interessante; há mais detalhes ou materiais para saber mais? Mesmo um único exemplo concreto já ajudaria
  • Cadeia de pensamento me faz lembrar “ir se virando” (muddling through) e se encaixa diretamente na minha intuição de que essa é a abordagem correta para aproximações de inteligência
    https://studio.ribbonfarm.com/p/massed-muddler-intelligence#...