为什么“AI 确定性”之争让我恼火
Why the AI Ddeterminism Argument Annoys Me
一位研究随机算法确定性序列的计算机科学家指出,抱怨 LLM 不确定的人其实并不真正在意确定性,而是想要正确答案。他用 2×2 矩阵区分“随机但错误”“确定但错误”“随机但正确”“确定且正确”四种情况,认为人们真正想要的是正确,而非每次输出相同。他还表示,通过固定所有伪随机数生成器种子并避免 CPU/GPU 线程的非确定性执行,LLM 在训练和推理阶段都可以做到确定性运行。

首先,我*究竟*算哪根葱,有资格对此发表意见?
嗯,我是一名计算机科学家,专攻用于随机算法的确定性序列。
读一读我经过同行评审发表的关于蓝噪声的论文,读一读我关于无理数以及将其用作伪随机数来源之益处的博客文章,读一读我写的关于使用轻量级密码学在常数时间内对对象进行洗牌和分组、并利用中国剩余定理实现随机访问和逆向查找的内容。也看看我同主题的 YouTube 视频。我觉得这些东西很迷人,所以如果你感兴趣,这里是我最喜欢的一些:
超越白噪声用于实时渲染(YouTube):https://www.youtube.com/watch?v=tethAU66xaA
常数时间无状态洗牌与分组(EA 博客文章):https://www.ea.com/seed/news/constant-time-stateless-shuffling
无理数(博客文章):https://blog.demofox.org/2020/07/26/irrational-numbers/
好吧,我了解确定性,但我了解 AI 和 ML 吗?我坚持 ML 的底层,不喜欢进入大多数现代 ML 人士所涉足的高度抽象层面,但没错。我懂反向传播、对偶数(前向模式自动微分)、ADAM 以及其他各种杂七杂八的东西。在 AI 寒冬期间,我靠用 Excel 实现神经网络来给自己取暖(那时我不在做游戏开发)。
面向游戏开发者的机器学习(YouTube):https://www.youtube.com/watch?v=sTAqWRsEiy0
我还有一项(待批的)ML 专利,这里就不描述了,它相当有趣。不幸的是,我担心它会帮助类似终结者的天网那样的东西存在。我曾试图把这项专利挂靠在一家游戏公司,以为那样会安全,但现在美国法西斯党自家的贾里德·库什纳和那位下令谋杀并肢解贾迈勒·卡舒吉的沙特王子拥有 EA,也拥有我的专利,所以我想人类安息吧。
有趣的是——那项专利的一个核心特性就是确定性 ML。
所以没错,我确实练,兄弟。
好吧,让我恼火的是人们抱怨 LLM 不是确定性的。我恼火是因为,并不是他们想要它是确定性的,而是他们想要它是*正确*的,而他们甚至没有意识到这一点。
让我们看一个 2×2 置换矩阵。

考虑每个方格,“当同一个问题被多次询问时”……:
- #1——它给出随机答案,而且是错的。
- #2——它每次都给出相同答案,而且是错的。
- #3——它给出随机答案,但它们是正确的。
- #4——它每次都给出相同答案,而且是对的。
认为确定性是 LLM 问题的论点说的是,你想要选项 #2 或 #4,并且两者皆可。你是在说“我不在乎它是否正确,我只希望它每次都做同样的事”。如果你这么想,干得好:你现在正在手动呼吸了。(注意这种感觉:这就是犯错的感觉。你经常有这种感觉吗?)
人们真正想要的是 #3 和 #4。他们不在乎它是随机的还是不是,他们只想要它是*正确*的。
在正确范围内的任何“随机变化”都不会让它变得不那么正确。如果会的话,你就不会认为它正确,它也就不会属于方格 #3 的一部分。
是的,我甚至是在谈论 LLM 生成代码或执行某些步骤,而这些事情可能更适合用 Python 脚本完成。如果你处在第 4 个框里,你 100% 满意。如果你处在第 3 个框里,你仍然完全满意,因为它所做的就是正确的。如果你说“是的,但我需要代码生成或工具执行零变化”,好吧,那这是你对“正确”定义的一部分,你得到了它。如果你没有得到你认为正确的东西,那它就在另一个框里。
另一种看待它的方式
你可以确定性地运行 LLM——无论是在训练期间还是在推理期间。设置所有使用的伪随机数生成器的种子,确保没有任何东西以非确定性的方式在 CPU 或 GPU 线程上运行。这完全可能,甚至不是什么大跨越。如果你只知道 vibe coding,你可能会觉得这是魔法,但不幸的是,它平凡得要命。
那会让你满意吗?当然不会。它让你问的每个问题都落入第 2 或第 4 个框,但你无法选择最终落入哪个框。网络输出的唯一变化来自你的输入。
(哦不,我忘了舍入模式吗?在你对不同机器和编译器上的程序确定性可行性有意见之前,先去学习 RTS 是如何工作的。)
还有一种看待它的方式
我能听到你在说:
“但是兄弟——你混淆了术语。网络表示高维空间中的一个分布,而输出是单个样本。你使用单个伪随机值作为输入取一个样本,并不会使它具有确定性。”
兄弟,你太对了。
想想我可爱的 MS Paint ™ 图中的第 3 个方块。当反复问同一个问题时,它给出随机但正确的答案。这怎么可能?因为它是一个具有更宽支撑集的概率分布。
第 4 个方块有一个近似狄拉克 δ 的分布。这就是唯一的区别。
是的,我知道它是一个分布,那又怎样。
还有一种看待它的方式
关于宇宙是否是确定性的,存在一场辩论。
据我们所知,它绝对是确定性的,也许除了在量子层面,而量子层面似乎以某种方式在大尺度上被洗成了确定性。也许是通过中心极限定理,谁知道呢。
如果那是真的,它已经是确定性的,所以你可以放松了。一切都完全如你所说你想要的那样。仍然不满意?那是因为你不在乎确定性,你想要它是正确的。
另外,也许从那个酷爱饮料碗边退后几步。那东西对你的健康有害。

来源:Hacker News · blog.demofox.org