如何测试大模型的思考能力?

2024-11-19 阅读 122
更新于 2024年11月21日
我觉得不用测试,目前的大模型其实没有思考能力,OpenAI的o1也只是推理能力更强而已。
如果加大答案的随机性,会显得有那么一点点思考能力。
理由目前的大模型不管是注意力机制还是自注意力机制,本质上是基于已知内容和对话内容的相关性计算答案的,这种设计导致大模型不可能实现拟人思考。
个人观点:这里我理解的思考是指针对问题,在没有解决方法的前提下思考出一种可能的应对方案。而这种思考恰恰是从与当前问题无关的领域中汲取灵感的,这对于大模型来说就是要做全局遍历,直接推翻了其核心算法。
目前的大模型与其说是AI,不如说是基于向量的数据检索和基于检索结果的向量解码的知识库。只要还是用目前定义的token方式来模拟神经元,那么这一带的AI迭代差不多快到头了。
当然并不是说目前的大模型没有价值,我觉得这是一个必经之路。
总结同样只是个人观点:思考能力和知识储备无关,赋予AI思考能力在于能不能弄明白思考的过程并表达给开发者。
例子1:在墙上钉钉子,钉不进去该怎么办?通义的回答已经很有代表性了,包括检查墙、检查钉子、打孔+涨管、胶粘、找人帮忙。其中只有胶粘能和思考勉强沾边。然后问它这些目前都办不到,怎么办?然后就开始一本正经的乱说了,包括胶带、双面胶、橡皮筋、绳子、粘钩、磁铁。而如果是我的话,回答钉子钉不进去怎么办时,我大概率会问:为什么要在墙上钉钉子?实际的生活场景描述:A在钉钉子,半天都没弄好,B问,你干什么呢?A说我想钉个钉子挂帽子,死活钉不上。B说,那你拿个粘钩呗。(当然,B也有可能没问你干什么呢,直接去借了电钻、买了螺丝涨管。粗心大意而又热心的人确实会这样。)其实大部分人应该有类似的经历,但是很多真正思考的过程往往由于太平常了,太本能了,所以根本没有意识到一个本该存在的过程。例子2:计划乘28路公交出行,等车的时候往往并不需要识别来的车是不是28路。尤其天黑的时候,首先是外型淘汰(比如28路是大车,而有的线路是小一些的车)和颜色淘汰,然后是判断是否2位数,再确认是否可能是2,同样再确认是否可能是8(删掉这一步,因为除非这个数字的所有灯都坏了,否则都可能是8,而其他数字不同,比如左上的竖线亮了必然不是1、2、3、7),然后确认是不是2,再确认是不是8。
在两个不直接相关的冷门概念之间,建立符合类比方法给出限制的逻辑关系。
如,基于左传和五经中石碏诛石厚的记载,论伦常与政治的纽带关系
我们可以用概率思维来评估一个人的思考能力,同样放到一个程序上,对一个问题的概率分析越准确那么可以认为这个AI具有更强大的分析能力,比如特征的聚合求解与多项式的分拆求解,或者我们换一种角度来测试一个AI的思考能力,我们可以使用抽象化概念和具象化概念来让AI进行类此的解释以及系列推理的解释,从图形推理的角度分析这两种模式之间的梯度变化量是否呈现特征聚合的现象来观察,也可以说我们测试的是一个大模型对于图形的哲学含义的理解与词汇概念的重构能力,另一种测试方法就是测试AI大模型的容错能力,可以以总结文章后从逻辑矩阵中生成文章并校对原文来判断两个矩阵的相似度,或者还可以测试AI的自我认知能力来判断AI思考问题的能力
广告知乎出品 另一种天才知乎自营¥33.00去购买​
大模型就是 Transformer 或者增强学习算法,它不是通用人工智能,它没有思考能力。
这个问题挺有意思的!测试大模型的思考能力,确实可以通过一些趣味性的方式来进行,比如你说的这个猜数游戏就是个不错的点子。那我来给你详细说说怎么操作吧。
咱们得设定一个游戏规则,比如说,我们心里想一个 1 到 100 之间的数字,然后让大模型来猜。大模型每次猜一个数,我们就告诉它这个数是大了还是小了,或者它猜对了。
那么,大模型怎么来猜这个数字呢?这就涉及到它的“思考”过程了。
初始化:大模型可能会从一个随机的数开始猜,比如 50。
反馈与调整:根据我们的反馈(大了或小了),大模型会调整它的猜测范围。比如,如果我们说“小了”,那大模型就知道它要往大了猜,下次可能会猜 75。
迭代猜测:这个过程会不断重复,大模型每次都会根据我们的反馈来调整它的猜测,直到猜对为止。
优化策略:聪明的大模型可能还会在这个过程中学习一些优化策略,比如采用二分查找法来更快地逼近正确答案。
通过这个猜数游戏,我们可以观察到大模型的几个重要能力:
理解能力:大模型能否准确理解我们的反馈(大了/小了/对了)。
推理能力:大模型能否根据反馈逻辑地调整它的猜测。
学习效率:大模型是否能在多次尝试中学习到更有效的猜测策略。
当然啦,这只是一个简单的测试方法。实际上,大模型的思考能力远比这复杂得多,它涉及到语言理解、逻辑推理、知识表示等多个方面。但通过这个小游戏,我们至少可以直观地感受到大模型在“思考”方面的一些基本表现。
怎么样,是不是觉得挺有意思的?你也可以试试用其他方式来测试大模型的思考能力,说不定会有更多有趣的发现哦!
可以通过让大模型解答复杂的逻辑谜题、进行数学证明、续写有深度的故事、总结长篇复杂的学术论文,或者对模糊、有歧义的问题提供清晰的解释等方式来测试它的思考能力。
测试大模型的思考能力可以通过以下几种方法:
• 自助法(Bootstrap Method):这是一种模型评估方法,通过从原始数据集中有放回地随机抽取样本来构建新数据集进行训练和测试。这种方法能够从有限的数据集中产生多个不同的训练集和测试集,从而更好地评估模型的性能。
• 思维链(Chain of Thought,CoT):这是一种将多步骤推理问题分解成多个中间步骤的方法,通过分配更多的计算量生成更多的token,再进行求解。CoT能解决的问题包括数学应用题、常识推理、符号推理等任务。通过在问题的结尾附加“Let’s think step by step”,大语言模型能够生成一个回答问题的思维链,从而提取更准确的答案。
• 自洽性(Self-consistency):这是对CoT的一个补充,它不是生成一个思路链,而是生成多个思路链,然后取多数答案作为最终答案。这种方法通过多数投票来提高思维链方法的性能。
• 思维树(Tree-of-Thoughts,ToT):与CoT不同,ToT以树的形式组织其解决问题的策略。每个节点都被称为“思维”,是一个连贯的语言序列,是通往最终答案的一步。
• 验证器(Verifiers):在生成器的基础上引入一个验证器,使用验证的方式对模型进行训练。验证的训练方式包含两个部分:首先通过微调过程对生成器进行训练;然后训练得到的生成器用于对问题生成多个高温表达式,这些表达式根据最终得到的结果是否和正确答案相匹配来进行标注,然后用这些表达式和标签去训练验证器。最终得到的验证器用于在测试时对生成器生成的表达式进行打分,分数最高的表达式被用于计算最终答案。
• 累积推理(Cumulative Reasoning):将大模型的整体思维过程建模为有向无环图。将所有历史上正确的推理结果存储于内存中,以便在当前搜索分支中探索。
• Z-Bench测试集:这是一个为非技术人员定性测试大模型对话式产品准备的测试集,从基础能力、进阶能力、垂直能力3个角度出发,共提供了300个Prompts,覆盖更多类型的NLP任务。
• k0-math模型:月之暗面推出的最新数学推理模型,主打深入思考能力。在MATH、中考、高考、考研等数学基准测试中,k0-math的成绩超过OpenAI的o1系列模型。模型基于不断探索和试错解决数学问题,即使在简单问题上也会进行反复思考和验证,展现深入分析和推理的能力。
通过这些方法,可以全面评估和测试大模型的思考能力。
来自豆包
1.逻辑推理测试
-演绎推理:
- 可以给大模型提供一些前提条件,然后让它推导出结论。例如,给出“所有的哺乳动物都有毛发,鲸鱼是哺乳动物”,然后询问“鲸鱼有毛发吗?”一个具有良好思考能力的模型应该能够正确地推导出“鲸鱼有毛发(尽管很稀少)”。
- 还可以用数学逻辑来测试,如“如果a大于b,b大于c,那么a和c的大小关系是什么?”这种测试可以考查模型是否能够遵循基本的逻辑规则进行推理。
-归纳推理:
- 提供一系列的具体事例,看模型是否能够归纳出一般性的规律。例如,给出“1是奇数,3是奇数,5是奇数,7是奇数”,然后问“根据这些例子,你能归纳出奇数的一个特点吗?”观察模型是否能归纳出“不能被2整除的整数是奇数”这样的规律。
- 对于自然语言处理中的文本归纳,给它多篇同一主题(如科技新闻)的文章,看它是否能归纳出这个主题领域的主要趋势或特点,比如科技产品的新功能、行业的发展方向等。
-类比推理:
- 给出一个类比关系,如“鸟之于天空,就像鱼之于()”,让模型填写空白处(答案是“海洋”)。这可以测试模型是否能够理解不同事物之间的相似关系。
- 在更复杂的场景下,比如“手机的操作系统之于手机,就像()之于汽车”,看模型是否能够识别出“汽车的电子控制系统”这样的类比关系,这需要模型对不同事物的功能和结构有一定的理解。
2.复杂问题解决测试
-规划任务:
- 给模型一个目标和一系列限制条件,看它能否规划出合理的行动步骤。例如,“你需要在一个陌生城市中从火车站到达机场,你没有交通工具,手上只有一张地图,且需要在两个小时内到达,你会怎么做?”模型应该能够考虑查看地图找到路线、选择步行或乘坐公共交通工具等方式,并根据时间限制进行合理规划。
- 对于更具挑战性的规划任务,如“设计一个小型花园,要求有花卉区、休闲区和蔬菜种植区,并且要考虑光照和排水条件”,观察模型是否能够综合考虑各种因素,制定出合理的花园布局和种植计划。
-组合优化问题:
- 例如,给出一个旅行商问题(TSP)的简化版本:“有五个城市A、B、C、D、E,城市之间的距离已知,要求找到一条最短的路线,使得能够遍历所有城市且每个城市只经过一次”。这需要模型能够权衡不同路线组合的距离,找出最优解或者接近最优解。
- 在资源分配问题上,如“有一定数量的资金、人力和物资,要分配到三个不同的项目中,以达到最大的效益,每个项目的效益函数与投入的资源有关,如何分配?”测试模型是否能够考虑不同的分配策略,计算出最优的资源分配方案。
3.情景理解和角色扮演测试
-情景理解:
- 提供一个复杂的情景描述,然后提出问题。比如,“在一个办公室里,员工A和员工B正在讨论一个项目,员工A提出了一个新的想法,但员工B认为这个想法存在风险。此时,经理走进来,询问讨论的情况。你认为他们应该怎么向经理汇报?”观察模型是否能够理解办公室的沟通情景、不同角色的立场,从而给出合理的汇报方式。
- 对于虚构的故事场景,如“在一个魔法世界里,主角得到了一把神秘的钥匙,但不知道它能打开什么。他遇到了一个智者,智者告诉他这把钥匙可能与一个古老的宝藏有关。此时,主角应该怎么做?”测试模型是否能够理解故事背景和角色的动机,给出符合逻辑的情节推进建议。
-角色扮演:
- 让模型扮演不同的角色进行对话。例如,设定一个客户和客服的角色扮演场景,“你是客服代表,客户打来电话抱怨购买的产品出现了质量问题,你会如何与客户沟通?”观察模型是否能够站在客服的角度,运用合理的沟通技巧来解决客户的问题。
- 在谈判场景中,如“你是一个公司的采购代表,要和供应商就原材料价格进行谈判,你的目标是降低价格,同时保持良好的合作关系,你会怎么谈判?”测试模型是否能够运用谈判策略,考虑双方的利益,进行有效的角色扮演。
4.知识迁移和创新思维测试
-知识迁移:
- 先让模型学习某一领域的知识,然后看它是否能够将这些知识应用到相关的其他领域。例如,先让模型学习物理中的力学原理,然后问它“如何利用这些力学原理来设计一个更安全的儿童游乐设施?”观察模型是否能够将力学知识(如力的平衡、惯性等)迁移到游乐设施的设计场景中。
- 在语言学习方面,给模型学习一些外语的语法规则和词汇,然后让它翻译一些具有文化背景的句子,看它是否能够将语言知识和文化知识结合起来进行翻译,例如将含有成语或俗语的中文句子翻译成外语。
-创新思维:
- 提出一些开放性的问题,鼓励模型提出新颖的想法。例如,“如何改善城市交通拥堵问题,你有什么创新性的解决方案?”看模型是否能够提出一些超越常规的想法,如“建立地下或空中的自动交通轨道系统”“实行分时分区交通管制”等。
- 对于产品设计类问题,如“设计一个未来的智能家居产品,你会考虑哪些功能和特点?”观察模型是否能够结合科技发展趋势和用户需求,提出有创意的产品设计概念,如“具有情绪感知功能的家居照明系统,可以根据用户的情绪自动调整灯光颜色和亮度”。
测试人工智能大模型的“思考”能力实际上是测试它的处理、理解和生成信息的能力。下面是一些可能的测试方式:
提问:提出一些涵盖不同领域和复杂程度的问题,看看模型能否提供准确、深入和详细的回答。情景模拟:创建一个虚构的情景,让模型生成相关的预测,判断或建议。这可以测试模型的创造性和问题解决能力。理解检查:通过复杂的句子、段落或陈述,检查模型是否可以准确地理解语义和上下文含义。逻辑推理:给模型一系列的事实或信息,看看它能否通过逻辑推理制定出正确的结论。生成任务:要求模型生成某一类型的内容,例如小说的一段,一首诗,一篇报告等,从而测试它的生成能力。请注意,尽管这些测试可以评估模型的某些能力,但AI模型并没有实际的“思考”能力。它们只能根据预先设定的算法和提供给它们的数据做出响应,而不能像人类那样进行主观思考或理解。
测试大模型的思考能力是评估其智能水平和实用性的关键环节。以下是一些有效的方法和评估维度:
## 评估方法
1. **逻辑推理能力**:
- 提出需要进行逻辑分析的问题,如概率推理和逻辑推理题,观察模型的回答是否准确。例如,问题可以是:“所有的动物都会呼吸。狗是一种动物。那么狗会呼吸吗?”[1]