如今,围棋人工智能的水平已经碾压人类,对于像我一样的围棋爱好者来说,早已等不及通过与人工智能对弈和复盘分析来快速提升棋力了。不过,独孤求败的AlphaGo Zero已然退出江湖,而绝艺、金毛、星阵等围棋AI水平虽高,但目前并不向大众开放,唯有Leela Zero(以下简称LZ)才完全开源,只需要一台配置足够的电脑,就可以自己在家里“遛狗”,让人工智能成为免费的陪练。
但是,由于许多资源都是英文,且有一定的技术门槛,要想配置好Leela Zero的整套对弈环境还是有些难度。以下分享一下我基于Mac系统搭建人工智能对弈及分析环境的一些经验,希望对渴望“遛狗”的棋友们有所帮助。
一、通过Sabaki加载Leela Zero引擎实现在线对弈
准备工作
硬件准备:
要有一台性能还可以的电脑,最好是独立显卡的。我的Macbook配置也并非顶级,虽然运行有些慢,但还不至于不能接受。具体如下供参考:
项目主页地址是:
https://github.com/SabakiHQ/Sabaki
作者贴心的提供了编译好的版本,可以找到适合自己操作系统的版本并下载:
https://github.com/SabakiHQ/Sabaki/releases
对于Mac电脑来说,将sabaki-v0.33.4-mac-x64.7z文件解压后得到的Sabaki.app文件移动到应用程序目录中即可完成安装。
第二步:编译并安装Leela Zero
进入Leela Zero的项目主页:
https://github.com/gcp/leela-zero
,英文好的棋友可以直接按照提示完成安装。英文不好也没关系,打开页面后找到Compiling部分,按照自己所使用的操作系统的提示来进行安装即可。
对于Mac系统来说,首先启动终端,选好并进入你要安装LZ的目录,然后按照以下步骤逐行进行操作:
git clone https://github.com/gcp/leela-zero
cd leela-zero/src
brew install boost
make
cd ..
curl -O http://zero.sjeng.org/best-network
以上步骤会将LZ的执行程序安装在src子目录下,并且会下载最新的权重文件(可以理解成围棋人工智能的思想)到当前目录下。以后你就可以通过命令行形式来运行LZ:
src/leelaz --weights best-network
如果你是个电脑小白,建议此时你在终端中运行pwd命令,并且记下来当前的目录路径以备第四步使用。
不过,由于LZ并不自带图形界面,还需要通过与Sabaki搭配才能够方便的实现人机对弈。
第三步:安装LeelaSabaki
LeelaSabaki是实现LZ与Sabaki整合使用的解决方案,主页是:
https://github.com/SabakiHQ/LeelaSabaki
作者提供了已经编译好的执行程序,在以下地址可以下载:
https://github.com/SabakiHQ/LeelaSabaki/releases
(如果你想自己通过源代码编译,参照主页中提供的步骤即可)
下载并解压缩后,目录中有各种不同操作系统的版本:
(Unamed Engine) 那里随便定义选手名,可以写成Leela Zero或者任何你喜欢的名称,例如:我的私人狗狗
然后点击Path图标,选中上一个步骤中安装的LeelaSabaki软件的执行文件。
下面的No arguments那里,写上运行参数,默认可以是这样的:
--heatmap [安装Leela Zero的完整路径]/src/leelaz -w [安装Leela Zero的完整路径]/best-network --playouts 100 --noponder
注意:
[安装Leela Zero的完整路径] 要替换成你本地安装LZ的真实路径。
其中的参数都可以修改,例如:
--heatmap 代表显示下一步棋可能选点的热图。如果你不希望显示热图,可以去掉该参数。
--playouts 大致可以理解成演算的深度,数字越低则AI的水平也较低,需要配合noponder参数一起使用。
--noponder 代表不占用对手的时间进行思考。
详细的参数列表可以参考Leela Zero的项目中页中的介绍。
以上步骤都完成之后,就可以打开Sabaki软件进行人机对弈了!
具体方法是,打开Sabaki软件后,点击右上方的Engines菜单下的Attach…项目