KataGo是由David J. Wu(lightvector)所研究并开发的一套围棋软件。
KataGo是David J. Wu依照DeepMind的AlphaGo Zero与AlphaZero论文为基础,以及许多在DeepMind论文之后的相关研究及原创的研究,大幅改善了训练速度(超过50倍:1),也因此搭配所发布训练网络资料,成为目前世界上最强的电脑围棋软件之一。
KataGo所实做的电脑围棋程序包括了:
另外由Jane Street Capital(英语:Jane Street Capital)(作者所在的公司)提供运算所需资源外,也公开发布训练的成果(训练网络资料)。
KataGo因丰富的分析能力,被用在围棋在线分析网站AI Sensei作为默认的分析引擎。
“KataGo”这个名字来源于日语单词“かた (kata)”(类型)。目前,即使在英语中,武道的形式也被称为“kata”。作者 lightvector (David J. Wu) 表示,它作为一个通过强化学习永久训练自己并旨在完成自己的形式的人工智能的名称似乎是合理的。
除了开放源代码与开放资料以外,KataGo与AlphaZero主要差异在于透过研究大幅降低了初期自我训练的成本,使得一般家用的高阶电脑可以在数天内,从零训练出一个具有中高段水准的业余高手水准的训练网络。
KataGo与Leela Zero的主要差异在于,KataGo的GTP引擎支持了kata-analyze
指令,可以让前端的程序(像是Lizzie)获取KataGo的目数分析,这可以辅助人类棋手判断,减轻让子棋中黑棋不会下出最好的选择的问题。
另外一个差异是KataGo同时支持OpenCL(自v1.2
支持)与CUDA(在OpenCL上,最新版本做了优化,不再是CUDA版本快数倍,而是两个版本相差无几),但Leela Zero只支持OpenCL。
第一个版本(编号g65,v1.0
)是在2019年二月使用35颗NVIDIA Tesla V100训练7天,从6 blocks x 96 filters训练到15 blocks x 192 filters,棋力大约与LZ130(Leela Zero的第130代)相符,大约是超越人类的强度。
第二个版本(编号g104,v1.1
)是在2019年五月与六月使用28颗NVIDIA Tesla V100训练,从6 blocks x 96 filters训练到20 blocks x 256 filters,由于大幅改善了超参数(hyperparameters),只使用了3.5天就超越第一版的棋力,另外引入了LCB(英语:Lower confidence bound)大幅提升了棋力。最后训练了19天产生出20 blocks的版本,棋力超越了LZ-ELFv2(ELF OpenGo的v2权重配上Leela Zero的程序),另外与Leela Zero 40 blocks版本的比较,大约落在LZ200的棋力。
第三个版本的训练一开始使用29个GPU,到第14天后增加为37个GPU,再24天后(38天)增加为47个GPU。
自v1.5.0开始支持纯CPU运算(使用Eigen(英语:Eigen (C++ library))库)。并自v1.8.0版开始支持分布式训练,允许全球的用户一起训练权重。