KataGo

KataGo
原作者David J. Wu[1]
開發者David J. Wu
初始版本2019年2月27日2019-02-27[2]
穩定版本
1.8.0
(2021年1月14日2021-01-14[2]
源代码库github.com/lightvector/KataGo
编程语言C++Python
类型電腦圍棋
许可协议MIT許可證
网站github.com/lightvector/KataGo
KataGo Server
原作者David J. Wu and Tycho Tatitscheff[3]
開發者David J. Wu and Tycho Tatitscheff
初始版本2020年11月8日2020-11-08[4]
穩定版本
v0.9
(2020年12月14日2020-12-14[5]
源代码库github.com/katago/katago-server
编程语言Python
类型電腦圍棋
许可协议MIT許可證
网站katagotraining.org

KataGo是由David J. Wu(lightvector)所研究並開發的一套圍棋軟體

簡介

KataGo是David J. Wu依照DeepMindAlphaGo ZeroAlphaZero論文為基礎[6],以及許多在DeepMind論文之後的相關研究及原創的研究,大幅改善了訓練速度(超過50倍[7]:1[1],也因此搭配所釋出訓練網路資料,成為目前世界上最強的電腦圍棋軟體之一。

KataGo所實做的電腦圍棋程式包括了[1]

  • 自我對弈訓練的程式(使用C++Python 3與TensorFlow實做)
  • 可以透過軟體操作的GTP引擎(使用C++實做)

另外由Jane Street Capital(作者所在的公司)提供運算所需資源外,也公開釋出訓練的成果(訓練網路資料)[1]

KataGo因豐富的分析能力,被用在圍棋線上分析網站AI Sensei作為預設的分析引擎[8]

差異

AlphaZero

除了開放原始碼與開放資料以外,KataGo與AlphaZero主要差異在於透過研究大幅降低了初期自我訓練的成本[7],使得一般家用的高階電腦可以在數天內,從零訓練出一個具有中高段水準的業餘高手水準的訓練網路[1]

Leela Zero

KataGo與Leela Zero的主要差異在於,KataGo的GTP引擎支援了kata-analyze指令,可以讓前端的程式(像是Lizzie)取得KataGo的目數分析,這可以輔助人類棋手判斷,減輕讓子棋中黑棋不會下出最好的選擇的問題[1]

另外一個差異是KataGo同時支援OpenCL(自v1.2支援[9])與CUDA[1](在OpenCL上,最新版本做了優化,不再是CUDA版本快數倍,而是兩個版本相差無幾),但Leela Zero只支援OpenCL[10]

強度

第一個版本

權重代號版本註解訓練長度(天)Elo
b6c96-s103408384-d26419149v1.06x96權重--
b10c128-s101899520-d6073466310x128權重--
b15c192-s279618816-d16499002215x192權重--

第一個版本(編號g65,v1.0)是在2019年二月使用35顆NVIDIA Tesla V100訓練7天,從6 blocks x 96 filters訓練到15 blocks x 192 filters[11],棋力大約與LZ130(Leela Zero的第130代)相符[12],大約是超越人類的強度[1]

第二個版本

權重代號版本註解訓練長度(天)Elo
g104-b6c96-s97778688-d23397744v1.1最後一個6x96權重0.75-1146
g104-b10c128-s110887936-d54937276最後一個10x128權重1.75-476
g104-b15c192-s297383936-d140330251最後一個15x192權重7.5327
g104-b20c256-s447913472-d241840887最後一個20x256權重19908

第二個版本(編號g104,v1.1)是在2019年五月與六月使用28顆NVIDIA Tesla V100訓練,從6 blocks x 96 filters訓練到20 blocks x 256 filters[13],由於大幅改善了超參數(),只使用了3.5天就超越第一版的棋力[1][14],另外引入了LCB(英語:)大幅提昇了棋力[14]。最後訓練了19天產生出20 blocks的版本,棋力超越了LZ-ELFv2(ELF OpenGo的v2權重配上Leela Zero的程式),另外與Leela Zero 40 blocks版本的比較,大約落在LZ200的棋力[1]

第三個版本

權重代號版本註解訓練長度(天)Elo
g170-b6c96-s175395328-d26788732最後一個6x96的權重0.75-1184
g170-b10c128-s197428736-d67404019最後一個10x128的權重1.75-280
g170e-b10c128-s1141046784-d204142634v1.3延伸再訓練10x128的權重-300
g170-b20c256x2-s668214784-d22225571420x256的權重15.5959
g170-b15c192-s497233664-d14963834515x192的權重7.5512
g170-b20c256x2-s1039565568-d285739972v1.3.120x256的權重21.51073
g170e-b15c192-s1305382144-d335919935v1.3.1-nets延伸訓練15x192的權重-867
g170-b20c256x2-s1420141824-d35096903320x256的權重27.51176
g170e-b15c192-s1672170752-d466197061v1.3.2延伸訓練15x192的權重-935
g170-b20c256x2-s1913382912-d43545033120x256的權重35.51269
g170-b20c256x2-s2107843328-d46861794920x256的權重38.51293
g170e-b20c256x2-s2430231552-d525879064v1.3.320x256的權重47.51346
g170-b30c320x2-s1287828224-d52592906430x320的權重47.51412
g170-b40c256x2-s1349368064-d52433253740x256的權重471406
g170e-b20c256x2-s2971705856-d633407024v1.3.3-nets20x256的權重64.51413
g170-b30c320x2-s1840604672-d63348202430x320的權重1524
g170-b40c256x2-s1929311744-d63313202440x256的權重1510
g170e-b20c256x2-s3354994176-d716845198v1.3.420x256的權重781455
g170-b30c320x2-s2271129088-d71697089730x320的權重1551
g170-b40c256x2-s2383550464-d71662899740x256的權重1554
g170e-b20c256x2-s3761649408-d809581368v1.3.5-nets20x256的權重921513
g170-b30c320x2-s2846858752-d82986571930x320的權重961619
g170-b40c256x2-s2990766336-d83071253140x256的權重1613
g170e-b20c256x2-s4384473088-d968438914v1.4.020x256的權重1171529
g170-b30c320x2-s3530176512-d96846391430x320的權重1643
g170-b40c256x2-s3708042240-d96797322040x256的權重1687
g170e-b20c256x2-s4667204096-d104547920720x256的權重(實驗性)1291561
g170-b30c320x2-s3910534144-d104571292630x320的權重(實驗性)1651
g170-b40c256x2-s4120339456-d104588269740x256的權重(實驗性)1698
g170e-b20c256x2-s4842585088-d109143383820x256的權重(實驗性)136.51547
g170-b30c320x2-s4141693952-d109107154930x320的權重(實驗性)1653
g170-b40c256x2-s4368856832-d109119009940x256的權重(實驗性)1680
g170e-b20c256x2-s5055114240-d1149032340v1.4.2-nets20x256的權重(實驗性[註 1]145.51539
g170-b30c320x2-s4432082944-d114989521730x320的權重(實驗性[註 1]1648
g170-b40c256x2-s4679779328-d114990922640x256的權重(實驗性[註 1]1690
g170e-b20c256x2-s5132547840-d117769508620x256的權重1501577
g170-b30c320x2-s4574191104-d117868158630x320的權重1759
g170-b40c256x2-s4833666560-d117905920640x256的權重1788
g170e-b20c256x2-s5303129600-d1228401921v1.4.520x256的權重1571645
g170-b30c320x2-s4824661760-d122953669930x320的權重1908
g170-b40c256x2-s5095420928-d122942512440x256的權重1919

第三個版本的訓練一開始使用29個GPU,到第14天後增加為37個GPU,再24天後(38天)增加為47個GPU[1]

自v1.5.0[16]開始支援純CPU運算(使用Eigen函式庫)。並自v1.8.0版開始支援分佈式訓練,允許全球的用家訓練為作者訓練權重。

相關連結

參考資料

  1. . [2020-01-01]. (原始内容存档于2021-01-14).
  2. . [2020-01-01]. (原始内容存档于2021-01-26) (英语).
  3. . [2021-01-14]. (原始内容存档于2020-11-19).
  4. . [2021-01-14]. (原始内容存档于2020-11-19) (英语).
  5. . [2020-01-14]. (原始内容存档于2020-11-19) (英语).
  6. . 2019-02-28 [2020-01-01]. (原始内容存档于2020-11-07) (英语).
  7. David J. Wu. . 2020. arXiv:1902.10565v4 [cs.LG].
  8. . [2020-01-14]. (原始内容存档于2020-10-30) (英语).
  9. . 2019-07-20 [2020-05-12]. (原始内容存档于2020-10-30) (英语).
  10. . [2020-01-02]. (原始内容存档于2021-01-06) (英语).
  11. . [2020-01-01]. (原始内容存档于2020-01-01).
  12. . 2019-02-27 [2020-01-14]. (原始内容存档于2020-10-30) (英语).
  13. . [2020-01-01]. (原始内容存档于2020-01-01).
  14. . 2019-06-18 [2020-01-14]. (原始内容存档于2020-10-30) (英语).
  15. . 2020-06-06 [2020-06-07]. (原始内容存档于2020-10-30) (英语).
  16. . 2020-08-02 [2020-08-26]. (原始内容存档于2020-10-30) (英语).

註解

  1. 實驗性質,加入了人類的棋譜,未必會比v1.4.0所提供的網路強。[15]

外部連結

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.