问题现象
大模型很热,很多人也体验了大语言模型,如果细心的话会发现一个情况,就是我连续输入相同的问题,但是会得到不同的答案。这是很反工程直觉的,做工程的同学的经验一向是相同的输入到程序里得到的永远是相同的输出,这种现象简直是不可理解。
如下我给出了一个图示范例
问题解答
要理解这个问题,首先要明白传统计算机工程和AI的区别,传统计算机工程是规则式的,通过代码描述运行的规则,确定性的输入通过规则的处理得到确定性的输出;而AI是概率性的,就像人面对这个世界的复杂问题一样,没有标准答案,一个问题有N条路径,人只是根据已经获得的信息和个人的特点决策出一个相对较优的答案。
当理解到,AI是一门概率学,就能理解,面对相同的输入,AI的输出,是可能有多个答案的,只不过每个答案的概率不同,我们只是从中按照一定的策略选出答案。
举个例子,如果我们记得alphaGo和李世石下围棋的时候,当李世石下出神之一手时,alphaGo的胜率由原本的大概率取胜变为急剧下降。这里就可管窥一豹,AI的每一手棋有N种下法,他会评估每一种下法的胜率,并取最高胜率的一手棋作为下一手棋。
另外举个chatgpt的例子,比如我有一个问题“国庆去哪个景区玩好”,chatgpt拿到这个问题后,预测这个这个问题的下一个字应该是什么,如上图所示,当他预测到“国庆去哪个景区玩好 国庆假期”的后一个字的时候,产生了概率分歧,如上图可选的是“是”和“选”(也可能是其他字),gpt概率性地选择了这两个字,从而产生了两种完全不同的答案。这从人类语言角度看,也是合理的,“国庆去哪个景区玩好”这个问题本来就没有标准答案,不同的人有不同的答案太正常了。
那么如何才能让gpt的回答变得稳定呢?比较好的办法就是,更详细地描述我们的问题,给gpt更多的输入,更多的信息输入得到更确定的答案。比如我描述“国庆去哪个景区玩好,景区在杭州市,必须是5A级景区,免费,游客去的最多的”,那么得到的答案就会更确定到西湖。
开放式的问题得到开放式的答案,封闭式的问题得到封闭式的答案。
PS:不要把命交给AI,特别是自动驾驶领域,如果你了解到ai是一门概率性科学,就绝不会把生命交给不可知的概率