Hier auf Discord/lc0/help ein beschriebenes Vorgehen für 2 GPUs oder 1 GPU mit ausreichend VRAM:
What is the best way to run a match between two weights files? with any selected uci/lc0 parameters.
Use Lc0 in two separate directories with the exact same binary (and any options) but with a different net file in each one.
And, then in an engine.json file add entries like (might not be exactly right):
[
{
"command" : "lc0.exe -s E:/syzygy;E:/syzygy-7",
"name" : "NetA",
"protocol" : "uci",
"workingDirectory" : "E:/NetA"
},
{
"command" : "lc0.exe -s E:/syzygy;E:/syzygy-7",
"name" : "NetB",
"protocol" : "uci",
"workingDirectory" : "E:/NetB"
}
]
Then, use cutechess-cli to run the games like this:
cutechess-cli -each tc=inf nodes=1600 restart=on -engine conf=NetA -engine conf=NetB -games 12000 -wait 1000 -ratinginterval 10 -tb E:/syzygy;E:/syzygy-7 -tbpieces 7 -openings file=D:/Cutechess-cli/book_3moves_cp25-49_13580pos.pgn start=1 -repeat -concurrency 1 -pgnout A_v_B.pgn min fi
You can vary the nodes option of course.
This will show Elo difference every 10 games.
You can run more than one game at a time if your GPU has enough VRAM b changing the concurrency option
Finally, periodicall use Ordo to see another Elo format like:
ordo-win64.exe -Q -N 0,0 -D -a 0 -A "NetA" -W -n4 -s500 -U "0,1,2,3,4,5,7,8,9,10,6" -p A_v_B.pgn
I avoid draw score adjudication and only use tablebase adjudication, and supply them to Lc0 for the games.
There are many options. Suggest picking a set and establishing a baseline and always run from a known baseline.
For sanity checking after changing things, from time to time run a match where the two nets are actually the same net and the results should be VERY close to even.