創作內容

0 GP

算棋的 Benchmark (Part 3)

作者:needgem│2017-09-24 09:52:34│巴幣:0│人氣:101
最近發生諸多事項... 所以這邊就延遲了 (默)

首先, 這個 Benchmark 限制深度,
但是搜尋節點數只有單執行緒的時候能夠確保
每次 bench 在一樣的深度得到一樣多的搜尋節點數.
多執行緒並用時, 在同一個 YaneuraOu 執行時間跑好幾次 bench 的平均結果,
和多次開啟 YaneuraOu 執行同一種 bench 的平均結果,
可能存在差距. 此差距對於 tournament 版尤其明顯,
詳情可以參考已公開的評測資訊.
主要是對於 tournament 版本, 在同一個程式執行中
第一次 bench 大約比第二次以後 bench 慢了一些.
目前採取的仍然是四次的平均值當作文章中的列表.

而在使用多執行緒時, 每次 bench 的搜尋節點數可能有所不同.
在深度變得更深的時候, 往往會造成計算節點數的明顯差距.
這部份應該會另行說明 (Part 小數點的番外篇可能)

接著, 針對於 YaneuraOu 的評測局面,
在探尋使用其他盤面當 benchmark 的可能性.
原本認為使用序中盤的難所就應該可以獲得比較穩定的結果,
接著是考慮初手是被王手限定應手的局面,
然而不論走哪一手都還距離被將死很遠的狀況.
最後在發現使用 YaneuraOu 預設評測局面時,
搜尋深度到達 23 就必須搜尋超過一千億個節點以後,
才理解到終盤互角局面可能才是真正的 nps 壓力測試.

可是之前的中盤難所和王手限定還是有可能在多次評測中出現不同的第一候選手
(當 MultiPV > 1, 且深度沒有到達足以解盤的時候)
也許這邊就是電王戰真正的精細度和勝負所在了.
對於將棋這類遊戲需要有精準的把對方將死的方法的遊戲,
這個感覺不太可能輕易的使用 Reinforcement learning + Deep learning 解決,
始終還是認為這是將棋象棋等等跟圍棋最大的不同點.

所以承上回, 原先的進度狀況...

1. Tournament 跟一般版的差距. (Part2 已完成)
2. AVX2 和 SSE4.2 的差距. (需要可使用 AVX2 的 CPU) (Part5 預定)
3. 評估參數的差距: ShinYane/elmo/relmo8/yaselmo 預定. (Part3 本文預定)
4. MultiPV 的差距: MultiPV > 1 的時候, 單執行緒為 bench 1024 1, 多執行緒為 bench 4096 #t , 不考慮使用更深的深度的原因已經寫在爆增的記憶體需求當中. (Part4 預定)
5. Windows vs Linux: 除了本來就裝了 linux 的機器以外, i7-6700hq 雙系統, 其他的如果可以臨機, 就可以使用 linux live stick 測試 linux 環境下的表現. (Part6 預定)

多執行緒的部份皆因為前面提到的問題,
導致算好的結果需要進一步驗證,
所以目前只有單執行緒的版本可以繼續整理之前的結果寫出來.

以下是使用不同的評估參數, 不同的 CPU 上面最好的版本的單執行緒評測結果.
在此使用的評估參數總共有以下四種:
ShinYane (真王, 20161010), elmo (20170127), relmo8 ((re0 epoch8 + elmo) / 2), yaselmo (20170705).

CPU kNPS clock Yane version Eval OS
i7-720qm 418 1.6Ghz T 2.8Ghz 4.77 64SSE4.2 ShinYane Win 10 Pro
i3-3220 555 3.3Ghz 4.77 64SSE4.2 ShinYane Win 10 Ent
i7-2600 790 3.4Ghz 4.77 64SSE4.2 T ShinYane Xubuntu 16.04.3
FX-8320 403 3.5Ghz T 4.0Ghz 4.77 64SSE4.2 ShinYane Win 10 Pro
i5-7200U 825 2.5Ghz T 3.1Ghz 4.77 64AVX2 T ShinYane Win 10 Pro
i7-6700hq 926 2.6Ghz T 3.5Ghz 4.77 64AVX2 T ShinYane Win 10 Home
E5-2680 723 2.7Ghz T 3.5Ghz 4.77 64SSE4.2 T ShinYane Ubuntu 16.04.3
i7-720qm 423 1.6Ghz T 2.8Ghz 4.77 64SSE4.2 elmo Win 10 Pro
i3-3220 564 3.3Ghz 4.77 64SSE4.2 elmo Win 10 Ent
i7-2600 812 3.4Ghz 4.77 64SSE4.2 T elmo Xubuntu 16.04.3
FX-8320 388 3.5Ghz T 4.0Ghz 4.77 64SSE4.2 elmo Win 10 Pro
i5-7200U 880 2.5Ghz T 3.1Ghz 4.77 64AVX2 T elmo Win 10 Pro
i7-6700hq 961 2.6Ghz T 3.5Ghz 4.77 64AVX2 T elmo Win 10 Home
E5-2680 742 2.7Ghz T 3.5Ghz 4.77 64SSE4.2 T elmo Ubuntu 16.04.3
i7-720qm 423 1.6Ghz T 2.8Ghz 4.77 64SSE4.2 relmo8 Win 10 Pro
i3-3220 562 3.3Ghz 4.77 64SSE4.2 relmo8 Win 10 Ent
i7-2600 694 3.4Ghz 4.77 64SSE4.2 T relmo8 Xubuntu 16.04.3
FX-8320 400 3.5Ghz T 4.0Ghz 4.77 64SSE4.2 relmo8 Win 10 Pro
i5-7200U 894 2.5Ghz T 3.1Ghz 4.77 64AVX2 T relmo8 Win 10 Pro
i7-6700hq 1040 2.6Ghz T 3.5Ghz 4.77 64AVX2 T relmo8 Win 10 Home
E5-2680 652 2.7Ghz T 3.5Ghz 4.77 64SSE4.2 T relmo8 Ubuntu 16.04.3
i7-720qm 391 1.6Ghz T 2.8Ghz 4.77 64SSE4.2 yaselmo Win 10 Pro
i3-3220 519 3.3Ghz 4.77 64SSE4.2 yaselmo Win 10 Ent
i7-2600 724 3.4Ghz 4.77 64SSE4.2 T yaselmo Xubuntu 16.04.3
FX-8320 376 3.5Ghz T 4.0Ghz 4.77 64SSE4.2 yaselmo Win 10 Pro
i5-7200U 972 2.5Ghz T 3.1Ghz 4.77 64AVX2 T yaselmo Win 10 Pro
i7-6700hq 970 2.6Ghz T 3.5Ghz 4.77 64AVX2 T yaselmo Win 10 Home
E5-2680 663 2.7Ghz T 3.5Ghz 4.77 64SSE4.2 T yaselmo Ubuntu 16.04.3

因故未能放上使用多執行緒版本尚請見諒.
4.77 版其實除了對於 MultiPV > 1 的評測穩定度大幅改善以外,
也稍微讓 SSE4.2 版本的程式加速了少許.
不過對於這些已經練過不知道幾百幾千億局的評估參數而言,
不同的評估參數影響效率較為有限, 最大可能誤差略為超過 10%.

(多執行緒時每次 bench 的計算節點數量誤差甚至在自定譜曾經高達一倍,
這樣測出來的速度就有可能出現顯著差異)
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=3732781
Some rights reserved. 姓名標示-非商業性 2.5 台灣

相關創作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

喜歡★needgem 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:算棋的 Benchmar...

追蹤私訊切換新版閱覽

作品資料夾

aaa1357932大家
各位有空可以來我家看看畫作或聽聽我的全創作專輯!看更多我要大聲說昨天15:15


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】