什么是 ToT (思维树)?
2022年,一个叫 Jason Wei 的中国科学家,在一篇文章里首次提出了一个新观点:他认为,通过一种叫做 CoT(思维链) 的方法,可以让大型语言模型(LLM)在思考问题时,变得更加聪明和有逻辑。
但是即便有了 CoT(思维链),LLM 有时候还是会犯错。
去年,来自普林斯顿大学和 Google DeepMind 研究人员提出了一种全新的语言模型推理框架 -- ToT(思维树)。
该框架针对 CoT(思维链) 进行了总结,引导大语言模型利用思维作为中间步骤来解决通用问题,从而解锁了更复杂的推理方式和更高质量的输出结果。
论文地址:https://arxiv.org/abs/2305.10601
ToT(思维树) 可以让大模型:
- 自行想出好几种不同的解决办法;
- 仔细比较这些办法,挑出最好的一个;
- 如果发现走错了路,能及时回头,重新选择正确的方向。
通过一句话来总结:让计算机在解决问题时,能够像人类一样,多角度思考,然后做出最合适的选择。
ToT(思维树) 是怎么做到的?
有小伙伴可能会问,它是怎么做到可以像人一样思考,还可以自行挑选最佳方案的呢?
ToT(思维树)的实现方式主要分为以下几步:
- 思维分解
- 思维生成器
- 状态评估器
- 搜索算法
我们来看下每一步是什么意思:
1、思维分解
思维的分解(Decomposing Thought)是 思维树 (ToT)方法中的关键部分,用于提高模型在解决问题时的效率和准确性。它是将一个复杂问题拆解为一系列更小、更易于管理的子问题或思维步骤的过程。
想象你要搭一个很大的乐高城堡,如果一下子搭整个,可能会手忙脚乱。所以,我们先把城堡分成几个小部分,比如塔楼、城墙等,一部分一部分地搭,最后再把它们拼起来。
在利用大模型解决问题时,也是这么做的,把一个大问题拆成几个小问题,一个一个解决。
2、思维生成器
思维生成器 是一个发散思维的机制,它能够在面对特定问题时,产生多种不同的、潜在的思考路径,从而拓宽解决问题的途径和策略。
这就像是给模型一个“点子库”,让它在面对问题时,能想出很多不同的解决办法。
比如,如果是个写作问题,它可能会生成很多不同的故事开头;如果是个数学题,它可能会列出几种不同的解题方法。
3、状态评估器
在解决问题的流程中,状态评估器 扮演着关键的决策辅助角色,它协助模型对各种可能的解决方案或思考步骤进行有效性分析和进展评估。
这个就像是模型的私人助手,帮助它判断哪些解决办法看起来更靠谱,哪些不太行。
这样,模型就可以把精力集中在那些最有希望的解决办法上。
4、搜索算法
搜索算法是一组系统化的方法,用于在问题的思维空间内进行有序的探索,目的是为了发现可能的解决策略。
在 ToT(思维树)中,这些算法协助模型识别出在众多生成的思维路径中,哪些值得深入挖掘,哪些则可以被排除。
这就像是模型的 专家顾问 ,帮助它在所有可能的解决办法中,找到最好的那一个。
比如,有的专家会先探索所有容易想到的解决办法(广度优先搜索),而另一些则会深入探索一个看起来特别有希望的解决办法(深度优先搜索)。
实践
总结
本文通过介绍 ToT(思维树)是什么?解释了具体的实现原理,最终通过咖啡店优化的故事来体现它的价值。
除此之外,还可以用到很多场景,比如写小说,让不同角色提供小说的框架思路,并进行投票选出最佳思路;比如问题分析,让不同角色提供分析的步骤,并选择最佳方案...