Hallo Frank,
jetzt zu Deinen Fragen:
1. GPU Hardware:
In den Tests auf Discord, von Stefan Pohl und SSDF werden folgende Nvidia GPUs eingesetzt:
Discord: RTX 3060 bis 3080; High-End z.B. TCEC 4x3080
Stefan Pohl: RTX 2060:
https://www.sp-cc.de/view-sf-lc0-games.htmSSDF: 3060 ti :
https://ssdf.bosjo.net/Bei längeren Testsuites setzte ich mein Notebook mit 8/16 Kernen/Threads und einer RTX 3060m ein.
Die Leistungsunterschiede kann man ziemlich genau mit der jeweiligen Bedenkzeit normieren.
Hier ein Beispiel:
**Hardware:** AMD Ryzen 9 5900X CPU @ 3.70GHz, 12 cores, 64GB, gpu RTX 3080, 10GB
**Gauntlet:** SF-dev vs. LC0 384x30b nets
**Network IDs:** J94-100, 607646, 607831, 607892, 607925, 607971, 607996, 608059, 608112, 608169, 608207, 608242, 608285, 608326, 608363, 608405, 608446, 608497, 608551, 608604, 608653, 608703, 608744, 608795, 608856, 608904, 608960, 690013, 609051, 609085, 609119, 609146, 609169, 609188, 609202, 609288, 609288, 609471, 609524, 609626, 609677, 609722, 609833, 609841, 609953, 609958, 609969, 609973, 609996, 610016, 610024, 610031, 610034, 610035, 610038, 610044, 610053, 610093, 610110, 610161, 610221, 610357, 610363, 610366, 610369, 610428, 610566, 610792, 610889, 611090
**LC0-version:** v0.27.0
**LC0-options:** minibatch-size=112, MultiGather=true, _zz suffix for zz4032 tune <
https://discordapp.com/channels/425419482568196106/766262364949315614/911901584894615582>
**SF-version:** SF-dev 20120516
**SF-options:** 4 Threads, 512MB Hash
**Software:** Cutechess-CLI
**Time control:** LC0: 1,500 nodes/move, SF-dev: 500,000 nodes/move
**Book:** Chad's 8-ply book with 10000 positions, order=sequential
**Tablebases:** 6-men
**Adjudication:** -draw movenumber=50 movecount=5 score=8 -resign movecount=5 score=1000
**Ordo:** -a 0 -A "Stockfish.dev" -W -D -U "0,1,2,3,4,5,6,7,8,9,10" -s 2000 -n 1
**Comment:** The aim of the test is to order T60 nets. The order is considered sure with 99% CFS (a bit more than 5 Elo). CFS matrix and detailed results in 7z file.
```diff
# PLAYER : RATING ERROR POINTS PLAYED (%) CFS(%) W D L D(%)
1 lc0.net.610566_zz : 49.3 2.9
2 lc0.net.610792_zz : 49.1 2.9
3 lc0.net.609958_zz : 48.2 2.9
...
+ 26 lc0.net.611090 : 38.3 2.9 11061.5 20000 55 52 4820 12483 2697 62
...
73 Stockfish.dev : 0.0
White advantage = 55.34 +/- 0.18
Draw rate (equal opponents) = 65.01 % +/- 0.04
```
**PGN:**
Ein anderes Vorgehen ist, die Leistungsunterschiede zwischen GPU und CPU durch einheitliche kN/sec. auszugleichen.
Mit einer RTX 3070 liegt’s Du schon richtig. Vielleicht ist eine TTX 3060ti jedenfalls ausreichend und energiesparender.
2. Energieverbrauch:
75 Tage fast nonstop bei 100 - 300 Watt/Stunde, da kommt einiges an Stromkosten zusammen.
Durch das Tool nvidiainspector könnte man mit der Reduzierung von Volt und Taktfrequenz Strom sparen.
3. Netze
Du hast die Auswahl mit einem aktuell starken 30b oder einem 40b-Netz.
Tiefe gegen Genauigkeit.
Bei TCEC wird das Netz 610826 eingesetzt. Auf Discord auch das 40b Viren6-Netz 20000000.
hier:
https://github.com/Viren6/lc0/wiki/40B-NetJedenfalls liegen bei beiden Netze gute Testergebnisse gegen SF vor.
4. Engine-Parameter
Auch hier das Du auch eine Auswahl zwischen den default und den getunten Parameter.
Hier die getunten Parameter mit der Testumgebung:
**Tune of search parameters II**
**LC0 version:** v0.28.0
**LC0 options:** Network: 610461, MinibatchSize=256, Backend=cuda-fp16, MoveOverheadMs=0, NNCacheSize=2000000, StrictTiming=true
**SF options:** SF 14.1, Threads=7, Hash=32, "Move Overhead"=0, SyzygyProbeDepth=10
**Tuning ranges:** CPuct: [0.5,2.5], CPuctBase [20000.0,60000.0], CPuctFactor [2.0,6.0], FpuValue [0.0,1.0], PolicyTemperature [1.0,2.0]
**Tuning configuration:** acq function: mes, 1350 iterations/6750 rounds/13500 games
**Hardware:** Ryzen 7 5800H (4.4GHz) + RTX 3070M
**Time control:** 27.0s/game+0.225s/move (LC0), 6.24s/game+0.052s/move (SF)
**Speed:** ≈10 Knodes/move (LC0)
**Book:** unbalanced 3-move book (60-90cp)
**Tablebases:** 6-man
**Adjudication:** 6-man TBs, -resign movecount=3 score=500, -draw movenumber=20 movecount=5 score=10
**Software:** chess-tuning-tools 0.8.1, Cutechess (restart=on)
**Comment:** Important changes to previous search tuning (
https://discord.com/channels/425419482568196106/766262364949315614/786487743001001994) are a newer network and higher batchsize .
**Optimum found:**
```
tuned default
CPuct 1.473 1.745
CPuctFactor 3.973 3.894
CPuctBase 45669 38739
FpuValue 0.279 0.330
PolicyTemperature 1.206 1.359``````
Parameter Lower bound Upper bound
-------------------------------------------
CPuct 0.5 2.3
CPuctBase 21224.0 56612.0
CPuctFactor 2.1 5.5
FpuValue 0.09 0.98
PolicyTemperature 1.04 1.92```**Test result:**
https://discord.com/channels/425419482568196106/530486338236055583/913336444259561482Hier die optimierte policytemperature:
**Tune of PolicyTemperature**
**LC0 version:** v0.28.0
**LC0 options:** Network: 610461, MinibatchSize=256, Backend=cuda-fp16, MoveOverheadMs=0, NNCacheSize=2000000, StrictTiming=true, CPuct=1.473, CPuctFactor=3.973, CPuctBase=45669, FpuValue=0.279
**SF options:** SF-dev, Threads=7, Hash=256, "Move Overhead"=0, SyzygyProbeDepth=10
**Tuning ranges:** PolicyTemperature [1.0,2.0]
**Tuning configuration:** acq function: mes, 125 iterations/625 rounds/1250 games
**Hardware:** Ryzen 7 5800H (4.4GHz) + RTX 3070M
**Time control:** 152.64s/game+0.636s/move (LC0), 31.68s/game+0.132s/move (SF)
**Speed:** ≈60 Knodes/move (LC0)
**Book:** unbalanced 3-move book (60-90cp)
**Tablebases:** 6-man
**Adjudication:** 6-man TBs, -resign movecount=3 score=400, -draw movenumber=20 movecount=5 score=10
**Software:** chess-tuning-tools 0.8.1, Cutechess (restart=on)
**Comment:** Tuning of PolicyTemperature with 4x TC with other search parameters values from previous tuning. Looks like optimal value of PolicyTemperature scales with TC.
**Optimum found:**
```
tuned (≈60Knodes) tuned (≈10Knodes) default
PolicyTemperature 1.295 1.206 1.359``````
Parameter Lower bound Upper bound
-------------------------------------------
PolicyTemperature 1.0 1.81```
Bei der minibatchsize würde ich 94 nehmen.
Moveoverhead den default Wert.
Backend: demux
BackendOptions:multi-gather=on
5. Eröffnungsbuch
Ich würde ein ausbalanciertes kurzes Buch, z.B. 4 - 8 Züge einsetzen.
6. Tablebases
6-Steiner
7. Remisadjucation
zur Spielverkürzung.
8. CPU-Kerne/Threads
Bei einer RTX 3060 8 Kerne, darüber mindestens 12 Kerne.
Verständnisfragen sind willkommen!
Viele Grüße
Lothar