介绍
当我开始学习人工智能时,最令人着迷的想法之一就是机器像人类一样思考。但是,当我仔细研究人工智能和机器学习方法的实际作用时,我惊讶地发现,课程和书籍中关于人类思维方式(即人类认知)和机器思维方式之间存在巨大差距。对我来说,这些差距的例子有:感知器的工作原理(通常被称为“受其生物垂饰的启发”)和真实神经元的工作原理。或者模糊逻辑如何尝试模拟人类的信息和推理概念以及人类推理实际上似乎如何工作。或者人类如何通过观察点云并在板上围绕点云绘制圆圈来聚类点云,以及 DBSCAN 和 k-means 等算法如何执行此任务。
但现在,ChatGPT、Claude 和 LLaMA 等法学硕士已成为人们关注的焦点。这些硕士课程基于数十亿甚至数万亿个人工神经元和机制,它们在认知中也发挥着重要作用:注意力(显然,注意力就是你所需要的一切)。我们已经走了很长一段路,与此同时,人们也获得了诺贝尔奖来表彰该领域的早期巨人。法学硕士在总结文章、生成代码,甚至回答复杂问题和发挥创造力方面都非常成功。毫无疑问,关键点是正确的提示。你越清楚地说明你想要从模型中得到什么,结果就越好。提示工程已经成为一个不断发展的领域,它甚至已经成为人类的一项专门工作(尽管我个人对这个角色的长期未来表示怀疑)。人们提出了许多提示策略:著名的有思路链(CoT)[2] 或思路树(ToT)[3],它们主要通过提供成功解决问题示例的 LLM 步骤来逐步指导语言模型推理。但这些步骤通常是具体的示例,需要明确设计解决方案链。
其他方法则尝试优化提示,例如使用 PromptBreeder 之类的进化算法 (EA)。我个人认为 EA 始终是个好主意。最近,苹果的一个研究团队表明,LLM 很容易因不同的提示而分心,无法解决问题 [4]。由于有很多好帖子,包括关于 CoT 和提示设计的 TDS(例如最近这里),我觉得没有必要在这里更详细地重述它们。
什么是认知提示?
仍然缺少一些东西,因为认知科学显然存在差距。这一切都让我思考:我们能否帮助这些模型更像人类一样“思考”,以及如何做?如果它们能够由认知科学所称的认知操作来指导会怎么样?例如,通过逐步分解来解决问题,过滤掉不必要的信息,并识别现有信息中存在的模式。听起来有点像我们在解决难题时所做的事情。
这就是认知提示的作用所在。想象一下,人工智能不仅可以回答你的问题,还可以通过结构化步骤的“思考”来指导自己(以及当你阅读其输出时指导你)完成复杂的问题解决过程。
想象一下,你正在解决一个数学应用题。你做的第一件事可能是明确你的目标:我到底需要弄清楚什么,我们期望的结果是什么?然后,你将问题分解成更小的步骤,一个有希望的方法是识别相关信息,也许还可以注意到有助于引导你的想法更接近所需解决方案的模式。在这个例子中,让我们将这些步骤称为目标明确、分解、过滤和模式识别。它们都是我们本能地执行的认知操作(COP) 的例子(或者在最好的情况下,老师教我们遵循这些操作)。
但这究竟是如何实现的呢?
这个过程是这样的。我们定义一个 COP 序列,并要求 LLM 遵循该序列。图 1 显示了提示的示例。事实证明重要的 COP 示例包括:
- 目标明确:模型首先需要以清晰的方式重述问题——它到底要解决什么问题,期望的结果是什么?
- 分解:接下来,将问题分解成可管理的部分。模型不应被所有可用信息淹没,而应专注于解决较小的部分 — 一次解决一个。
- 过滤:要求模型过滤掉不必要的细节,使其专注于真正重要的事情。这通常是必要的,以便让模型将注意力放在真正重要的信息上。
- 模式识别:识别模式以有效解决问题。例如,如果问题涉及重复步骤,则要求模型识别模式并应用它。
- 整合:最后,综合前面步骤的所有见解,特别是基于最后的 COP,并将它们整合到最终答案的解决方案中是有意义的。
这些结构化步骤模仿了人类解决问题的方式——逻辑性强,循序渐进。还有许多进一步的认知操作,以及选择哪个、按什么顺序以及如何为提示指定它们。这当然还有进一步改进的空间。
我们已经以以下方式扩展了该方法。我们不再遵循静态和确定性的 COP 顺序,而是让模型根据提供的列表自由选择自己的 COP 序列——这称为反思和自适应认知提示。事实证明,这种方法非常有效。在下一段中,我们将在基准问题集上比较这两种变体。
事实证明,将 COP 描述调整到特定问题领域也能提高性能。图 1(右)显示了通用 COP 的数学特定调整示例。它们“展开”为诸如“明确定义每个变量”或“逐步求解方程式”之类的提示。
在实践中,建议模型以 JSON 字符串的形式给出最终答案是有意义的。一些 LLM 不提供解决方案,而是提供解决问题的 Python 代码。在我们的实验分析中,我们很公平,当 Python 代码返回正确结果时,我们会将答案视为正确运行代码。
例子
让我们举一个简单的例子,要求 LLaMA3.1 70B 解决 GSM8K [5] 中的一道 8.5k 算术题。图 2 显示了该请求。
图 3 显示了模型得出正确答案的输出。结果表明,模型系统地遵循了 COP 的顺序 — 甚至为人类提供了很好的解决问题的解释。
从科学角度看,认知提示的效果如何?
现在,让我们通过在一个典型的基准上测试认知提示来变得更加系统化。我们在 GSM8K [5] 数据集中的一组数学问题上对其进行了测试——基本上是你在小学里会遇到的一组数学问题。同样,我们使用 Meta 的 LLaMA 模型来查看认知提示是否可以提高他们的解决问题的能力,应用了具有 80 亿个参数的 LLaMA 和具有 700 亿个参数的更大版本。
图 4 显示了一些结果。较小的模型在确定性认知提示下略有改善。也许它不够大,无法处理结构化思维的复杂性。当它选择自己的 COP 序列时,性能上的胜利是显著的。
在没有认知提示的情况下,大型模型在数学问题上的得分约为 87%。当我们添加确定性认知提示(模型遵循固定的认知步骤序列)时,其得分跃升至 89%。但是,当我们允许模型适应并动态选择认知操作(自适应提示)时,得分飙升至 91%。对于一台机器来说,在不添加额外示例的情况下,仅获得一般性建议就能像人类一样推理,这还不错,对吧?
这为什么重要?
认知提示是一种将这些类似人类的认知操作组织成结构化过程并利用它们帮助 LLM 解决复杂问题的方法。本质上,它就像为模型提供了一个结构化的“思维策略”以供遵循。虽然早期的方法(如 CoT)很有帮助,但认知提示通过整合各种认知操作提供了更深层次的推理。
这不仅对数学问题有令人兴奋的影响!想想决策、逻辑推理甚至创造力等领域——这些任务需要的不仅仅是复述事实或预测句子中的下一个单词。通过教导人工智能更像我们一样思考,我们打开了能够以更接近人类认知的方式推理问题的模型之门。
我们接下来要去哪里?
结果令人鼓舞,但这仅仅是个开始。认知提示肯定可以适用于其他领域,但它也可以与人工智能的其他想法相结合。随着我们探索更高级的认知提示版本,下一个重大挑战将是弄清楚如何在不同类型的问题中对其进行优化。谁知道呢?也许有一天,我们将拥有能够解决从数学问题到道德困境等任何问题的人工智能,同时还能像我们一样逻辑和创造性地思考。祝您自己尝试认知提示的乐趣!
原创文章,作者:王 浩然,如若转载,请注明出处:https://www.dian8dian.com/wo-men-neng-jiao-ji-qi-xiang-ren-lei-yi-yang-si-kao-ma