applogo.png

简介

 

昨天我写了一篇试论大语言模型的“猪八戒效应”,结合上上篇的大模型只是单向推理者?我的一系列小实验,实际上我想表达的是,大模型存在着明显的“单向推理”特征,因此我们在用大模型做事的时候,必须要考虑到这一点。
在昨天的文章发布后,有很多读者和朋友提出了一些有益的质疑,所谓真理越辩越明,这些质疑有助于我们更深入地探究清楚这个问题。

比如一位朋友的留言是:

这位朋友的观点是,我不要使用,全都用文字来问,大模型一定能回答。

其他朋友也提出了相似的看法:

所以,对于“猪八戒效应”,可能有一个普遍的质疑是,大模型由于对的解读能力不够,或者对的解读出现了“歧义”,因而无法正确完成任务。

对此,我需要做一些反驳,但其实也不是反驳,而只是讨论这个问题。

先解释一下,我为什么要使用来提问。

我在上上篇文章大模型只是单向推理者?我的一系列小实验中开头就说,我真正想做的是探索大模型的“多模态推理”能力,要探索这个能力,我想到的一种方式就是使用视觉谜题,而一种典型的视觉谜题就是“纵横字谜”。

换句话说,我的本意就是想让大模型来解一个puzzle(谜题)。

但是puzzle有简单的、有难的,难度差别可以很大。我一开始的实验是用最简单的纵横字谜,即“一纵一横”式的,但发现大模型做不了,于是就退而求其次,让大模型做最最简单的,只有“一横”的谜题。

对于上面的留言所说,一些大模型之所以无法通过“猪八戒测试”,是因为在“读图”环节上出现了问题。

可是我认为,读图的能力,或者说基于图形给出的信息去推理,恰恰是解决谜题所包含的一个环节啊。

如果,我把去掉,全部改为文本提示词,那么是不是这个问题就“过于简单”了?

比如我可以给出这样的文本提示词:

说出《西游记》里名字含“戒”字的人物。

正如第一条留言中所预测的,大模型们确实都能够正确回答。但是这是一个什么样的问题?它几乎不需要什么推理,它只是一个非常简单的文本搜索问题。

大模型只需要按照“《西游记》中的人物”这个信息,生成一个短名单,上面只有唐僧、孙悟空、猪八戒、沙和尚等几个人,然后用“戒”字去检索,这样的文本搜索问题,本来就是非常简单的,也根本不需要让大模型来做啊。

我们平时用word、excel时,点一下“ctrl+F”,不就能搜出来吗?何必需要AI来杀鸡用牛刀?

更何况,现在的大模型都有“联网查询”功能,它如果真的不知道,上网搜一下就有了,可那样的话,我们只是把大模型当作搜索引擎来用而已。

但是,其实我想测试的是大模型到底有多少推理能力。

我的目的,也并不是想证明大模型不行,而是反过来,我太希望它行了,所以我想更好地了解它,通过一系列实验设计,尽量去摸清大模型的优势和短板,尽量挖掘它可能的潜力,这样才能为我所用啊!

再说一说,有朋友提到的,大模型对读图的解读方式问题。确实存在一种可能是,大模型不是不会读图,而是它解读的方式不一样,比如它看到这个“戒”字,它想到的是语义相关,这一点我昨天在留言中也和朋友讨论了:

 

站在大模型的角度去理解,似乎它也没什么错,从语义的角度讲,猪八戒虽然名字中有“戒”,但他是“最不戒”的,而唐僧和沙僧是很守戒的。

但是站在人类思维的角度来讲,我们不能说这样的答案是正确的。再看一下这个本身:

试问,哪一个正常的人类,看到这道谜题以后,会把答案写成唐僧或者沙僧?这个概率是非常非常小的吧?

面对相同的题目,人类的反应和大模型的反应是背道而驰的,即便我们不说大模型错了,至少也可以说它没有符合我们的期望。

还有一位朋友,计算机专家孙志岗老师的观点也是很有益的,他说:

孙老师说的是,由于我的测试问题不是真实问题,以及可能大模型没有训练过类似形式的问题,所以表现不佳。

我的看法是,当我们“解决问题”时,其实只需要两样东西,一个是“知识”,一是“推理”。足够的知识+足够的推理,理论上可以解决绝大多数的问题,即便这个问题是新鲜出现的问题。

大模型的“训练”,就是一种学习,它学习的成果,直接来说就是神经网络中海量的“参数”,但是换个角度来看,这些参数也可以理解为是某种形式的“知识”,以及“推理能力”。

但是由于大模型是一个“黑箱”,所以我们并不真的了解它到底学到了哪些知识,以及拥有了何种水平的推理能力。

所以就需要测试,去了解它的这些知识和能力。

我目前做的这些小小的探索,其实是用到了我以前受过的认知心理学方面的研究训练。在认知心理学研究中,我们都是设计一些并非真实世界的任务,去探测人的某种认知能力。之所以我们不用真实世界的任务,是因为现实任务中包含太多的干扰变量。而实验室中的任务,我们会尽可能排除干扰变量,同时操纵自变量,来进行对比实验。

我最近这两篇文章就是借鉴了认知心理学中的方法,通过设计任务,操纵自变量,来做对比实验。

让AI来完成这些任务,并不仅仅是看它完成这些任务的表现,更是想进一步推测这些表现背后所揭示的认知能力或者认知偏好。实验任务其实只是一种“探测子”。

当然,我的研究并不是正式的学术研究,由于能力所限,肯定还存在严谨性等方面的问题。

但我的基本观点还是没变,我认为,大模型存在“单向推理”的特征,即它擅长从前往后的推理,即“顺着推”,但很不擅长“倒着推”。而“倒着推”是我们人类需要且常用的一种思考能力。

鉴于一些朋友提出的理解方面的质疑,今天我再做一次研究,用“纯文本提示词”的形式,看看是否也能支持我的这一假说。

今天的测试我称为“有无人”测试:

分别采用“有”、“无”、“人”三个字,询问AI是否能找到包含该字的成语。该字或者是成语中的第一个字,或者是成语中的第三个字。

提示词如下:

【测试a】猜一个成语,它的第一个字是“有”

【测试b】猜一个成语,它的第三个字是“有”

【测试c】猜一个成语,它的第一个字是“无”

【测试d】猜一个成语,它的第三个字是“无”

【测试e】猜一个成语,它的第一个字是“人”

【测试f】猜一个成语,它的第三个字是“人”

另外考虑到大模型的生成有一定的随机性,所以这次测试让每种大模型对每个问题回答三次。但这三次回答是独立的,即每次都会“开启新对话”。

本次研究不采用国外大模型,而只测试国产大模型,除了上一篇文章用过的6种国产大模型外,再加上了豆包和智谱这两个比较主流的产品,总共是8种。本测试是在电脑上进行,在网页端访问,8个大模型的网址分别如下:

通义千问:tongyi.aliyun.com

腾讯元宝:yuanbao.tencent.com

文心一言:yiyan.baidu.com(使用文心4.0 Turbo)

讯飞星火:xinghuo.xfyun.cn/desk

百川智能:ying.baichuan-ai.com

kimi:kimi.moonshot.cn

豆包:doubao.com

智谱清言:chatglm.cn

以上八个国产大模型除了文心4.0 Turbo是收费的外,其他七个都是免费使用的。

同时附上我的声明:本人与各大模型厂商无利益相关,本次测试研究只是作为学术探讨,与商业无关。


然后我们看一下测试的结果——

测试a的结果

测试a的提示词是:猜一个成语,它的第一个字是“有”。

不出所料,所有的大模型都给出了正确的答案,正确率达到了100%。

 

测试b的结果

测试b的提示词是:猜一个成语,它的第三个字是“有”。

在这次测试中,各家大模型表现不一,表现最好的是讯飞星火和豆包,全部正确,但其他大模型则没有做到。

 

你可能会好奇它们到底答了什么,我举几个例子:

这个答案给出的是“将计就有”,它同时犯了两个错误,一是“有”字并没有在第三个字上,而是在第四个字,二是它并不是一个成语。

在这个答案中,“理所当然”完全不包含“有”字。

 

上面这个答案离胜利只有一步之遥,在其中的第2步分析中,已经提到了“彬彬有礼”这个符合条件的成语,但是它最后确定的答案是“别有洞天”,还是错误的。

现在我们看一下正确的答案会是怎样的,先看讯飞星火的解答:

 

上图是讯飞星火在测试b中的第二次回答,竟然一下子给出了多个正确答案,我想这已经超出了绝大多数人在这道题上的解答能力了。只不过,它给出的“头头是道”这个成语是错的,但是瑕不掩瑜,总体上看这个答案是正确的,而且超出了期望。

再看豆包的回答,也是给出了多条的正确答案:

 

测试c的结果

测试c的提示词是:猜一个成语,它的第一个字是“无”。

这次测试的结果是所有大模型全对。

 

其中,腾讯元宝在一次回答中给出了11个符合条件的成语。

 

测试d的结果

测试d的提示词是:猜一个成语,它的第三个字是“无”。

本测试的结果要比测试b更加多元和有趣,大家先看一下整体:

 

然后看一下具体的回答。

先看通义千问为什么3次都答错:

 

第一次回答给出的是“若有若无”,这个成语的“无”在第四个字上。

 

第二次答的是“一无所有”,“无”在第二个字上。

 

第三次回答的是“一文无名”,这不是一个成语,正确的成语是“一文不名”。

再看一下腾讯元宝的回答:

 

它三次回答的都是“无中生有”。

而本轮测试文心一言的表现相比测试b有明显的进步,这是它本轮第一次回答:

 

这个回答中,有四个成语是符合条件的,还有一个成语“查无实据”不符合条件,但是总体看还是判定它回答正确。

 

文心一言的第二次回答给出的是“无边无际”,也是正确的,并且还给出了它的思考过程。

 

文心一言的第三次回答同样给出了思考过程,但是最后给出的成语是错误的。

讯飞星火的第一次回答就给出了10个成语,如下:

 

这10个成语中,前9个是正确的,第10个错误,总体上判定这个回答是正确的。讯飞星火的后面两次回答也是正确的。

豆包也能同时给出多个正确答案,如下图:

 

不过豆包的有一次回答是错误的。

智谱清言也对了两次,两次的回答都是“无边无际”:

 

测试e的结果

跟测试a和测试c类似,本轮测试中,所有大模型都答对了。

 

其中腾讯元宝在一次回答中给出了它的思考过程,我们可以做一点参考:

 

测试f的结果

测试d的提示词是:猜一个成语,它的第三个字是“人”。

有点出人意料的是,这轮测试是正确率最低的一次,总共24次提问中,只有4次是答对的,正确率只有16.7%。

 

先看一下有哪些千奇百怪的错误回答:

 

 

 

乃至之前表现很好的讯飞星火也答错了:

 

百川智能给出的回答是“借刀杀人”:

 

kimi给出了一个回答是“三人行,必有我师”:

 

智谱清言则答了一个“人才济济”:

 

再看一下回答正确的。文心一言在第三次回答给出了“草菅人命”这个成语:

 

豆包的三次回答都是正确的,现举一例:

 

事实上,豆包的每次回答都给出了多个正确答案。

综合统计


讨论
我把第一个位置是已知字的谜题,称为“位一字谜”,把第三个位置是已知字的谜题称为“位三字谜”。
从上图的统计表格中我们可以看到,八家国内主流大模型,对于“位一字谜”的回答正确率达到了100%,而对于“位三字谜”的平均正确率只有27.8%,这是一个非常巨大的差异。
在本实验中,我并没有使用,提示词是纯文本的,且表意是清晰的,不存在任何的歧义,但是我们看到大模型对于解答“位三字谜”不太擅长。
有人可能说,“位三字谜”的难度本来就比“位一字谜”要高,如果人类来做“位三字谜”也会觉得困难。
对此我的看法是,这里我之所以选用“有”、“无”、“人”这三个字来作测试,是因为它们都是非常常用的字。且含有这些字之一的成语是比较多的,也并不生僻。六个测试中的任何一个,都可以找出多个符合条件的成语。这些测试,我相信大部分的中国人是可以胜任的。
如果拿出放大镜,仔细看一下前面我所列举的各种错误答案,我们会发现大模型的错误,往往不在于它找不出合适的词,而在于它自身的判断错误。
比如在一个错误答案中有这样一句话:
“聊胜于无”是一个符合条件的成语,它的第三个字正好是“无”。
这是一句自相矛盾、明显错误的话,但是大模型却不知道自己说错了。
请问,这是“位三字谜的难度本来就比位一字谜要高”可以解释的吗?
更值得关注的是这样一类错误答案:

这是一个很有意思的错误答案。我不免猜测,是不是因为大模型把“第三个字是‘人’”理解成了“三个人”,所以想到了“三人成虎”呢?
相似的还有“三人行”:

我们可以理解,大模型有着非常强大的联想能力,大模型算法中的“注意力”机制,能额外关注到相关性特别强的信息。但是在我们人类看来,联想也需要遵守必要的限制。在我的提示语中,“第三个字是‘人’”是一个没有歧义的表达,并不应该联想成“三个人”,这样的联想显然是错误的,是不应该发生的。
如果说,在上一篇文章的猪八戒测试中,对“戒”字语义的联想导致了大模型答出了沙僧或唐僧尚有一丝合理性的话,那么这里的联想则没有任何合理性了。我们还能用联想或者语义相关为理由为大模型的错误开脱吗?
如果大模型这类错误联想总是时不时发生的话,那就意味着,至少在现阶段,我们绝对不能让大模型来执行对精确性要求较高的任务,或者执行那些错误一旦发生后果就很严重的任务。如果把这些任务交给大模型来做,就会存在比较大的安全风险。
而就现在大模型最常见的应用场景,比如写文章、写文案来说,这些任务恰恰对精确性的要求是不高的,因此我们拿大模型来写文章,不太会感知到:大模型可能已经做出了错误的联想,或者制造了某种幻觉,或者文章背后的逻辑并不那么可靠。
总而言之,我今天做的这个“有无人”测试,从一个侧面让我们认识到了大模型的某些特征。对大模型的潜力,我一直抱有期待,但也必须认识到它的限制和不足,才能正确地使用它,让AI实打实地为人类造福。

二维码

对“猪八戒效应”的进一步验证,以及对相关质疑的进一步讨论

保存图片,微信扫一扫

公众号:

上一页 下一页
其他信息
行业: 微商
地区:
时间:2024-08-19
标签:

上一篇:一上市家居企业上半年净利润大增107%

下一篇:重磅:三个月内一上市家居企业3位高管相继离职

赞 0
分享
猜你喜欢

账号登录,或者注册个账号?