Carlini 用大模型把 Stockfish 移植到 1996 年的奔腾 Pro:估计等级分 3300,1335 分进步里 720 分来自算法

研究员 Nicholas Carlini 11 月 1 日在个人博客发文,回答一个问题:1996 年不造深蓝,只用一台普通台式机能不能赢卡斯帕罗夫。他买来一台 200 MHz 奔腾 Pro、64MB 内存的旧电脑,让 Fable 5.1、Opus 5.5 和 GPT-6 写代码,把 Stockfish 17 改成单核、32 位、无 SIMD 的版本并针对这台机器重新调参,每步 30 秒时测得等级分 3180 ± 80,外推到慢棋约 3300,高于卡斯帕罗夫当时不到 2800 的等级分。另一组实验把 1996 年的 Crafty 11.13 逐步补上现代搜索和 NNUE 评估。他的结论是,从当年家用机水平到今天约 1335 分的进步里,有 720 分来自更好的程序而不是更快的硬件;在 100 局对比中,跑在奔腾 Pro 上的现代引擎对跑在现代电脑上的 1996 版 Crafty 取得 78 胜 17 和 5 负。

不造深蓝行不行

1997 年战胜卡斯帕罗夫的深蓝,用了 30 颗 P2SC 处理器和 480 颗定制国际象棋协处理器,每秒能分析 2 亿多个局面。研究员 Nicholas Carlini 在 11 月 1 日的博客里换了个问法:如果当年手里有今天的算法,一台普通台式机够不够?

他买了一台二手电脑:200 MHz 奔腾 Pro(1995 年 11 月上市)、64MB 内存,从 1.44MB 软盘启动一个只负责拉起引擎和网卡的极简系统,再把引擎挂到网上供读者对弈。他特意说明,文中的「我写的代码」实际是让 Fable 5.1、Opus 5.5 和 GPT-6 写的,只有文章本身是他写的。

两组实验

  • 把 Stockfish 搬回 1996 年:改成单核、不用 SIMD 和 64 位寄存器、不用 C++ 标准库,去掉多线程和残局库,把 71MB 的 NNUE 换成小网络。直接移植后每步 1 秒约 2496 分,再缩小网络、重调参数后升到 2846 ± 35,每步 30 秒为 3180 ± 80,按用时外推到慢棋约 3300。
  • 给 1996 年的 Crafty 11.13 补课:原版在这台机器上每步 1 秒只有 1999 ± 90,逐步加入现代剪枝与搜索缩减、SPSA 调参和 NNUE 评估后升到 2718 ± 34。

100 局对比里,奔腾 Pro 上的现代引擎对现代电脑上的 1996 版 Crafty 为 78 胜 17 和 5 负。

这对大模型意味着什么

Carlini 估算,从当年家用机约 2300 分到今天 Stockfish 约 3700 分,约 1335 分的提升里有 720 分来自更好的程序。他也承认这些分数基于计算机等级分列表,与人类棋手的等级分不能直接换算,3300 是外推值。文末他把问题抛回语言模型:未来几年软件上的进步,会不会跑赢硬件规模的增长?这个小实验给不出答案,但提示了「当年以为已经没多少想法可挖」的判断往往是错的。

via: Nicholas Carlini:Could a modern chess engine on a Pentium have defeated Kasparov in 1996?