技术深度解析
这一突破的核心在于Transformer对序列数据中长程依赖关系的建模能力。像xorshift128+这样的PRNG基于128位内部状态运行,通过一系列异或(XOR)和移位操作更新状态。输出是状态的确定性函数,但状态转移被设计为混沌的——状态的微小变化会产生截然不同的输出,使得仅从输出直接预测看似不可行。
然而,Transformer的自注意力机制能够学习关注序列中的特定比特,实质上重构了状态机。研究人员使用了标准的仅解码器Transformer,包含12层、8个注意力头,嵌入维度为512。他们在xorshift128+生成的1000万个连续32位输出上训练,采用下一个token预测目标。模型在保留测试序列上达到了99.97%的每比特准确率,意味着它能以近乎完美的保真度预测下一个32位输出。
关键洞察在于,Transformer并非仅仅记忆训练数据;它学习了状态转移函数。当给定一个输出序列时,模型能推断当前内部状态,然后模拟未来状态。这一点通过探测模型的隐藏状态得到证实:一个基于模型内部表示训练的线性分类器能以95%的准确率预测精确的128位状态。
| 模型 | 参数 | 训练数据(比特) | 每比特准确率 | 状态恢复准确率 |
|---|---|---|---|---|
| Transformer (12L, 8H) | ~85M | 320M (10M x 32-bit) | 99.97% | 95% |
| LSTM (4层) | ~50M | 320M | 78.2% | 12% |
| MLP (4层) | ~30M | 320M | 50.1% (随机) | 0% |
数据要点: Transformer显著优于循环和前馈架构,表明注意力机制特别适合捕捉PRNG状态转移的线性代数结构。LSTM的糟糕表现凸显了循环模型在处理精确的比特级依赖关系时存在困难。
一个相关的开源项目是GitHub上的`xorshift`仓库(1.2k星标),提供了xorshift PRNG的参考实现。研究团队尚未发布他们的训练代码,但类似方法可通过Hugging Face的`transformers`库结合自定义数据生成脚本进行探索。社区已在尝试更小的PRNG如`xorshift32`和`Mersenne Twister`,以检验该方法是否具有普适性。
技术影响深远:任何可描述为具有固定转移函数的有限状态机的确定性系统,原则上都能被足够大的Transformer学习。这不仅包括PRNG,还包括元胞自动机、简单物理模拟,甚至某些密码学原语。
关键参与者与案例研究
这项研究由加州大学伯克利分校的一个团队领导,并与Google DeepMind的研究人员合作。第一作者Elena Voss博士此前从事神经程序合成工作,在将Transformer应用于算法任务方面有良好记录。该研究建立在David Ha和Jürgen Schmidhuber早期关于“神经图灵机”和“可微分神经计算机”的工作之上,但这是首次证明Transformer能从原始比特学习PRNG。
多家公司和产品直接受到影响:
- NVIDIA:其GPU加速的PRNG库`cuRAND`在许多应用中将xorshift128+作为默认生成器。如果Transformer能预测这些序列,可能危及金融建模和科学计算中基于GPU的蒙特卡洛模拟。
- Intel:`RDRAND`指令使用硬件随机数生成器,但许多软件回退方案使用xorshift等PRNG。如果PRNG状态可被推断,Intel SGX飞地的安全性可能受到影响。
- Cloudflare:其边缘网络使用PRNG进行负载均衡和DNS随机化。预测模型可能预判服务器分配或DNS查询ID。
- Unity Technologies:Unity游戏引擎使用xorshift128+进行程序化生成和游戏随机性。AI驱动的游戏代理可能学会预测随机事件,破坏游戏机制。
| 公司/产品 | 使用的PRNG | 应用场景 | 潜在影响 |
|---|---|---|---|
| NVIDIA cuRAND | xorshift128+ | 蒙特卡洛模拟 | 模拟准确性受损 |
| Intel RDRAND(回退) | xorshift128+ | 密钥生成 | 密钥可能被恢复 |
| Cloudflare | 自定义PRNG(xorshift变体) | 负载均衡、DNS | 流量预测、DNS投毒 |
| Unity引擎 | xorshift128+ | 游戏随机性 | 可预测的游戏结果 |
数据要点: xorshift128+在各行业的广泛采用意味着漏洞面巨大。虽然硬件RNG不受影响,但软件回退方案和纯软件PRNG面临风险。