蒸馏Stockfish:用10亿棋局训练ResNet/ViT混合模型

将Stockfish深度搜索蒸馏进CNN+ViT混合神经网络,并公开39亿棋局位置数据集。
一位开发者尝试将国际象棋引擎Stockfish在深度10下的价值函数,通过知识蒸馏的方式「压缩」进一个ResNet与ViT混合的神经网络,训练数据取自Lichess平台的10亿棋局位置。项目的核心假设是:固定深度的搜索评估本质上浓缩了整棵搜索树的信息,若神经网络的单次前向传播能以更快速度逼近这一评估,则有望在速度与棋力之间找到新的权衡点,与Stockfish现用的NNUE方案竞争。实验还揭示了一个有价值的架构观察:ViT因缺乏空间归纳偏置在棋盘几何理解上收敛缓慢,CNN凭借卷积核的局部特征提取能力更高效,而两者的混合架构最终取得最佳效果。作者同步公开了涵盖39亿位置的Gigafish数据集,为该方向的后续研究提供了稀缺的公共基准。
项目概览:把Stockfish装进神经网络
国际象棋引擎Stockfish一直是棋类AI的标杆,其强大的价值函数(value function)背后依赖深度搜索与手工优化。一位开发者在Reddit分享了一个颇具启发性的项目:把Stockfish的价值函数「蒸馏」到一个ResNet/ViT混合神经网络中,训练使用了来自Gigafish数据集的10亿个棋局位置。
更值得关注的是,作者公开了完整的39亿(约3.9B)位置数据集,托管在Hugging Face上(gigafish-3.8b-d10)。该数据集基于Lichess平台37个月的对局构建,规模之大为同类开源项目中少见,为研究者复现与扩展实验提供了坚实基础。
核心思路:固定深度下逼近搜索树
这个项目的理论出发点很有意思。作者关注的核心问题是:在限定深度的搜索中,价值函数本质上是在近似它下方的整棵搜索树。
换句话说,当Stockfish在某个固定深度(这里是深度10,即数据集名称中的「d10」)评估局面时,它给出的分数实际上浓缩了该深度下所有可能变化的综合判断。如果能用一个神经网络去模仿这个固定深度的评估结果,并且让网络的推理速度远快于Stockfish完成同等深度的搜索,那么这个网络就有潜力在速度与强度的权衡上与NNUE竞争。
NNUE(Efficiently Updatable Neural Network)正是现代Stockfish所采用的高效小型神经网络评估方案。它以极快的推理速度著称,是Stockfish强度跃升的关键之一。作者的目标,是探索另一条路径——用蒸馏的方式得到一个同样高效的评估器。
为什么要保持深度恒定
固定深度是整个实验设计的关键约束。如果训练数据来自不同搜索深度的评估结果,那么标签本身的「质量」就不一致,网络学到的将是一个混杂的目标。统一到深度10,意味着网络学习的是一个定义明确、可度量的逼近任务:用一次前向传播,replace掉深度10的树搜索。这让「速度是否优于真实搜索」成为一个可以直接验证的命题。
知识蒸馏(Knowledge Distillation) 是深度学习中一种将复杂模型的「知识」迁移到轻量模型的技术,由Hinton等人在2015年系统化提出。其核心思想是:让小型「学生」网络直接模仿大型「教师」模型的输出,而非从原始标签重新学习。在本项目中,Stockfish深度10搜索相当于「教师」,其评估分数(centipawn值)作为软标签(soft label)监督神经网络训练。这种做法的优势在于,深度搜索产生的分数比单纯的胜负标签包含更丰富的信息——例如+0.3分和+2.5分都是白棋优势,但优势程度迥异,神经网络能从这种连续信号中学到更细腻的局面判断能力,而这些细节在仅用胜负结果训练时会被大量损失。
NNUE(Efficiently Updatable Neural Network) 是Stockfish自2020年引入的评估架构,最初由日本将棋程序借鉴而来。其设计核心是「增量更新」:棋局中每一步通常只改变少数棋子位置,NNUE的输入层经过特殊设计,使得只需对发生变化的部分重新计算,而非对整个局面重做前向传播。这使得NNUE在CPU上的推理速度极快,通常在微秒量级。NNUE的引入让Stockfish的棋力相比纯手工评估函数提升了约100 Elo,被认为是近年来传统引擎最重要的技术飞跃之一。本项目探索用蒸馏方式训练的通用神经网络,在推理速度上能否与这一专为增量更新优化的架构竞争,是其关键挑战所在。
模型选择:CNN与ViT的取舍
在网络架构的探索上,作者给出了一个相当有价值的经验观察。
Vision Transformer(ViT)在理解棋盘时非常缓慢。 棋盘是一个高度结构化的8×8网格,棋子之间的关系带有强烈的几何特性。ViT缺乏对这种局部空间结构的内置假设,需要从大量数据中自行学习「相邻格子」「斜线攻击」这类几何关系,导致训练初期收敛很慢。
CNN则凭借其固有的几何归纳偏置(geometric inductive biases)表现得更有效。 卷积核天然适合捕捉局部空间模式,在训练早期就能快速建立起对棋盘几何的理解,这与棋类任务的本质高度契合。
混合架构带来最佳效果
不过作者最终的结论并非二选一。实验表明,将CNN与ViT结合使用时取得了最好的结果。这背后的逻辑不难理解:CNN负责高效提取局部几何特征,为模型提供快速而稳健的空间理解;Transformer则擅长建模全局的、长距离的棋子关系(例如跨越整个棋盘的牵制与配合)。两者互补,既保留了CNN的训练效率,又获得了注意力机制对全局态势的把握能力。
这一发现与近年来视觉领域「CNN+Transformer混合架构」的趋势一脉相承——在结构化、数据量充足的任务上,纯Transformer未必是最优解,归纳偏置依然有其价值。
归纳偏置(Inductive Bias) 指模型在学习前内置的对数据结构的先验假设。卷积神经网络的归纳偏置包括「平移等变性」和「局部性假设」——即相邻位置的特征具有相关性,且同一模式在不同位置应被同等对待。这对棋盘任务尤为重要:一个象沿斜线攻击的规律,无论发生在棋盘哪个角落,都应被识别为相同的几何关系。Transformer则几乎不包含此类空间先验,必须通过数据量与注意力机制自行学习这些关系,因此在小数据或训练早期往往处于劣势。混合架构恰好利用了两者的互补性——CNN先将原始棋盘编码为富含空间结构的特征图,Transformer再在此基础上建模棋子间的全局交互,分工明确,效率与表达能力兼顾。
项目的意义与看点
这个项目的价值不止于一个棋类模型本身。
从开源贡献角度看,39亿位置、基于真实Lichess对局、统一深度标注的数据集,是棋类机器学习研究中稀缺的公共资源。它降低了后续研究者的数据获取门槛,使得关于「神经网络能多好地逼近固定深度搜索」这一问题的研究更容易展开。
从方法论角度看,「价值函数逼近搜索树」的视角,为理解评估函数与搜索之间的关系提供了一个清晰的框架。它也呼应了一个更广泛的议题:在多大程度上,昂贵的显式搜索可以被一次性的神经网络推理所替代。
从工程实践角度看,关于CNN与ViT在棋盘任务上表现差异的实证,对任何处理网格化、强几何结构数据的从业者都有参考意义——不要盲目追逐Transformer,归纳偏置在合适的场景下仍是利器。
需要说明的是,作者目前分享的内容更多聚焦于设计思路与数据集发布,模型与NNUE在实际对弈强度上的最终对比等量化结果尚待进一步验证。对这一方向感兴趣的开发者,可以直接从Hugging Face上的数据集入手复现实验。
相关推荐

智能体底座(Harness)比模型本身更关键:YC深度解析Agent架构演进
YC在Harness Night分享会上提出:决定智能体能力的关键不是模型本身,而是外层的Harness底座。本文梳理从GPT-2到自改进Harness的演进,解析Prime Agent、OpenJarvis、QM三大实践及Agent架构设计要点。

用n8n搭建LinkedIn线索抓取与丰富化自动工作流
一套基于n8n的LinkedIn线索抓取与丰富化自动工作流:只需填写职位、地点、行业和公司规模,系统即可自动生成含专业邮箱和验证状态的客户名单并写入Google表格。本文解析其流程、输出字段与合规注意事项。

SageMaker HyperPod:跨团队共享GPU集群的隔离与公平性实践
Amazon SageMaker HyperPod 推出跨团队共享GPU集群的参考架构,通过IAM Identity Center认证、Kubernetes命名空间隔离、Task Governance公平调度和成本分摊,实现算力安全共享与费用透明化。