搜索无关的象棋:一种基于大规模变换器的解决方案

搜索无关的象棋:一种基于大规模变换器的解决方案

searchless_chess Grandmaster-Level Chess Without Search searchless_chess 项目地址: https://gitcode.com/gh_mirrors/se/searchless_chess

1. 项目介绍

开源项目“搜索无关的象棋”(searchless_chess)是由Google DeepMind团队开发的一种使用大规模变换器(transformers)进行棋类游戏预测的算法。该项目通过将变换器模型应用于棋类游戏,如国际象棋,来评估其在规划任务上的表现。项目的主要目的是为了验证变换器模型在没有搜索步骤的情况下,是否能够有效地解决棋类问题。

2. 项目快速启动

环境准备

首先,需要准备Python 3.10环境。推荐使用Anaconda来创建一个虚拟环境:

conda create --name searchless_chess python=3.10
conda activate searchless_chess

然后安装pip并使用pip安装项目依赖:

conda install pip
pip install -r requirements.txt

如果您的系统有GPU支持,可以安装支持CUDA的JAX版本以加速训练:

pip install --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

安装Stockfish和Leela Chess Zero

项目还依赖于Stockfish和Leela Chess Zero棋类引擎。可以从各自的GitHub仓库下载源代码并编译:

# Stockfish
git clone https://github.com/official-stockfish/Stockfish.git
cd Stockfish/src
make -j profile-build ARCH=x86-64-avx2
cd ../..

# Leela Chess Zero
git clone -b release/0.30 --recurse-submodules https://github.com/LeelaChessZero/lc0.git
# 构建步骤参照lc0的官方文档

数据集和模型 checkpoints

项目需要下载数据集和预训练模型:

cd data
./download.sh
cd ..

cd checkpoints
./download.sh
cd ..

训练模型

启动模型训练的命令如下:

cd src
python train.py
cd ..

训练好的模型 checkpoints 将会保存在 /checkpoints/local 目录下。

评估模型

评估模型在象棋难题上的准确度:

cd src
python puzzles.py --num_puzzles 10 --agent=local
cd ..

可以选择不同的模型或引擎进行评估,例如预训练的模型9M136M270M,Stockfish引擎,或Lc0引擎。

3. 应用案例和最佳实践

  • 模型训练:使用大规模数据集进行监督学习,提高模型在预测动作值方面的准确性。
  • 模型评估:通过象棋难题和在线比赛(如Lichess)来评估模型的表现。
  • 模型部署:将训练好的模型部署到实际应用中,例如在线象棋平台或智能象棋设备。

4. 典型生态项目

  • Stockfish:目前最强大的开源象棋引擎之一,可以作为基准来比较其他模型。
  • Leela Chess Zero:使用深度学习和自我对弈进行训练的开源象棋引擎,与本项目有相似的探索方向。
  • BayesElo:用于计算不同棋手或模型之间Elo评分的工具,有助于评估模型实力。

searchless_chess Grandmaster-Level Chess Without Search searchless_chess 项目地址: https://gitcode.com/gh_mirrors/se/searchless_chess

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓融浪Keene

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值