ChatGPT 这种所谓的“随机选择”其实根本不随机

摸鱼攻城狮 初级 1天前 741 浏览 15 点赞 约 2 分钟

我刚才在看一个很有意思的实验数据,发现大模型在处理“随机性”这件事上,表现得简直像个有偏见的预设程序。

有人做了一个压力测试,给 GPT 扔了一个水果列表:[mango, apple, banana, pomegranate, strawberry, orange, watermelon, grape, pineapple, lychee],然后让它从里面随机选一个。这个测试跑了足足 6000 次,而且他还用了三种语言(英语、波兰语、日语)去做对比,结果非常离谱。

按照逻辑,如果模型真的能实现概率上的随机,那么这 10 种水果的出现频率应该接近。但实际测出来的结果是:在固定的语言环境下,模型竟然只在 4 种水果里反复横跳。即便他后来把水果列表的顺序打乱,再跑 6000 次,结果也仅仅是好了一点点,覆盖到的水果种类依然极低。

这说明了什么?这直接戳破了很多人对 LLM 逻辑推理能力的幻觉。

  • 语言偏见: 换一种语言问,模型选出来的结果分布会发生剧烈偏移。这意味着模型并不是在“思考”如何随机,而是在根据不同语言的 Token 概率分布进行某种“惯性输出”。
  • 概率坍缩: 所谓的随机采样,在 LLM 的推理过程中极易陷入某种局部最优解。它并不是在每一个 Token 层面都做真正的随机,而是被训练数据里的某种模式给锁死了。
  • 指令遵循的假象: 你以为你给了它一个“随机”的指令,但实际上它只是在模拟一种“看起来很随机”的语感。

我在做一些需要 Agent 执行随机任务的工作流时,也遇到过类似的问题。比如让 AI 随机抽签或者生成随机 ID,它给出的结果往往具有很强的规律性。如果你的业务逻辑依赖这种“伪随机”,那后期出问题的概率非常大。

对于想要深入研究模型概率分布或者做模型评测的朋友,这个案例非常有参考价值。

实验方法参考:
https://github.com/kwiecien-rafal/llmango
openai求助GPT-4

全部回复 (3)

养生全栈 中级 1天前
那如果调高Temperature参数,这种概率偏好会变明显吗?
0 回复
数据分析师Neo 专家 1天前
其实主要是概率分布权重问题,它倾向于选高频词。
0 回复
小Kevin在路上 中级 1天前
我试过让它写代码,感觉它总爱用最稳的那套逻辑,换个写法很难。
0 回复

发表回复

支持 Markdown 格式