KataGo 是由David J. Wu(lightvector)所研究並開發的一套圍棋軟體 。
簡介
KataGo是David J. Wu依照DeepMind 的AlphaGo Zero 與AlphaZero 論文為基礎[ 6] ,以及許多在DeepMind論文之後的相關研究及原創的研究,大幅改善了訓練速度(超過50倍[ 7] :1 )[ 1] ,也因此搭配所釋出訓練網路資料,成為目前世界上最強的電腦圍棋軟體之一。
KataGo所實做的電腦圍棋程式包括了[ 1] :
另外由Jane Street Capital (作者所在的公司)提供運算所需資源外,也公開釋出訓練的成果(訓練網路資料)[ 1] 。
KataGo因豐富的分析能力,被用在圍棋線上分析網站AI Sensei作為預設的分析引擎[ 8] 。
“KataGo”这个名字来源于日语 单词“かた (kata )”(类型 )[ 9] 。目前,即使在英语 中,武道 的形式也被称为“kata”。作者 lightvector (David J. Wu) 表示,它作为一个通过强化学习永久训练自己并旨在完成自己的形式的人工智能 的名称似乎是合理的。
差異
AlphaZero
除了開放原始碼與開放資料以外,KataGo與AlphaZero 主要差異在於透過研究大幅降低了初期自我訓練的成本[ 7] ,使得一般家用的高階電腦可以在數天內,從零訓練出一個具有中高段水準的業餘高手水準的訓練網路[ 1] 。
Leela Zero
KataGo與Leela Zero 的主要差異在於,KataGo的GTP 引擎支援了kata-analyze
指令,可以讓前端的程式(像是Lizzie )取得KataGo的目數分析,這可以輔助人類棋手判斷,減輕讓子棋中黑棋不會下出最好的選擇的問題[ 1] 。
另外一個差異是KataGo同時支援OpenCL (自v1.2
支援[ 10] )與CUDA [ 1] (在OpenCL上,最新版本做了優化,不再是CUDA版本快數倍,而是兩個版本相差無幾),但Leela Zero只支援OpenCL[ 11] 。
強度
第一個版本
第一個版本(編號g65,v1.0
)是在2019年二月使用35顆NVIDIA Tesla V100訓練7天,從6 blocks x 96 filters訓練到15 blocks x 192 filters[ 12] ,棋力大約與LZ130(Leela Zero 的第130代)相符[ 13] ,大約是超越人類的強度[ 1] 。
權重代號
版本
註解
訓練長度(天)
Elo
b6c96-s103408384-d26419149
v1.0
6x96權重
-
-
b10c128-s101899520-d60734663
10x128權重
-
-
b15c192-s279618816-d164990022
15x192權重
-
-
第二個版本
第二個版本(編號g104,v1.1
)是在2019年五月與六月使用28顆NVIDIA Tesla V100訓練,從6 blocks x 96 filters訓練到20 blocks x 256 filters[ 14] ,由於大幅改善了超參數(hyperparameters ),只使用了3.5天就超越第一版的棋力[ 1] [ 15] ,另外引入了LCB(英語:Lower confidence bound )大幅提昇了棋力[ 15] 。最後訓練了19天產生出20 blocks的版本,棋力超越了LZ-ELFv2(ELF OpenGo 的v2權重配上Leela Zero 的程式),另外與Leela Zero 40 blocks版本的比較,大約落在LZ200的棋力[ 1] 。
權重代號
版本
註解
訓練長度(天)
Elo
g104-b6c96-s97778688-d23397744
v1.1
最後一個6x96權重
0.75
-1146
g104-b10c128-s110887936-d54937276
最後一個10x128權重
1.75
-476
g104-b15c192-s297383936-d140330251
最後一個15x192權重
7.5
327
g104-b20c256-s447913472-d241840887
最後一個20x256權重
19
908
第三個版本
第三個版本的訓練一開始使用29個GPU ,到第14天後增加為37個GPU,再24天後(38天)增加為47個GPU[ 1] 。
自v1.5.0[ 16] 開始支援純CPU運算(使用Eigen 函式庫)。並自v1.8.0版開始支援分散式訓練,允許全球的使用者一起訓練權重。
權重代號
版本
註解
訓練長度(天)
Elo
g170-b6c96-s175395328-d26788732
最後一個6x96的權重
0.75
-1184
g170-b10c128-s197428736-d67404019
最後一個10x128的權重
1.75
-280
g170e-b10c128-s1141046784-d204142634
v1.3
延伸再訓練10x128的權重
-
300
g170-b20c256x2-s668214784-d222255714
20x256的權重
15.5
959
g170-b15c192-s497233664-d149638345
15x192的權重
7.5
512
g170-b20c256x2-s1039565568-d285739972
v1.3.1
20x256的權重
21.5
1073
g170e-b15c192-s1305382144-d335919935
v1.3.1-nets
延伸訓練15x192的權重
-
867
g170-b20c256x2-s1420141824-d350969033
20x256的權重
27.5
1176
g170e-b15c192-s1672170752-d466197061
v1.3.2
延伸訓練15x192的權重
-
935
g170-b20c256x2-s1913382912-d435450331
20x256的權重
35.5
1269
g170-b20c256x2-s2107843328-d468617949
20x256的權重
38.5
1293
g170e-b20c256x2-s2430231552-d525879064
v1.3.3
20x256的權重
47.5
1346
g170-b30c320x2-s1287828224-d525929064
30x320的權重
47.5
1412
g170-b40c256x2-s1349368064-d524332537
40x256的權重
47
1406
g170e-b20c256x2-s2971705856-d633407024
v1.3.3-nets
20x256的權重
64.5
1413
g170-b30c320x2-s1840604672-d633482024
30x320的權重
1524
g170-b40c256x2-s1929311744-d633132024
40x256的權重
1510
g170e-b20c256x2-s3354994176-d716845198
v1.3.4
20x256的權重
78
1455
g170-b30c320x2-s2271129088-d716970897
30x320的權重
1551
g170-b40c256x2-s2383550464-d716628997
40x256的權重
1554
g170e-b20c256x2-s3761649408-d809581368
v1.3.5-nets
20x256的權重
92
1513
g170-b30c320x2-s2846858752-d829865719
30x320的權重
96
1619
g170-b40c256x2-s2990766336-d830712531
40x256的權重
1613
g170e-b20c256x2-s4384473088-d968438914
v1.4.0
20x256的權重
117
1529
g170-b30c320x2-s3530176512-d968463914
30x320的權重
1643
g170-b40c256x2-s3708042240-d967973220
40x256的權重
1687
g170e-b20c256x2-s4667204096-d1045479207
20x256的權重(實驗性)
129
1561
g170-b30c320x2-s3910534144-d1045712926
30x320的權重(實驗性)
1651
g170-b40c256x2-s4120339456-d1045882697
40x256的權重(實驗性)
1698
g170e-b20c256x2-s4842585088-d1091433838
20x256的權重(實驗性)
136.5
1547
g170-b30c320x2-s4141693952-d1091071549
30x320的權重(實驗性)
1653
g170-b40c256x2-s4368856832-d1091190099
40x256的權重(實驗性)
1680
g170e-b20c256x2-s5055114240-d1149032340
v1.4.2-nets
20x256的權重(實驗性[ 註 1] )
145.5
1539
g170-b30c320x2-s4432082944-d1149895217
30x320的權重(實驗性[ 註 1] )
1648
g170-b40c256x2-s4679779328-d1149909226
40x256的權重(實驗性[ 註 1] )
1690
g170e-b20c256x2-s5132547840-d1177695086
20x256的權重
150
1577
g170-b30c320x2-s4574191104-d1178681586
30x320的權重
1759
g170-b40c256x2-s4833666560-d1179059206
40x256的權重
1788
g170e-b20c256x2-s5303129600-d1228401921
v1.4.5
20x256的權重
157
1645
g170-b30c320x2-s4824661760-d1229536699
30x320的權重
1908
g170-b40c256x2-s5095420928-d1229425124
40x256的權重
1919
相關連結
參考資料
註解
外部連結