兩個圍棋AI引擎的自動對奕-RN vs. Leela

先前我都是自己手動叫出 Crazy Stone、Zen、Leela 等自帶的圍棋圖形界面,然後自己當「人肉臂」交互點子讓兩個圍棋AI對奕,參考先前寫的兩篇:
o 圍棋軟件間的對奕-Leela vs Zen6 @i7-GTX970 顯卡
o 圍棋軟件間的對弈-Crazy Stone Deep Learning vs Zen6

不過這種方式未免也太辛苦麻煩了。現在兩個知名具有深度學習 (deep learning)功能的免費或開源圍棋AI — Leela & RN,都具有在命令列模式下 (command mode)加載參數設定而得以達成自動對奕的功能。

除了圍棋AI引擎之外,還需要有個可以展現圍棋對奕的界面。對岸比較普遍使用的是「GoGui」,不過我覺得畫面很陽春。這裡我用了一直有在持續更新並且是開源 (open source)的「Sabaki」,界面漂亮太多了。
Sabaki Go


如何安裝? 其實並不困難。至上述 RN 與 Leela 的首頁上下載最新版本,注意 Leela 下載的是「Engine Only」,而 RN 則本就沒有自帶對奕界面。下載回來解壓縮至個別自行定義的資料夾即可。然後再下載那個 Sabaki,它有支援各種平台的版本,我是下載 Windows x64 版本,執行安裝即可。

安裝完成執行 Sabaki,叫出「Manage Engine」對話框,個別載入 RN & Leela 的執行檔,並加上適切的參數 (這裡就要參考個別圍棋AI引擎的說明檔並配合自己機器的硬體配置)。
Sabaki Go

然後在「Engine」選單下有個「Attach」選項,就可以適切載入並指定黑白雙方所使用的圍棋AI,當然也可以某一方是玩家個人與圍棋AI對奕。
Sabaki Go

照上述這樣的設定,我就實現了 RN4.20.4 vs. Leela 0.10.0 兩套圍棋AI的自動對奕。不過很奇怪,據對岸圍棋論壇棋友大都評論說 RN 比 Zen6 甚或 Leela 強上很多,但上圖持白棋的卻是 RN,從一開始就被吃掉一塊,可說是慘敗收場。

這應該是硬體配置與參數設定的問題。我目前的顯卡是 GTX970,只能算是中階顯卡,而且這兩套圍棋AI引擎均有支援 GPU 運算,對顯卡要求極高,所以同時要運行兩套不同的圍棋AI引擎,不知是否因為這樣而影響到棋力。

當然還有很重要的是各圍棋AI引擎參數設定的問題,我現在初始的參數設定是這樣 (我的 CPU 是 i7/2600 8線程),可能還要再持續調試看看。
RN:

--thread 8 --tree-size 262144 --reuse-subtree

Leela:

-g -t 8 -p 500000

明年初可能打算組裝一台全新的電腦,屆時顯卡就要購買更高規格的了。現在 GTX1080 要價2萬餘元,完全買不下去。就等明年再大幅降價後,為了能讓圍棋AI指導我,讓我棋力還有機會可以增長 (希望能成長到 野狐9D,目前7D),這投資還是需要且值得了囉。

延伸參考:
o [閒聊] 新版 rn-4.20.4 官網可下載
o 最新版RN的實力
o [閒聊] 介紹幾款棋力達到弈城9D的免費引擎(百度網友整理)
o Zen6的GTP程序第三版,改進選點策略

文章導覽

   

共有 3 則迴響

  1. 你好,同胞。怎样在命令行下直接运行rn围棋?
    比如ray –play b1 c3
    ray –genmove

  2. 您好,
    我照您的方式掛載了Leela與Rn,
    參數配置仿造您的,只將8改為4。
    但卻無法成功透過Sabaki對弈,
    一手未下便卡住了。
    不曉得您是否遇到過這問題?

    • 問題我解決了,
      是資料夾名稱中文路徑,以及Leela參數配置的問題。
      我似乎無法套用您的Leela參數配置。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *