L'arbre de feu (tot) invite, une nouvelle technique empruntant des idées au cadre de l'arbre de la pensée, élargit et améliore le concept d'incitation à la chaîne de réflexion bien établi, permettant ainsi de grands modèles de langue, comme Chatgpt, pour présenter des capacités de raisonnement supérieures. Cette technique d'incitation à la pensée permet de permettre de grands modèles de langue pour rectifier leurs erreurs de manière autonome tout en accumulant progressivement les connaissances.
Dans un exemple, une invite TOT améliore la capacité de raisonnement de Chatgpt 3.5 à répondre à une question qui ne pouvait être répondue auparavant que par Chatgpt 4.
Les grands modèles de langue (LLM) ont souvent du mal à répondre à certains types de questions complexes. Voici un exemple représentatif:
Bob is in the living room.
He walks to the kitchen, carrying a cup.
He puts a ball in the cup and carries the cup to the bedroom.
He turns the cup upside down, then walks to the garden.
He puts the cup down in the garden, then walks to the garage.
Where is the ball?
La bonne réponse est que la balle est dans la chambre. Bien que les LLM ne soient pas déterministes, les réponses que j'ai reçues au cours de plusieurs tentatives étaient les suivantes:
Un concept largement reconnu connu sous le nom de «providence en chaîne de pensées» (COT pour faire court) existe, ce qui encourage les modèles de langue importants (LLM) à élucider leur processus de réflexion, augmentant ainsi la probabilité d'une réponse correcte. Les racines de ce concept remontent à un document de janvier 2022 intitulé: L'incitation en chaîne de pensées suscite le raisonnement dans des modèles de grande langue.
À la base, la technique COT peut être mise en œuvre en ajoutant quelque chose qui ressemble à une invite:
Think carefully and logically, explaining your answer.
Cette approche améliore les performances des LLM pour répondre à de nombreuses questions, bien que son efficacité varie.
Voici un exemple de la réponse de Chatgpt 3.5:
Based on the given sequence of events, we can logically determine the location of the ball. Let's analyze each step:
1. Bob is in the living room.
- No mention of the ball in the living room.
2. Bob walks to the kitchen, carrying a cup.
- No mention of the ball in the kitchen yet.
3. Bob puts a ball in the cup.
- The ball is now inside the cup.
4. Bob carries the cup to the bedroom.
- The ball is still inside the cup.
5. Bob turns the cup upside down.
- If the ball was inside the cup, it would have fallen out when Bob turned it upside down.
6. Bob walks to the garden.
- Bob left the cup in the garden, but there is no mention of the ball being removed from the cup.
7. Bob puts the cup down in the garden.
- The ball, if it was in the cup, would still be in the cup in the garden.
8. Bob walks to the garage.
- No mention of the ball being taken to the garage.
Based on the given information, we can conclude that the ball is still inside the cup in the garden.
Vous pouvez voir comment Chatgpt a réalisé que le ballon était tombé à l'étape 5, mais n'a toujours pas obtenu la réponse correcte.
Pouvons-nous faire mieux, sans recourir à Chatgpt 4?
Les dernières semaines ont vu l'émergence de plusieurs articles et des référentiels de Python présentant le concept d'arbre de pensée (TOT):
Le principe sous-jacent est de fournir au LLM la possibilité d'explorer plusieurs branches de raisonnement tout en s'auto-évaluant au fur et à mesure de sa progression. Selon les articles référencés, cette approche semble être très efficace pour certains problèmes.
Les articles existants discutant du cadre de l'arbre de pensée semblent être fondés sur plusieurs appels vers un LLM, généralement via Python. L'un des principaux avantages du raisonnement de la chaîne de réflexion est qu'il peut être réalisé avec Chatgpt dans une seule invite de phrase.
Cela m'a amené à réfléchir: pourrions-nous améliorer les résultats du COT en utilisant une invite de style Tot?
Voici l'invite que j'ai utilisée:
Imagine three different experts are answering this question.
All experts will write down 1 step of their thinking,
then share it with the group.
Then all experts will go on to the next step, etc.
If any expert realises they're wrong at any point then they leave.
The question is...
Et voici la réponse de ChatGTP 3.5:
Expert 1: The ball is in the living room.
Expert 2: The ball is in the kitchen.
Expert 3: The ball is in the bedroom.
Expert 1: Bob carries the cup to the bedroom, so the ball must be in the cup.
Expert 2: Oh, I see my mistake. Yes, the ball is in the cup.
Expert 3: Agreed, the ball is in the cup in the bedroom.
Expert 1: Next, Bob turns the cup upside down in the bedroom.
Expert 2: After that, Bob walks to the garden and puts the cup down.
Expert 3: Therefore, the ball must have fallen out of the cup when Bob turned it upside down in the bedroom. So, the ball is in the bedroom, not in the cup anymore.
Expert 1: Oh, you're right. I made a mistake. The ball is in the bedroom, not in the cup.
Expert 2: Agreed, the ball is in the bedroom.
Expert 3: Bob then walks to the garage, so the ball remains in the bedroom. It is not in the garden or the garage.
Expert 1: Absolutely, the ball is still in the bedroom.
Expert 2: Yes, the ball hasn't moved from the bedroom.
Expert 3: Therefore, the ball is in the bedroom, not in the garden or the garage.
All three experts agree that the ball is in the bedroom.
Vous pouvez voir comment cette fois Chatgpt 3.5 obtient la réponse correcte!
Il y a de la place pour affiner l'invite pour améliorer les performances, ce qui conduit potentiellement à des réponses plus concises.
Si vous trouverez du succès avec toute autre invite, nous vous invitons à soumettre un PR et à les ajouter à tree-of-thought-prompts.txt .
Le cadre de l'arbre de pensée ressemble à un processus de prise de décision organisationnel impliquant plusieurs parties prenantes. La structure essaie d'imiter le consensus et la diversité de la pensée.
L'effet peut être prolongé en utilisant plusieurs agents qui sont ajustés pour gérer différentes parties d'une tâche. Autogpt est un bon exemple de cela, où il s'auto-évalue LLM contre un objectif. L'utilisation de LLMS à réglage différemment pour une spécialisation ou même des LLM complètement différentes permettrait une plus grande diversité de pensée. Ces LLM pourraient interagir dans différents modes (en utilisant la terminologie des topologies d'équipe):
Les équipes très performantes surpassent souvent les individus dans la prise de décision. Par conséquent, il est plausible que l'adoption d'autres structures et caractéristiques organisationnelles puisse améliorer les performances des LLM. En plus de la diversité de la pensée, de la spécialisation et du consensus, nous pouvons être en mesure d'imiter:
Veuillez citer ce référentiel si vous utilisez le code.
@misc{tree-of-thought-prompting,
title = {Using Tree-of-Thought Prompting to boost ChatGPT's reasoning},
author = {Dave Hulbert},
year = 2023,
month = may,
journal = {GitHub repository},
publisher = {Zenodo},
doi = {10.5281/ZENODO.10323452},
url = {https://doi.org/10.5281/zenodo.10323452},
howpublished = {url{https://github.com/dave1010/tree-of-thought-prompting}}
}