Hasty Briefsbeta

双语

Compiling a Neural Net to C for a 1,744× speedup

a year ago
  • #game-of-life
  • #neural-networks
  • #optimization
  • 一个以逻辑门作为激活函数的神经网络(NN)被训练用于学习康威生命游戏的3×3核函数。
  • 该神经网络被编译为C语言,推理速度实现了1,744倍的加速。
  • 该项目涉及从神经网络中提取并优化学习到的逻辑电路,最终将其简化为一个300行的单线程C程序。
  • 可微分逻辑细胞自动机(DLCA)将神经网络与细胞自动机相结合,用学习到的NN模型替代传统的核函数。
  • 训练神经网络需要谨慎的初始化,包括将门权重偏向直通门以确保梯度流动。
  • 最终的C语言实现利用位并行技术同时处理64个细胞,显著提升了性能。
  • 基准测试显示,C语言实现达到了24,400帧/秒,而Python/JAX实现仅为14帧/秒。
  • 未来方向包括通过SIMD或GPU计算着色器进一步优化电路,以及探索流体模拟等更大规模的电路。