Tree of Thoughts (ToT) é um framework inovador projetado para aprimorar os recursos de raciocínio de grandes modelos de linguagem (LLMs). Essa abordagem simula estratégias cognitivas humanas para resolução de problemas, permitindo que os LLMs explorem múltiplas soluções possíveis de forma estruturada, semelhante aos ramos de uma árvore.[1]
Os frameworks de árvore de ideias (ToT) e cadeia de ideias (CoT) servem como algoritmos conceituais para entender a organização e a progressão da geração de texto em modelos de linguagem (LMs), como transformadores generativos treinados previamente (como GPT-3 e GPT-4 ). Essas técnicas de prompts fazem parte da engenharia de prompts, que envolve a criação de inputs (prompts) para guiar efetivamente os LMs na geração de resultados preferenciais.
Prompts de árvore de ideias: essa estrutura opera na capacidade do modelo de gerar texto de forma hierárquica, com um tópico ou ideia central levando a subtópicos e detalhes ramificados. Essa abordagem reflete como um modelo pode expandir um prompt específico, gerando texto cada vez mais específico e relacionado, semelhante a uma estrutura de árvore. Ele possibilita estratégias de pesquisa antecipada e de árvore, onde o modelo pode explorar várias ramificações antes de se comprometer com um caminho, tornando-o adequado para resolução geral de problemas e cenários que exigem decisões complexas. Este método incorpora raciocínio de senso comum e heurística para avaliar a qualidade de cada ramo. O mecanismo de autoconsistência é empregado para apresentar avaliações confiáveis, solicitando o modelo várias vezes.
Prompting com cadeia de pensamentos (CoT): por outro lado, esse conceito refere-se à capacidade do modelo de gerar texto de forma linear, da esquerda para a direita, onde cada token subsequente é diretamente influenciado pelos tokens anteriores. Essa progressão sequencial reflete uma abordagem mais simples e direta para geração de texto. O CoT é eficaz para tarefas que exigem um fluxo lógico claro e passo a passo. O aprendizado few-shot, onde o modelo recebe alguns exemplos para referência, pode aprimorar esse método ao fornecer compreensão contextual. CoT funciona como uma técnica fundamental em engenharia de prompt, sendo uma abordagem mais simples de implementar, mas que pode não alcançar o mesmo nível de profundidade e complexidade que o ToT.
Comparação e aplicações: embora o prompt da ToT represente uma abordagem mais complexa e interconectada para a geração de texto, emprega estratégias de pesquisa em árvore e antecipação, enquanto a CoT reflete uma progressão sequencial mais simples. A natureza hierárquica da ToT a torna adequada para tarefas que exigem a exploração detalhada de múltiplas soluções, como cenários de aprendizado por reforço, em que o backtracking e as estratégias alternativas são cruciais. No entanto, a progressão linear da CoT é ideal para tarefas que precisam de uma sequência lógica e clara de ideias.
Na prática, APIs para modelos de linguagem, incluindo GPT-3 e GPT-4, utilizam técnicas de prompting como ToT e CoT para melhorar o desempenho em tarefas diversas, desde redação criativa até resolução de problemas complexos.[2] A engenharia de prompt continua evoluindo, proporcionando ferramentas avançadas para potencializar os transformadores usados em modelos de linguagem.
O ToT guia os LLMs por uma série de etapas de raciocínio, onde cada etapa pode se ramificar em múltiplos caminhos, permitindo que o modelo retroceda ou explore estratégias alternativas conforme necessário. Por exemplo, ao resolver um quebra-cabeça de sudoku, o modelo pode testar diferentes posicionamentos de números de maneira iterativa. Caso encontre uma contradição, o modelo retrocede e tenta uma abordagem diferente até encontrar a solução correta. Isso imita a forma como os humanos resolvem problemas, considerando múltiplas soluções e descartando aquelas que se mostram incorretas.[1][3]
A ToT é um framework sofisticado projetado para aprimorar as capacidades de resolução de problemas dos LMs, estruturando seu raciocínio de maneira análoga aos processos cognitivos humanos. A estrutura é composta por quatro componentes principais:
Integrando esses componentes, a estrutura da ToT imita a resolução de problemas humanos, considerando sistematicamente várias soluções e descartando as consideradas incorretas.
A dinâmica operacional da estrutura ToT envolve uma exploração iterativa e estruturada em árvore de possíveis soluções. Começando com a solicitação inicial, o modelo gera uma variedade de ideias ou respostas, cada uma levando a consultas ou expansões subsequentes. Essas ramificações se desenvolvem à medida que o modelo explora outros caminhos de raciocínio. Ele emprega o monitoramento do progresso e a exploração de todo esse espaço de soluções por meio de uma autoavaliação baseada em LLM, ajudando a garantir a validade de cada etapa. Se uma linha específica de raciocínio atingir uma contradição ou um beco sem saída, o sistema pode voltar para um nó anterior para explorar possibilidades alternativas.
Essa abordagem estruturada, ainda que flexível, possibilita que os LLMs lidem com tarefas complexas de raciocínio em várias etapas de forma mais eficaz. Assemelha-se à capacidade humana de navegar por um labirinto de ideias e opções, reavaliando e ajustando estratégias conforme o necessário.
Em essência, o framework ToT equipa os LLMs com uma capacidade de raciocínio mais próxima da humana, aumentando sua eficiência em tarefas que exigem pensamento estratégico e tomada de decisão profunda.
A estrutura ToT representa um avanço considerável nas capacidades dos LLMs para resolução de problemas complexos. No entanto, há compensações envolvendo a complexidade adicional inerente à implementação dessa estrutura.
A estrutura oferece benefícios ao campo da inteligência artificial, incluindo:
O ToT aprimora significativamente as habilidades de resolução de problemas dos LLMs ao permitir que explorem múltiplos caminhos de raciocínio simultaneamente. Isso reflete os processos cognitivos humanos, onde várias soluções são consideradas antes de se escolher a mais viável. Por exemplo, em tarefas que exigem planejamento estratégico, como resolver quebra-cabeças ou gerar textos criativos, o ToT demonstrou desempenho superior, alcançando taxas de sucesso mais altas em comparação com métodos tradicionais. Essa capacidade aprimorada de raciocínio complexo se destaca especialmente em tarefas desafiadoras, onde as decisões iniciais impactam diretamente os resultados finais.[4]
A Tree of Uncertain Thoughts (TouT) é uma extensão do ToT que trata especificamente das incertezas inerentes ao processo de tomada de decisão dos LLMs. Ao quantificar e gerenciar essas incertezas, o TouT permite resultados mais precisos e confiáveis. Esse processo emprega técnicas avançadas, como o Monte Carlo Dropout. Essa técnica é amplamente utilizada em aprendizado de máquina, especialmente em modelos de deep learning, para estimar incertezas nas previsões. O método envolve a desativação aleatória de neurônios tanto no treinamento quanto na inferência, criando múltiplos caminhos possíveis dentro da rede neural. Ao calcular a média das previsões dessas diferentes trajetórias, o modelo fornece estimativas mais confiáveis de incerteza. Esse recurso é fundamental para aplicações onde previsões precisas e confiáveis são essenciais, como diagnóstico médico e previsão financeira.[5]
Junto com os benefícios, há algumas limitações inerentes que devem ser consideradas.
A estrutura da ToT envolve operações complexas, como manter múltiplos caminhos de decisão, voltar atrás e explorar soluções alternativas. Esses processos são computacionalmente intensivos, muitas vezes exigindo recursos significativos em termos de poder de processamento e memória. A necessidade de recursos pode limitar a escalabilidade da ToT, especialmente em ambientes onde os recursos computacionais são limitados ou em aplicativos em tempo real onde os tempos de resposta rápidos são críticos.
Configurar um sistema Tree of Thoughts envolve a integração de vários componentes, como o agente de prompting, o módulo de verificação, o módulo de memória e o controlador da Tree of Thoughts.[1] Cada componente deve ser finamente ajustado para funcionar em harmonia, o que pode ser um processo complexo e demorado. Além disso, a eficácia do sistema depende fortemente da qualidade de sua implementação. Uma configuração inadequada de qualquer componente pode reduzir a eficiência do sistema, tornando-o menos confiável ou levando a caminhos incorretos na resolução de problemas.
O framework ToT demonstrou sua eficácia em diversas aplicações, demonstrando robustez e adaptabilidade. Aqui, exploramos quatro estudos de caso convincentes em que a ToT melhorou consideravelmente os recursos de resolução de problemas:
A aplicação do ToT na resolução de quebra-cabeças de Sudoku exemplifica sua capacidade de navegar por desafios lógicos complexos. Ao guiar o modelo por diferentes possibilidades de posicionamento de números e permitir que ele retroceda ao encontrar contradições, o ToT otimiza o caminho para soluções corretas. Essa capacidade de reavaliar decisões dinamicamente melhora drasticamente a precisão e a eficiência da resolução de problemas, destacando a vantagem do ToT sobre abordagens mais estáticas.[1]
No jogo estratégico de aritmética "24", o ToT melhorou significativamente as taxas de sucesso ao permitir que o modelo explorasse múltiplos caminhos de cálculo. Esse processo de raciocínio adaptativo possibilitou que o modelo resolvesse os quebra-cabeças de forma mais criativa e eficaz, demonstrando a capacidade do ToT de aprimorar a flexibilidade cognitiva na resolução de problemas numéricos.[4]
O ToT também foi aplicado a tarefas de escrita criativa, auxiliando LLMs na geração de narrativas mais coerentes e contextualmente apropriadas. Ao estruturar o processo de pensamento em uma árvore ramificada, o modelo pode explorar diferentes desenvolvimentos de enredo ou escolhas estilísticas, além de selecionar ou revisar as opções mais promissoras. Esse método resultou em melhorias na qualidade e originalidade dos textos gerados por LLMs, proporcionando uma abordagem mais sutil e sofisticada para a criação automatizada de histórias.[4]
Outra aplicação notável do ToT está na resolução de mini palavras cruzadas 5x5. O framework permite que o modelo considere múltiplas opções de palavras para cada pista do quebra-cabeça, avaliando não apenas os termos individualmente, mas também sua interação com palavras já posicionadas. Essa abordagem iterativa e abrangente contribui para uma maior precisão na conclusão dos quebra-cabeças, demonstrando a capacidade do ToT de aplicar raciocínio lógico e contextual em tarefas linguisticamente complexas. O uso do ToT nesse contexto ressalta sua versatilidade e eficácia em tarefas que exigem a integração de múltiplos tipos de conhecimento e estratégias de raciocínio.[4]
Esses estudos de caso ilustram as diversas capacidades da estrutura da árvore de ideias, desde o aprimoramento do raciocínio lógico e numérico até o aumento da criatividade e da compreensão contextual em tarefas baseadas em linguagem. Cada exemplo ressalta o potencial da ToT para revolucionar a resolução de problemas em todas as disciplinas.
Avanços recentes na pesquisa de ToT concentraram na expansão de seus recursos e em como lidar com os desafios inerentes à sua aplicação. Os principais desenvolvimentos são:
Esses desenvolvimentos recentes destacam os esforços contínuos para refinar e expandir o framework Tree of Thoughts, garantindo sua aplicabilidade e eficácia em cenários de resolução de problemas cada vez mais complexos. Esses avanços não apenas aumentam os recursos dos LLMs, mas também abrem novas possibilidades para pesquisa e aplicação em inteligência artificial.
Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.
Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.
Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.
Aprenda como os CEOs podem equilibrar o valor que a IA generativa pode criar com o investimento que ela exige e os riscos que ela introduz.
Aprenda conceitos fundamentais e desenvolva suas habilidades com laboratórios práticos, cursos, projetos guiados, avaliações e muito mais.
Saiba como incorporar com confiança a IA generativa e o aprendizado de máquina em sua empresa.
Quer ter mais retorno sobre seus investimentos em IA? Saiba como o dimensionamento da IA generativa em áreas importantes promove mudanças, ajudando suas melhores mentes a criar e oferecer soluções novas e inovadoras.
[1] Long, J. (May 2023). Large Language Model Guided Tree-of-Thought.
[2] Karthik Narasimhan, S. Y. (Julho de 2023). Official Repository of Tree of Thoughts (ToT). https://github.com/princeton-nlp/tree-of-thought-llm
[3] Pengfei Liu, W. Y. (2021). Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing. ACM Computing Surveys.
[4] Shunyu Yao, D. Y. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. ArXiv, abs/2305.10601.
https://arxiv.org/abs/2305.10601
[5] 5 Shentong Mo, M. X. (setembro de 2023). Tree of Uncertain Thoughts Reasoning for Large Language Models. ArXiv, abs/2309.07694. https://arxiv.org/abs/2309.07694
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io