KataGo+Sabaki搭建AI围棋助手:从入门到实战
KataGo+Sabaki搭建AI围棋助手:从入门到实战
最近在与同门练习围棋时屡遭挫败,于是决定借助AI来提升棋艺。本文将详细介绍如何使用KataGo和Sabaki搭建一个AI围棋助手,帮助读者快速上手并享受与AI对弈的乐趣。
KataGo简介
自2016年AlphaGo横空出世以来,围棋AI领域涌现出众多优秀的模型。其中,KataGo是一款备受推崇的围棋AI引擎,其作者David Wu(毕业于哈佛大学,目前就职于Jane Street)致力于通过自我对弈来精进棋艺。KataGo的名字来源于日语中的"型"(kata),意指通过反复练习来提升技艺。
KataGo的官方仓库地址为:https://github.com/lightvector/KataGo
相关论文:Accelerating Self-Play Learning in Go
KataGo基于AlphaZero的蒙特卡洛树搜索(Monte Carlo tree)算法进行了大量优化,目前仍在持续维护和更新。用户可以从KataGo训练网站下载最新或效果最佳的模型。
KataGo+Sabaki部署搭建
KataGo作为一个算法后端,需要搭配图像化的前端界面才能构成完整的围棋助手。本文将使用Sabaki作为前端界面,详细介绍搭建步骤。
1. 下载KataGo
在KataGo仓库中,提供了多个版本供用户选择,主要包括OpenCL (GPU)、CUDA (GPU)、TensorRT (GPU) 和 Eigen (CPU)。其中,TensorRT (GPU)版本虽然速度最快,但配置较为复杂。因此,推荐下载OpenCL版本,它在大多数日常主机上都能达到5秒左右计算一步的性能,基本满足使用需求。
2. 下载权重
从KataGo训练网站下载最新或性能最佳的权重文件,并将其放置在KataGo文件夹中。
3. 配置参数文件
在KataGo文件夹中,通过命令行执行以下命令(将"权重文件"替换为实际下载的文件名):
katago.exe genconfig -model 权重文件.bin.gz -output sabaki.cfg
在生成配置文件的过程中,系统会询问几个问题:
- 询问KataGo默认的围棋规则,选择中国规则,输入:chinese,然后回车;
- 询问是否对读秒等时间规则添加额外限制,选择不需要,输入:n,然后回车;
- 询问是否允许KataGo在对手读秒时思考,默认选择否,直接回车;
- 询问使用哪个计算核心,如果只有一块显卡,选项是“0”,直接回车;
- 询问KataGo的内存上限设置,根据个人设备配置输入相应数值,例如8GB。
随后,AI引擎会自动测试硬件性能并生成配置文件。
4. 下载Sabaki
访问Sabaki官网:https://sabaki.yichuanshen.de/,下载并安装Sabaki。
打开软件后,可以通过"文件"->"首选项"菜单修改语言设置,使其显示为中文。
5. 配置KataGo
在Sabaki中,进入"引擎"菜单,勾选显示引擎侧边栏。然后点击"管理引擎",选择"新增",设置KataGo的路径,并输入以下命令(将"权重文件"替换为实际下载的文件名):
gtp -model 权重文件.bin.gz -config sabaki.cfg
点击左上角的KataGo按钮,如果弹出以下信息,则表明模型初始化成功:
之后,在新开对局设置中,将对手设置为KataGo,就可以开始与AI对战了。甚至可以设置两个KataGo进行对决:
后记
经过实践验证,使用KataGo确实能有效提升棋艺。再次与同门对弈时,已经能够取得不错的成绩:
希望这篇教程能帮助更多围棋爱好者搭建属于自己的AI围棋助手,享受围棋带来的乐趣。
参考资料
[1] 围棋AI及GUI的使用简介:https://zhuanlan.zhihu.com/p/267139001
[2] 《丈夫贵兼济,岂独善一身:我为什么要开源KataGo?》——弈客采访KataGo作者:https://www.163.com/dy/article/FP8F9RPS0529BOGK.html