跳至內容

LeelaZero

出自Taiwan Tongues 台語維基
於 2025年8月22日 (五) 18:21 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

Leela Zero是由比利時程式設計師 Gian-Carlo Pascutto 起頭所開發的電腦圍棋軟體,以及相關的運算計畫。專案佇二空二一年二月十五已經中止,並且推薦改參與 SAI 佮 KataGo。

簡介

Leela Zero 是依照 DeepMind 佇科學期刊《自然》頂懸對 AlphaGo Zero 所發表的論文《Mastering the game of Go without human knowledge》所實在做出來的開源電腦圍棋程式,也就是無咧使用人類棋譜佮累積的圍棋智識,干焦實在做圍棋規則,使用單一類神經網路對自我對弈中學習(無成 AlphaGo 以人類的角度思考,設計矣 Policy Network 佮 Value Network)。

軟體使用蒙特卡洛樹撨揣(MCTS)類比佮 ResNet,佇咧蒙特卡洛樹搜揣類比佮自我訓練的時陣攏採用 Tromp–Taylor 規則,這个規則的貼目雖然佮中國規則相仝,攏是由烏棋貼七堵五目,毋過佇某一寡情境下可能會有差。

程式碼部份,使用者捀對弈的程式碼佮訓練的程式碼以 GPLv 授權公開,分散式運算的侍服器端程式是以 AGPLv 授權公開;資料的部份,訓練對跋筊資料佮訓練對跋筊的原始資料嘛會當公開落載。

佮論文的差別

初期的時 Leela Zero 佇確認演算法佮程式敢有影做正確,所以對論文內底講著的部份參數進行調整,以加快驗證的速度:

類神經網路的架構

AlphaGo Zero 使用二十 blocks 抑是四十 blocks,配上兩百五十六 filters。


Leela Zero 是每一步提昇類神經網路的大細(佇近期的版本開始使用 Net 二 Net,共舊的網路的資料轉換去新的網路頂懸), 一開始使用
  • 一 block x 八 filters(二空一七年十一月十號,第空代), 並且慢慢仔換做
  • 四 blocks x 三十二 filter(二空一七年十一月十七,第二代,訓練差不多一鋪九萬盤的時陣)、
  • 五 blocks x 六十四 filters(二空一七年十一月二一,第五代,大約十三鋪七萬盤的時陣)、
  • 六 blocks x 一百二十八 filters(二空一八年一月二十日,第五十八代,大約兩百八十六萬盤的時陣)、
  • 十 blocks x 一百二十八 filters(二空一八年三月初五,第九十二代,大約四百八十一萬盤的時陣)、
  • 十五 blocks x 一百九十二 filters(二空一八年四月九號,第一百十七代,大約六百六十四萬盤的時陣)、
  • 二十 blocks x 兩百五十六 filters(二空一八年七月二八,第一百五十八代,大約八百七十二萬盤的時陣), 到目前使用的
  • 四十 blocks x 兩百五十六 filters(二空一八年九月初四,第一百七十四代,九百九十七萬盤的時陣)。

自我對戰訓練的盤數

AlphaGo Zero 使用上新的五十萬盤訓練。


Leela Zero 咧十 blocks 前(無含十 blocks)使用上新的二十五萬盤自我對戰結果訓練(佇二空一八年一月一號前因為有 bug,致使干焦會當用上新的(約)十六萬盤自我對戰結果進行訓練), 咧十 blocks x 一百二十八 filters 後改用上新的五十萬盤自我對戰結果訓練。

蒙特卡洛樹搜揣(MCTS)的類比的次數

AlphaGo Zero 佇論文內底講著自我訓練抑是正式對弈的時陣,每一步攏是使用一千六百擺類比。


Leela Zero 一開始使用佮 AlphaGo Zero 的論文相仝的一千六百改,但尾仔改甲三千兩百改。

遮的調整是希望佇咧較細的網路佮訓練盤數下快速確認程式的正確性。佇每一个階段確認無重大問題以及 bug 後會重新評估調昇,並且正式公開向社群尋求運算資源。

另外作者發現佇原論文內底有瑕疵:論文內底的第一重輸入只有十七个,會致使白棋較會看著棋盤墘仔(指類神經網路), 這佇咧 Leela Zero 內予人修正為十八个。

目標

早期 Leela Zero 拄仔出來的時陣,Gian-Carlo Pascutto 的目標是重製 AlphaGo Zero 的論文結果。佇後來受著閣較濟關注了後,有閣較濟計算資源佮人力投入 Leela Zero 計畫之中,予得 Leela Zero 的強度快速提昇,甚至已經超越進前開發的 Leela 以及其他的對手。

這馬的目標是向望咧行動電話也會當有真強的圍棋軟體會當使用。

訓練

因為作者估算用彼時的高階硬體(以 Nvidia 的 GeForce GTX 一千空八十 Ti 估算)大約需要一七空空年的計算量才有法度達到 AlphaGo Zero 自我學兩千九百萬盤的愛平,所以佇二空一七年十一月開始,予家己的硬體使用,透過作者群開發的 AutoGTP 程式參加分散式運算計畫(以 GTP 自動佮侍服器溝通常會當取得計算工課):

  • 咧計畫啟動的三十四工了後(二空一七年十二月十三), 自我對弈的訓練量超過一百萬盤。
  • 五十九工後(二空一八年一月初八)超過兩百萬盤。
  • 七十四工以後(二空一八年一月二十三)超過三百萬盤。
  • 一百工後(二空一八年二月十八)超過四百萬盤。
  • 一百十九工後(二空一八年三月九號)超過五百萬盤。
  • 一百三十八工以後(二空一八年三月二八)超過六百萬盤。
  • 一百六十六工後(二空一八年四月二五)超過七百萬盤。
  • 兩百十八工以後(二空一八年六月十六)超過八百萬盤。
  • 兩百六十一工後(二空一八年七月二九)超過九百萬盤。
  • 兩百九十九工後(二空一八年九月初五)超過一千萬盤。

二空一八年初,志願者申請著超級電腦的部份計算資源,印第安納大學的 Big Red II(申請著三千三百六十 cores,約該台超級電腦的百分之十配七資源), 另外自零交一空版支援純 CPU 版本(無需要 GPU), 現有演算法的最佳化猶閣有新演算法的引入,遮的因素大幅提昇矣整體的計算速度。

Leela Zero 官方捌鼓勵參與者使用 Google Colaboratory 所提供的免費運算資源幫助訓練,毋過後來因為檔案內底操作部份經過的時陣無效果徙掉檔案。

佇咧二空一九年十一月的時陣,因為 Gian-Carlo Pascutto 個人時間的限制,加上最近的五十萬盤無捒進,而且其他的專案有袂䆀的前景(包括講 SAI 佮 KataGo), 宣佈先共訓練盤數加到七十五萬盤以確認是毋是到盡磅,並暫定佇二空二空年一月三十一日結束這擺長到兩年的訓練。

合作

Minigo

Minigo 仝款嘛是照 AlphaGo Zero 論文所獨立實做出來的軟體,而且 Minigo 專案取得 Google 贊助的計算資源,透過大量計算資源得著品質閣袂䆀的訓練網路資料。所以 Leela Zero 的團隊佮 Minigo 團隊因為雙方的經驗,討論參數的調整會當帶來的改善,佮雙方訓練資料共享的可能性。

ELF OpenGo

ELF OpenGo 是 Facebook 依照 AlphaGo Zero 佮 AlphaZero 所實做出來的軟體,因為 Facebook 使用大量的資源運算(使用兩千粒 GPU 計算兩禮拜)並且公開訓練網路的資料,Leela Zero 團隊會當共資料轉做 Leela Zero 會使使用的格式(Hash 足值為 ` 六十二 b 五千四百十七 b `), 閣進行分析。

Leela Zero 後來決定講將 ELF OpenGo 的資料濫入去自我對弈,佇二空一八年五月初七了後引入著 ELF OpenGo 的資料。

成績

CGOS

佇咧 CGOS(英語:Computer Go Server)上會有志願者共每一擺演化的版本掛上進行測試(十九 x 十九)以較佮其他的圍棋軟體的差距。

名稱

程式名稱會以 ` LZ ` 抑是 ` LeelaZero ` 之類的名稱號名。大概有幾个無仝的版本,親像使用訓練網路的 Hash 值為名(如 ` LZ-d 六 f 三 a 六-t 一-p 千六百 `), 抑是使用訓練世代的次數為名(如 ` LZ 板零-p 千六百-t 一-r 一 `)。

特例

有幾个特別的訓練網路毋是自我訓練產生,是透過人類頂尖棋手的對弈棋譜產生,用來做階段性的指標。

號做 ` LZ-HBest 一-t 一-p 千六百 ` 的數號是使用 Leela Zero 的程式加上以人類棋譜計算出的二十 blocks x 兩百五十六 filters 訓練網路所產生的版本(BayesElo 差不多兩千六百五十分)。

一个數號是 ` LZH 兩百五十六 x 二十-t 四-nolim `,嘛是使用二十 blocks x 兩百五十六 filters 訓練網路,但是以 CGOS 的時間限制,揣出 Leela Zero 的程式佮人類棋譜訓練的網路會當達成的上懸成績(BayesElo 差不多三千六百一十分)。

分數

另外因為 CGOS 會當任意註冊名稱,有的人會提較強的軟體摸飛混珠(就足使用的 Leela Zero), 所以 CGOS 頂頭的數據需要確認才有參考價值。佇咧 CGOS 上測試較完整的基準參數是 ` t 一-p 千六百 `(Thread 一、Playouts 千六百), 但目前(二空一八年四月)已經暫時無咧使用這參數測試練網路:

  • 佇咧 ` LZ-c 九十九 f 一 a-t 一-p 千六百 `(第三十六代,大約一百三十六萬盤的訓練)的 BayesElo 分數差不多千八百三十分,超越 CGOS 的分數基準 GNU Go(一千八百分), 猶毋過現此時嘿 GNU Go 的勝率是閣無懸。
  • 佇咧 ` LZ 九十七 dee-t 一-p 千六百 `(第四十一代,大約一百四十六萬盤的訓練)後壁會當穩定嘿 GNU Go 獲勝。現此時 BayesElo 分數差不多兩千分。
  • 佇咧 ` LZ-c 八十三 e 一 b-t 一-p 千六百 `(第五十七代,大約兩百六十六萬盤的訓練)的 BayesElo 分數差不多兩千四百八十分,這是最後一个五 blocks x 六十四 filters 的版本。
  • 佇咧 ` LZ-ed 二 c-t 一-p 千六百 `(第五十八代,大約兩百八十六萬盤的訓練)的 BayesElo 分數約兩千四百六十分,這是第一个六 blocks x 一百二十八 filters 的版本。
  • 佇咧 ` LZ 被五千七百七十三 f 四-t 一-p 千六百 `(第六十五代,差不多有三百十四萬盤的訓練)的 BayesElo 分數差不多兩千六百七十分,是第一个佇仝款執行參數下底,超越以人類棋譜訓練出的版本(即 ` LZ-HBest 一-t 一-p 千六百 ` 的兩千六百五十分)。

野狐圍棋

二空一七年十二月十六,貼啦上的志願者以 ` alphaleela ` 的數號佇野狐圍棋上開始咧測試,以快棋對弈為主,而且隨時更新為上新版的訓練網路。佇二空一七年十二月三十號(大約是百五萬盤的訓練)對級位升到一段,佇二空一八年三月初八(大約四百九十七萬盤的訓練)升到九段。

兩千空一十八世界人工智慧圍棋大賽

咧預賽取著第三名,干焦輸予 PhoenixGo 佮絕藝。

相關連結

  • AlphaGo Zero,Leela Zero 所參考的論文所實做的電腦圍棋軟體。
  • ELF OpenGo,由 Facebook 團隊照 AlphaGo Zero 論文所實做的開源電腦圍棋軟體,並將訓練的數據被 Leela Zero 團隊納入。
  • Leela,仝作者的頂代電腦圍棋軟體。
  • Minigo,另外一套開源電腦圍棋軟體。
  • SAI,改自 Leela Zero 毋過支援動態貼目的圍棋軟體。
  • 電腦圍棋
  • 圍棋軟體

參考資料

註解

外部連結

  • Leela Zero 的程式碼(英文)
  • Leela Zero,Leela Zero 的訓練狀態頁。(英文)
  • leela-zero eval ( 零 x 零 ) : Leela-Zero ( eval with more cross play )(英文)
  • Leela Zero on GitHub
  • Leela Zero on Sensei's Library
  • Play Leela Zero on ZBaduk