【趣味实践】KataGo+Sabaki搭建Ai围棋助手

zstar-_ 2024-07-21 16:01:02 阅读 55

前言

最近和同门在比试围棋,结果被爆虐,于是想借助Ai治治“嚣张”的他。

在这里插入图片描述

KataGo简介

继2016年AlphaGo出圈以来,已有不少Ai模型,其中部分如下图[1]所示。

在这里插入图片描述

在线围棋对弈网站OGS上,使用KataGo(https://online-go.com/)这款工具进行Ai分析,于是去了解了一下KataGo。

KataGo作者是David Wu(毕业于哈佛大学,目前供职于Jane Street,是一名从事人工智能研究的研究员),“kata”一词出自日语,现在也成为了一个武术里的英文常用词汇,意思是通过左右互搏自我练习,慢慢精进棋盘上的招式[2]。

KataGo官方地址:https://github.com/lightvector/KataGo

KataGo论文:Accelerating Self-Play Learning in Go

KataGo基于AlphaZero采用的蒙特卡洛树(Monte Carlo tree)进行大量训练速度上都优化,目前该仓库还在维护更新,一些更新的优化策略更新在仓库中。

KataGo的模型也在不断训练更新,可以从下面这个地址下载到最新或效果最好的模型:https://katagotraining.org/networks/

KataGo+Sabaki部署搭建

KataGo仅仅是作为一个算法后端,一个完整的围棋助手还需要搭配图像化的前端界面,在本文中使用Sabaki作为前端界面。下面来进行搭建部署。

1.下载KataGo

在KataGo仓库中,可以下载到KataGo的不同版本,主要包括以下四个:OpenCL (GPU)、CUDA (GPU)、TensorRT (GPU) 和 Eigen (CPU)。其中,推理速度最快的是TensorRT (GPU),但需要Cuda以及TensorRT版本去进行适配,配置起来较麻烦。因此,推荐下载OpenCL版本,无需繁琐配置,在日常主机上基本5s左右能算完一步,基本可用。

2.下载权重

在权重网站上下载最新或性能最好的权重,下载之后放置在KataGo文件夹中。

3.配置参数文件

在Katago文件夹用命令行执行命令(权重文件替换成自己下载的文件名):

katago.exe genconfig -model 权重文件.bin.gz -output sabaki.cfg

生成配置文件的过程中要提问几个问题:

问katago默认的围棋规则是什么,选中国规则,输入:chinese,然后回车;问katago要不要对读秒之类的时间规则加个额外限制,选不用。输入:n,然后回车;问是否允许katago在对手读秒的时候思考,默认是否,直接回车;问katago要使用哪个计算核心,只有一块显卡,选项是“0”,直接回车;问katago的内存上限设置为多少,我的内存是16GB,输入8,直接回车。

然后就是AI引擎自己运行测试硬件的性能,自动选择参数生成配置文件sabaki.cfg后结束运行。

4.下载Sabaki

Sabaki官网:https://sabaki.yichuanshen.de/

在官网上下载Sabaki进行安装。

打开软件,可以在文件->首选项修改语言信息。

在这里插入图片描述

5.配置KataGo

在Sabaki引擎菜单下,勾选显示引擎侧边栏。

在这里插入图片描述

点击管理引擎,新增,设置KataGo路径,输入以下命令(权重文件替换成自己下载的文件名):

gtp -model 权重文件.bin.gz -config sabaki.cfg

在这里插入图片描述

点击左上角KataGo,弹出以下信息,则表明模型初始化成功。

在这里插入图片描述

之后,在新开对局设置中,将对手设置为KataGo,就可以顺利和Ai对战了。甚至可以设置两个KataGo,观看Ai之间的对决。

在这里插入图片描述

后记

不忘初心,拿着KataGo再次和同门进行挑战,非常顺利。

在这里插入图片描述

在这里插入图片描述

参考

[1]围棋AI及GUI的使用简介:https://zhuanlan.zhihu.com/p/267139001

[2]《丈夫贵兼济,岂独善一身:我为什么要开源KataGo?》——弈客采访KataGo作者:https://www.163.com/dy/article/FP8F9RPS0529BOGK.html



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。