Alpha Zero vs Stockfish 8 tournament conditions.

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Alpha Zero vs Stockfish 8 tournament conditions.

Poll ended at Fri Dec 08, 2017 5:15 am

The time per move and hardware etc was fair.
27
52%
Google set it up to give Alpha Zero an edge.
25
48%
 
Total votes: 52

Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Alpha Zero vs Stockfish 8 tournament conditions.

Post by Milos »

Jesse Gersenson wrote:
Milos wrote:I believe sweet number is around 8. Depth 8 mpv search with 2-3 root moves takes around 10ms on a modern Intel core.
So an easy test would be single core match of 800s/move MC SF vs. 1s/move standard SF.
Hi Milos,
Could you explain this a little. I don't understand the assumption which concludes 800s vs 1s is reasonable.

Three root moves, each reaching depth 8, takes 10ms. That I understand. But the relationship between MC and SF's regular search I don't understand (perhaps because I don't know how SF search works).
A0 is not about NN evaluation it's about MCTS i.e. UCT without rollouts (based only on eval) actually being superior than classical minimax when parallelization resources are enormous coz its parallel scaling is much, much better than of any alpha-beta based algorithm.
So my idea would be to use UCT without rollouts in SF too, calling it MC SF (actually Stephane on fishcooking already started implementing something like that) that instead of eval at leaf nodes uses actually shallow depth alpha-beta search. For more details see here.
Since Alpha0 NN has only tactics of depth 8 encoded in weights idea would be for SF to use search of depth 8 at leaf nodes.
With that on a single core MC SF could have 100 MCTS per second. A0 used 80000 MCTS per second (800 times more) and was better than SF on 64 cores. Therefore if MC SF having 800 time more thinking time than standard SF on 64 cores is stronger it would mean A0 evaluation is about as equal in strength as depth 8 search with SF.

Up there I made wrong comparison. If we are comparing MC SF vs single core SF, if single core SF gets 1s/move, MC SF should get 800/40~20s/move since 64 core SF is as strong as single core SF using around 40 times longer TC (due to SMP loss).
CheckersGuy
Posts: 273
Joined: Wed Aug 24, 2016 9:49 pm

Re: Alpha Zero vs Stockfish 8 tournament conditions.

Post by CheckersGuy »

Milos wrote:
Jesse Gersenson wrote:
Milos wrote:I believe sweet number is around 8. Depth 8 mpv search with 2-3 root moves takes around 10ms on a modern Intel core.
So an easy test would be single core match of 800s/move MC SF vs. 1s/move standard SF.
Hi Milos,
Could you explain this a little. I don't understand the assumption which concludes 800s vs 1s is reasonable.

Three root moves, each reaching depth 8, takes 10ms. That I understand. But the relationship between MC and SF's regular search I don't understand (perhaps because I don't know how SF search works).
A0 is not about NN evaluation it's about MCTS i.e. UCT without rollouts (based only on eval) actually being superior than classical minimax when parallelization resources are enormous coz its parallel scaling is much, much better than of any alpha-beta based algorithm.
So my idea would be to use UCT without rollouts in SF too, calling it MC SF (actually Stephane on fishcooking already started implementing something like that) that instead of eval at leaf nodes uses actually shallow depth alpha-beta search. For more details see here.
Since Alpha0 NN has only tactics of depth 8 encoded in weights idea would be for SF to use search of depth 8 at leaf nodes.
With that on a single core MC SF could have 100 MCTS per second. A0 used 80000 MCTS per second (800 times more) and was better than SF on 64 cores. Therefore if MC SF having 800 time more thinking time than standard SF on 64 cores is stronger it would mean A0 evaluation is about as equal in strength as depth 8 search with SF.

Up there I made wrong comparison. If we are comparing MC SF vs single core SF, if single core SF gets 1s/move, MC SF should get 800/40~20s/move since 64 core SF is as strong as single core SF using around 40 times longer TC (due to SMP loss).
That's actually wrong. A0 is all about the Neural network and the heavy parallelization you are talking about is not for the mcts tree but for executing the neural network as quickly as possible. That's why they are using tpu's which which are built for executing NN's very quickly
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Alpha Zero vs Stockfish 8 tournament conditions.

Post by Milos »

CheckersGuy wrote:
Milos wrote:A0 is not about NN evaluation it's about MCTS i.e. UCT without rollouts (based only on eval) actually being superior than classical minimax when parallelization resources are enormous coz its parallel scaling is much, much better than of any alpha-beta based algorithm.
So my idea would be to use UCT without rollouts in SF too, calling it MC SF (actually Stephane on fishcooking already started implementing something like that) that instead of eval at leaf nodes uses actually shallow depth alpha-beta search. For more details see here.
Since Alpha0 NN has only tactics of depth 8 encoded in weights idea would be for SF to use search of depth 8 at leaf nodes.
With that on a single core MC SF could have 100 MCTS per second. A0 used 80000 MCTS per second (800 times more) and was better than SF on 64 cores. Therefore if MC SF having 800 time more thinking time than standard SF on 64 cores is stronger it would mean A0 evaluation is about as equal in strength as depth 8 search with SF.

Up there I made wrong comparison. If we are comparing MC SF vs single core SF, if single core SF gets 1s/move, MC SF should get 800/40~20s/move since 64 core SF is as strong as single core SF using around 40 times longer TC (due to SMP loss).
That's actually wrong. A0 is all about the Neural network and the heavy parallelization you are talking about is not for the mcts tree but for executing the neural network as quickly as possible. That's why they are using tpu's which which are built for executing NN's very quickly
Hehe, I like your self-confident claims. Do you know actually how much is A0 evaluation worth? What is equivalent classical alpha-beta search depth that performs equally to A0 evaluation only?
Only once you'd knew this answer you could actually compare them and tell in terms of time necessary to execute both on comparable hardware which one is better.
But you actually have no clue, because no one has a clue, since it hasn't been tested and it is probably not going to be tested since Google is not intending to release Alpha0 NN to public.
However, there is still way to check this by comparing MCTS version (the same MCTS as A0) of for example SF to regular SF. And this will eventually happen, there is already ongoing effort in that direction.