回复
大语言模型中自我发现的苏格拉底方法 原创
今天我们介绍来自普林斯顿NLP组的一篇很有意思的博客,作者提出了大语言模型中自我发现的苏格拉底方法。
一、核心内容
(一)多智能体协作解决问题(有人类参与)
- 智能体角色分配
- 文中提到在涉及基于大型语言模型的智能体和人类参与的多智能体协作解决问题领域十分引人关注。通过给大型语言模型赋予如“分析员”或“校对员”等不同角色,能够有效利用它们各自的优势,增强整体解决问题的能力。这种角色分配就像是在一个团队中,每个成员都有自己擅长的领域,通过协作能攻克更复杂的难题。
(二)苏格拉底方法的力量
- 现有方法的局限
- 在大型语言模型中,像思维链(CoT)/反应(ReAct)等方法虽然在激发分析和批判性思维能力方面取得了进展,但它们往往依赖于精心设计的固定形式的提示。这就好比是给模型设定了一个固定的思维框架,限制了模型解决问题的灵活性。
- 苏格拉底方法的探索
- 文章提出通过促进智能体之间的自由式探究来充分释放大型语言模型的潜力。这种方法类似于古希腊哲学家苏格拉底通过对话引导人们思考和发现真理的过程,在大型语言模型的语境下,有望让模型摆脱固定提示的束缚,更自由地挖掘自身的能力。
(三)对知识和推理“提示”的再思考
- 提示工程的扩展
- 作者将“提示工程”的概念进行了推广,不局限于依靠少量固定的提示格式来引导文本生成。而是主张让大型语言模型通过自身之间的自主、自由形式的对话,利用其固有的推理能力。这种方式就像是让模型自己学会思考和交流,从内部挖掘知识,而不是被动地等待外部的提示。
- SocraticAI的提出
- 基于上述见解,提出了SocraticAI这一利用大型语言模型促进自我发现和创造性解决问题的新方法。它为大型语言模型的应用开启了新的思路,就像打开了一扇通往更智能、更自主的人工智能应用的大门。
二、理论基础与相关研究
(一)柏拉图的认识论:一切学习都是回忆
- 苏格拉底与美诺的对话
- 在公元前402年的古雅典,苏格拉底和美塞尼亚的领袖美诺进行了关于美德起源的对话,苏格拉底提出了“一切学习都是回忆”的理论,即回忆理论。这个理论假设我们的灵魂中蕴含着前世的知识,学习只是挖掘这些潜在智慧的过程。
- 几何问题示例
- 例如苏格拉底让美诺的仆人男孩将2×2正方形面积翻倍的几何问题。男孩一开始没有数学知识,提出了错误的方法,但经过苏格拉底一系列简单问题的引导,最终找到了正确的解决方案——以原正方形对角线为新正方形的边。这个过程体现了通过正确提问引导他人“回忆”起知识的力量,也为大型语言模型的探索提供了一种启发式的思路。
(二)大型语言模型:提示的重要性
- 模型的训练与能力涌现
- 如今的大型语言模型如OpenAI的ChatGPT,是在大规模数据集上进行预训练,学习预测序列中的下一个单词,再通过少量指令和反馈进行微调。随着模型和数据集规模增大,会涌现出零样本或少样本泛化能力和推理能力等。这种预训练过程就像是模型的“前世”积累。
- 提示工程的必要性
- 然而,大型语言模型有时会“产生幻觉”,给出错误或无意义的回答,所以提示工程变得至关重要。目前有多种提示技术如思维链(CoT)、“描述、解释、计划和选择”(DEPS)、“推理 + 行动”(ReAct)和自我反思(Reflexon)等被开发出来增强模型解决问题的能力,但这些技术存在需要创建特定任务提示模板和局限于单一思路等问题。这就促使人们思考是否可以采用类似苏格拉底对话的方法,让多个大型语言模型相互交流来解决问题。
三、SocraticAI框架
(一)框架概述
- 智能体角色与工具
- SocraticAI框架基于ChatGPT 3.5等现代大型语言模型,采用三个独立的基于大型语言模型的智能体,分别扮演苏格拉底(分析员)、泰阿泰德(分析员)和柏拉图(校对员)的角色来协作解决问题。这些智能体可以访问WolframAlpha和Python代码解释器,就像是给它们配备了强大的工具来解决问题。
- 系统提示与对话规则
- 在每次对话开始时,智能体会收到元级系统提示,包括问题陈述、如何进行多轮对话、如何咨询用户、如何编写和执行Python脚本、如何咨询WolframAlpha以及如何呈现最终答案等规则。例如,智能体遇到不确定情况可以通过特定语句向用户咨询,编写Python脚本有特定的格式要求等。这些规则为智能体的协作提供了一个有序的框架。
(二)案例研究:二十四点游戏
- 传统方法的失败尝试
- 用思维链(CoT)方法让GPT - 4解决用2、3、4、5这四个数字各一次,通过基本算术运算得到24的二十四点游戏问题时,尽管多次尝试纠正和分析,GPT - 4还是未能找到解决方案。这显示了传统方法在某些问题上的局限性。
- SocraticAI框架的成功解决
- 而在SocraticAI框架下,三个基于GPT的智能体能够自主地为这个谜题制定问题解决策略。它们通过讨论,如先将问题形式化,然后由苏格拉底编写Python脚本生成数字和操作的组合,经过一系列步骤,包括柏拉图提出建议和纠正,最终找到了“2 * (3+(4 + 5))”这个正确的解决方案,并通过WolframAlpha验证了答案的正确性。整个过程展示了SocraticAI框架中智能体通过协作自主解决问题的能力。
四、更多演示
(一)估计果蝇大脑中的连接密度
- 问题解决过程
- 在演示中的第一个对话场景里,人类用户(Tony)询问SocraticAI果蝇大脑中的连接数量,并建议使用FlyWire的突触表来估计。虽然“连接密度”未明确定义,但智能体自动将其定义为单位体积脑组织中的突触数量。它们在计算突触总数时遇到了表格列缺失的错误,经过柏拉图的建议检查列名后成功计算出突触总数。然后在估计脑组织体积时,提出了不同的方法,如用外部形态或显微镜图像估计,还创造性地提出将果蝇头部建模为椭球体来估计体积,但由于本地机器缺少边界框数据而遇到错误。这个过程展示了智能体在面对复杂问题时的思考和尝试。
(二)计算素数索引行的总和
- 问题分析与解决
- 在第二个对话中,人类用户(Tony)要求计算Excel表中第i行的总和(i为第21个素数)。智能体首先讨论了问题的定义,澄清了是行总和且需要精确值。苏格拉底和泰阿泰德错误地认为第21个素数是71(实际是73),在尝试用Python代码解决读取Excel文件问题时遇到了多次错误,包括文件格式和数据类型转换等问题,但最终通过调试成功计算出总和。这个过程体现了智能体在解决实际问题时会遇到各种困难,但通过相互协作和调试能够找到解决方案。
五、未来与局限
(一)未来展望
- 多样化智能体协作
- 目前只进行了基于相同基础模型和专业知识的智能体实验,但未来可以想象有各种具有独特专业知识的人工智能智能体相互协作来解决多方面挑战,就像一个由不同专业人才组成的团队攻克复杂项目一样。这种基于回忆理论和苏格拉底方法的设想,有望让人工智能系统在广泛的讨论中互相提问和引导,形成一个“AI社会”,在这个社会中,AI能够有组织地进行生产活动,通过不同角色的分工解决问题,超越现有的单一模型提示方法。
- 知识与技能的融合
- 随着这些AI系统的交流和协作,它们能够整合集体的知识和技能,产生新的见解,优化流程,推动各个领域的进步。这将有可能彻底改变我们对人工智能的理解和应用,在科学发现过程中带来重大变革。
(二)局限与挑战
- 新的风险与复杂性
- 然而,让多个大型语言模型进行对话虽然可能提高解决问题的能力,但也会带来新的复杂性和风险,如潜在的偏见和错误信息的放大。在向更具协作性的AI环境过渡时,解决这些挑战,确保AI系统有效和负责任地合作至关重要。
- 方法的易错性
- 就像在第二个演示对话中智能体错误地认为71是第21个素数一样,这种方法有时还是容易因错误信念而产生错误。不过,作者相信通过更多研究,特别是使用更多专门设计来解决这些问题的角色和智能体,可以帮助解决这些问题。
在人工智能不断发展的今天,SocraticAI框架为大型语言模型的应用提供了新的方向和思考,虽然存在局限,但它所展现出的潜力值得我们进一步探索和研究。
本文转载自公众号AIGC最前线 作者:实习小毕
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
已于2024-10-21 15:09:09修改
赞
收藏
回复
相关推荐