教育你的狗勾:如何提高本地katago棋力
? ? ? ?上期專欄已經(jīng)交過如何安裝katago。但安裝完有時會發(fā)現(xiàn)狗子又卡又慢,斗狗或者下讓子棋的時候棋力也沒有想象中厲害。這里教大家如何調(diào)整katago的參數(shù),以及選擇合適的引擎,權(quán)重,讓你的katago從修√變藏獒


引擎選擇
? ? ? ?首先,從引擎文件的選擇上,如果想追求計算速度,請選擇trt版本的引擎,在某些顯卡上比ocl能快2.5甚至1倍多。(下載地址及版本所需條件請看上一期)最近katago剛剛更新了1.12版本,trt的速度比以前快上不少。注意:只有20系及以上的N卡才支持tensorrt。
? ? ? ? 如果你的引擎慢的夸張(比如只有幾十或者100多v/s),打開性能監(jiān)視器看看運行katago時顯卡會不會發(fā)熱,是不是下成cpu版的了。核顯下載的應該是ocl版的而不是cpu的。


權(quán)重選擇
正如katagotraining網(wǎng)站所言
? ? Elo ratings are approximate and are *not* necessarily comparable to the Elos from any other bot or run. Uncertainty radius displayed is approximately two sigmas.
就是權(quán)重后的elo評分作為不大能作為實力的比較。對于斗狗需求的人來說,首先推薦在下載引擎的頁面附帶的18b權(quán)重。

對于權(quán)重的選擇有幾個誤區(qū):
新權(quán)重不一定比老權(quán)重弱,這里的“新老”指權(quán)重推出的時間。比如,新出的b60權(quán)重實力十分不穩(wěn)定。
權(quán)重中的“b”代表區(qū)塊數(shù),和實力并沒有直接的關系。但“b”數(shù)子越大,同等配置計算速度就會越慢。
除了倒數(shù)的幾個權(quán)重以外,其他權(quán)重分先都可以在分先的規(guī)則下碾壓所有人類。但是較高的權(quán)重在讓子棋表現(xiàn)并不理想。
根據(jù)在野狐測試和自己測試的經(jīng)驗,20B到40B在較高的PDA下比較適合下讓子棋。而40B和18B權(quán)重分先表現(xiàn)較好。如果沒有較高的配置,60B權(quán)重會因為計算速度慢的原因表現(xiàn)得不穩(wěn)定。

調(diào)參數(shù)
到重點了,調(diào)節(jié)參數(shù)可以改變ai在連接野狐圍棋時的下法,不同參數(shù)對棋力的影響也非常大。頭疼的是,原版下下來的參數(shù)文件只能說是又臭又長,一堆英文既看不懂又找不到。于是我把需要用到的參數(shù)收錄到這,更改時用記事本或者Word直接打開,查找即可。

更改時,把英文前面的#去掉,改后面的數(shù)字或者true,false
固態(tài)pda
PDA就是所謂的激進度,ai會把對手看的比較“弱”,下一些過分手。適合讓子棋開,分先別開。正數(shù)為激進,負數(shù)為保守。
playoutDoublingAdvantage = -3到3的一個數(shù)子
動態(tài) pda:在局面不同下自動調(diào)整pda
dynamicPlayoutDoublingAdvantageCapPerOppLead = 填個 0.0幾的數(shù)字
開局角部不重復度:開不開都行,分先別開。
avoidRepeatedPatternUtility = 0.0幾的數(shù)字
maxVisits = 數(shù)字??,?對手落子后的最大計算量,達到這個數(shù)字就落子,想秒拍就把這個填小一點
maxTime =數(shù)字? ,對手落子后思考的時間,達到這個時間就落子,單位秒
ponderingEnabled =?true或者false,?后臺思考設置,對手在想的時候AI也計算。想啟用的寫成換成 true
maxTimePondering = 數(shù)字 ,后臺思考的最長時間,以秒為單位。但有達到最大計算量就不算了。
ogsChatToStderr = true 寫成true讓野狐的gtpshell顯示勝率等信息。

另補充上一篇野狐gtp一閃就斷的問題,在命令行那一欄里要填寫完整的路徑,不能只填文件名。

改搜索線程
不同的權(quán)重,引擎,配置的最佳搜索線程都不同,因此,建議新建多個參數(shù)文件對應不同的權(quán)重和引擎。
用法:打開cmd,輸入:{引擎文件路徑} benchmark -model?{權(quán)重文件路徑}? -config{參數(shù)文件路徑} -v{每個線程測試的計算量,時間允許盡量大點}
然后引擎就會自動測試出最適合的線程數(shù),記得在對應的參數(shù)文件里更改。
numSearchthread = 線程數(shù)


這樣改完棋力可以增加200多elo,搜索也更快了。

以上是本期全部內(nèi)容,有相關問題可以私信up。謝謝關注喵