遇见数据集

chessmate-positions

收藏
Hugging Face2026-06-08 更新2026-06-09 收录
官方服务:

资源简介:

ChessMate Positions 是一个包含国际象棋局面及其评估标签的数据集,主要用于监督蒸馏 ChessMate 策略/价值网络。该数据集存储框架无关的象棋事实,包括FEN、UCI走法、厘兵/将死分数等,而具体的棋盘编码和策略索引在训练时由 ChessMate 的象棋核心计算。数据集包含四个配置:default(约70.2万个样本,v4训练集,阶段平衡,使用Stockfish深度18多PV策略)、ood(约4000个样本,分布外评估集,用于衡量泛化能力)、v3(约5万个样本,历史版本标签)和 lc0_v7(约250万个样本,使用lc0教师模型标注,包含完整策略分布和WDL,仅含中残局)。每个样本包含局面信息(fen、side_to_move、fullmove)、最佳走法(best_move)、多PV走法列表(multipv,包含走法、厘兵评估、将死评估)、策略深度、价值评估(value_cp、value_mate、value_depth,白方视角)以及数据来源。lc0_v7配置额外包含策略分布(policy)和胜平负概率(wdl),其评估值编码方式与Stockfish不同。数据来源于Lichess游戏深度Stockfish评估、Lichess谜题FEN以及引擎自对弈,策略标签由Stockfish多PV计算生成。数据集适用于表格回归任务,如象棋AI的策略和价值网络训练。

ChessMate Positions is a dataset containing chess positions and their evaluation labels, primarily used for supervised distillation of ChessMate policy/value networks. It stores framework-agnostic chess facts, including FEN, UCI moves, centipawn/mate scores, etc., while specific board encodings and policy indices are computed by ChessMates chess core during training. The dataset includes four configurations: default (approximately 702,000 samples, v4 training set, phase-balanced, using Stockfish depth 18 multiPV policy), ood (approximately 4,000 samples, out-of-distribution evaluation set for measuring generalization), v3 (approximately 50,000 samples, historical version labels), and lc0_v7 (approximately 2.5 million samples, annotated with the lc0 teacher model, containing full policy distribution and WDL, only mid and endgames). Each sample contains position information (fen, side_to_move, fullmove), best move (best_move), multiPV move list (multipv, including moves, centipawn evaluation, mate evaluation), policy depth, value evaluation (value_cp, value_mate, value_depth, from whites perspective), and data source. The lc0_v7 configuration additionally includes policy distribution (policy) and win-draw-loss probabilities (wdl), with evaluation value encoding differing from Stockfish. Data sources include deep Stockfish evaluations of Lichess games, Lichess puzzle FENs, and engine self-play, with policy labels generated by Stockfish multiPV calculations. The dataset is suitable for tabular regression tasks, such as training policy and value networks for chess AI.

创建时间:
2026-06-04
原始信息汇总

数据集概述

数据集名称: ChessMate Positions (Stockfish-labeled policy/value)

许可证: CC-BY-4.0

任务类别: 表格回归、其他(国际象棋相关)

标签: 国际象棋、Stockfish、蒸馏、AlphaZero

数据集大小: 1M < N < 10M

数据集介绍: 包含带有 Stockfish 策略和价值标签 的国际象棋局面,用于对 ChessMate 策略/价值网络进行监督蒸馏。该数据集仅存储与框架无关的国际象棋事实:FEN、UCI 走法、分值/将杀分数。8×8×22 平面编码和 4096 策略索引在 ChessMate 的国际象棋核心训练时计算,因此数据不包含特定引擎的编码。

配置与数据划分

数据集提供四个配置,数据以 Parquet 格式存储:

配置名称 数据行数 说明
default ~702k v4 训练集:阶段平衡(约中局/残局 + 开局库通过),Stockfish 深度18、多PV-8 策略。
ood ~4k 分布外(OOD) 评估集(引擎自对弈开局;VQ-444 D4),与 default 不相交,用于衡量分布外的泛化能力。
v3 ~50k 早期(v3 时期)的标签运行数据,保留历史。
lc0_v7 2.5M lc0 教师 标签(完整策略分布 + WDL),VQ-497 规模扩大。⚠️ 仅包含中局/残局(0% 开局——流式源不携带开局;在训练可发布网络前需添加开局通过)。

加载示例: python from datasets import load_dataset ds = load_dataset("victorqueiroz/chessmate-positions") # 默认(v4 训练集) ood = load_dataset("victorqueiroz/chessmate-positions", "ood") # OOD 评估集

数据模式(Schema)

通用列:

  • fen: 局面 FEN 字符串
  • side_to_move: 轮到走棋方
  • fullmove: 完整步数
  • best_move: 最佳走法(UCI 格式)
  • multipv: 多PV列表,每项包含 {move, cp, mate},相对于轮到走棋方(STM-POV)
  • policy_depth: 策略搜索深度
  • achieved_depth: 达到的搜索深度
  • policy_multipv: 策略多PV数量
  • value_cp: 价值的分值(白方视角
  • value_mate: 价值的将杀分数
  • value_depth: 价值搜索深度
  • source: 数据来源

lc0_v7 配置额外列及不同编码:

  • 额外列: policy(完整 lc0 策略分布,列表形式:{move, prob});wdl[胜, 和, 负],STM-POV)。
  • 编码差异:
    • multipv[i].cp 不是分值评估,而是将 lc0 先验编码为 cp_i = SOFT_TEMP·(ln p_i - ln p_max)softmax(cp / SOFT_TEMP) 可再现 lc0 策略。最佳走法的 cp 始终为 0(作为参考)。使用 Stockfish 方式审计 value_cpmultipv[0].cp 的相关性将看到常数 0,并得出虚假失败——检查不适用于此配置。
    • value_cp 是 lc0 的 WDL 映射为白方视角的分值:cp = VALUE_SCALE·atanh(w-l)

数据来源与生成

  • 局面和携带的价值评估: 采样自 mateuszgrzyb/lichess-stockfish-normalized(Lichess 对局,深度 Stockfish 价值评估),以及用于战术片段的 Lichess 谜题 FEN 和用于 OOD 的引擎自对弈。
  • 策略标签best_move, multipv): 由 Stockfishpolicy_depth 使用多PV模式重新计算。
  • 生成脚本: ChessMate 仓库中的 pretrain/hf/label_positions.py(去重 + 阶段平衡 + 战术/OOD 通过)。

许可与归属

CC-BY-4.0。本数据集是 mateuszgrzyb/lichess-stockfish-normalizedCC-BY-4.0——需注明归属)和 Lichess 开放数据(CC0)的衍生作品。新计算的标签由 Stockfish 生成(GPL 引擎;其走法/评估输出不将 GPL 应用于此数据)。使用本数据集时,请注明 mateuszgrzyb/lichess-stockfish-normalized 和 Lichess。

搜集汇总
数据集介绍
chessmate-positions 数据集图片
构建方式
ChessMate Positions数据集源自对国际象棋博弈数据的深度加工与精炼。其核心构建流程基于从Lichess平台采集的海量对局记录,并借助Stockfish引擎进行多主变搜索(Multi-PV),为每个局面生成包含最佳招法、策略分布及评估值的标签。具体而言,系统从[mateuszgrzyb/lichess-stockfish-normalized]数据集中提取局面与已携带的价值评估,再以指定的搜索深度(如depth-18)重新计算策略标签,确保标签的时效性与一致性。此外,数据集通过去重、阶段平衡(区分开局、中局与残局)以及引入战术局面(Lichess谜题)与引擎自弈数据,构建了包括默认训练集、分布外评估集在内的多个配置版本,从而覆盖更广泛的棋局类型与分布特征。
特点
该数据集最为显著的特点在于其框架无关性与多配置适配能力。所有存储的均为纯粹的棋局事实信息——包含FEN串、UCI坐标表示、分数与将杀标记等,而将针对特定模型的编码计算留待训练时由ChessMate的棋局核心模块完成,极大增强了数据的通用性。数据集特别提供了四个配置:default(约70万条,阶段平衡且包含开局库过滤)、ood(约4千条,用于评估模型对未见过分布的外推能力)、v3(历史遗留版本)以及lc0_v7(高达250万条,由lc0引擎标注,提供完整的策略概率分布与胜负和概率)。lc0_v7配置额外引入了原生策略与WDL列,同时巧妙兼容原有训练流程,彰显了设计上的灵活性与前瞻性。
使用方法
使用者可通过HuggingFace Datasets库便捷加载该数据集。以Python为例,仅需执行`load_dataset("victorqueiroz/chessmate-positions")`即可获得默认的v4训练集,而加载分布外评估集则需指定配置名:`load_dataset("victorqueiroz/chessmate-positions", "ood")`。数据集依据配置不同提供相应的列结构:default与ood配置包含fen、side_to_move、best_move、multipv列表以及value_cp等字段;lc0_v7配置则额外提供policy与wdl列,其评估编码采用特定转换公式,需注意与Stockfish风格的差异。在使用lc0_v7时,建议添加开局书处理以弥补其缺失的开局盘面,从而训练出性能更优的棋力网络。
背景与挑战
背景概述
ChessMate Positions数据集由Victor Queiroz及其团队于2024年创建,旨在通过监督蒸馏方法训练ChessMate策略/价值网络。该数据集源自Lichess开源对局数据及Stockfish引擎的深度评估,包含约700万条国际象棋局面标注,核心研究问题在于利用大规模、高质量的教师策略标签(如Stockfish的多主变搜索输出)提升网络在国际象棋中的局面评估与决策能力。作为连接传统引擎知识与深度学习模型的桥梁,该数据集为国际象棋AI的自动化特征学习提供了标准化训练资源,对推动神经网络的象棋弈棋水平研究具有重要影响。
当前挑战
该数据集面临的核心挑战包括:1)领域问题方面,需解决国际象棋中局面评估的稀疏性与策略分布的复杂性,即如何从有限的局面样本中泛化至未见过的高维决策空间;2)构建过程中,需处理多引擎标签不一致性,如lc0的WDL概率与Stockfish的计分差(centipawn)的映射难题,以及基于规则的局面平衡(如中局/残局比例控制)以避免训练偏差;3)数据来源的异构性导致编码差异,例如在lc0_v7配置中需特殊处理计分解读,否则可能引发评估错误。
常用场景
经典使用场景
在国际象棋人工智能研究领域,ChessMate Positions数据集凭借其丰沛的标注信息,成为了训练和评估棋力评估网络的经典选择。该数据集提供了超过70万个棋盘局面,每一局面均包含由Stockfish引擎在深度18层、多主变数为8的条件下计算出的策略分布与局面价值。这些精心标注的监督信号,使得研究人员能通过知识蒸馏技术,将强大引擎的棋力高效迁移至轻量化神经网络中,从而实现了在有限计算资源下依然保持高水平棋力的目标。此外,该数据还因其框架无关的特性,仅存储FEN串、UCI走法和分数等通用信息,极大降低了引擎编码对训练流程的约束,提升了跨平台训练的效率与可复现性。
实际应用
在实际应用中,该数据集直接支撑了ChessMate项目的策略与价值网络的训练,使得最终模型能够在移动端和边缘设备上流畅运行,同时保持对复杂局面的高水准判断力。借助此数据训练的轻量化棋力引擎,已成功嵌入多种交互式国际象棋教学软件、在线对弈平台的辅助分析工具和业余棋手训练系统中。此外,该数据集还支持了面向棋局异常检测、棋风识别以及棋谱自动解说等下游任务的研究开发,推动了AI在智育领域和娱乐产业中的深度融合,切实解决了从深度推理到实时响应的技术瓶颈。
衍生相关工作
围绕ChessMate Positions数据集,学术界衍生出了多项具有影响力的工作。首先,基于该数据的知识蒸馏框架被进一步推广至更一般化的强化学习模拟器,衍生出多种蒸馏策略对比研究,显著提升了对局策略的推广性。其次,利用该数据集的OOD配置,研究人员探索了模型在面对未见开局变例时的泛化边界,并在此基础上提出了对抗性训练与不确定性校准的新算法。此外,lc0_v7配置中的全策略分布标注也催生了对不完美信息博弈中策略对齐和概率校准的深入研究,强化了数据驱动的棋类AI解释性分析的应用边界。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务