Seer

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

Moderators: hgm, Dann Corbit, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
User avatar
Werner
Posts: 2583
Joined: Wed Mar 08, 2006 9:09 pm

Re: Seer

Post by Werner » Tue Oct 20, 2020 8:51 am

Werner wrote:
Tue Oct 20, 2020 7:20 am
I test NN engines only on my Skylake pcs - not on the older ivybridge. Here is a result of a short testmatch made with 40/10:
1: Naum 4.6 x64 1CPU 14,5/20 111111110110=1====01
2: Seer 1.0NN x64 1CPU 5,5/20 000000001001=0====10
so I think this version is between Deep Shredder 12 and Koivisto 2.0 (very small sample).
..and I think you can see on the pv when net is not loaded:
FEN: rnbqkbnr/pppppppp/8/8/8/7P/PPPPPPP1/RNBQKBNR b KQkq - 0 1

Seer 1.0NN x64 1CPU:
1/1 00:00 0 0 0,00
5/5 00:00 4k 254k -256,00 h2-h3 h7-h5 g2-g3 h5-h4 f2-f3
6/6 00:00 9k 266k -256,00 h2-h3 h7-h5 g2-g3 h5-h4 f2-f3 h4xg3
7/7 00:00 17k 257k -256,00 h2-h3 h7-h5 g2-g3 h5-h4 f2-f3 h4xg3 e2-e3
8/8 00:00 56k 270k -256,00 h2-h3 h7-h5 g2-g3 h5-h4 f2-f3 h4xg3 e2-e3 g3-g2

-256 ?? this is normally around 40
Werner

Guenther
Posts: 3694
Joined: Wed Oct 01, 2008 4:33 am
Location: Regensburg, Germany
Full name: Guenther Simon
Contact:

Re: Seer

Post by Guenther » Tue Oct 20, 2020 10:11 am

Guenther wrote:
Tue Oct 20, 2020 8:48 am

Thanks! I will try it out today. I am not very optimistic though, because the core2 binary you released now, just adds around 4% in speed.
Obviously missing popcount and/or newer instructions makes a huge difference here (note that this hardware is from 2009).

For better comparison, vanilla SF12 (nnue integrated) official release has around 300kn/s on this machine.
Ok, my compilation for march=native is just a very tiny bit faster, than your released one for core2.

I noticed now though, that at least from cmd Seer always uses here 2 out of 4 cores?
Hopefully it doesn't act the same in real games too, that would be a problem for rating/test organisations.
May be someone can check this too?

Guenther
Posts: 3694
Joined: Wed Oct 01, 2008 4:33 am
Location: Regensburg, Germany
Full name: Guenther Simon
Contact:

Re: Seer

Post by Guenther » Tue Oct 20, 2020 12:28 pm

Guenther wrote:
Tue Oct 20, 2020 10:11 am
Guenther wrote:
Tue Oct 20, 2020 8:48 am

Thanks! I will try it out today. I am not very optimistic though, because the core2 binary you released now, just adds around 4% in speed.
Obviously missing popcount and/or newer instructions makes a huge difference here (note that this hardware is from 2009).

For better comparison, vanilla SF12 (nnue integrated) official release has around 300kn/s on this machine.
Ok, my compilation for march=native is just a very tiny bit faster, than your released one for core2.

I noticed now though, that at least from cmd Seer always uses here 2 out of 4 cores?
Hopefully it doesn't act the same in real games too, that would be a problem for rating/test organisations.
May be someone can check this too?
I played a few test games now in the CuteChessGUI on my old quadcore and actually it really uses always one extra thread(core),
even when it is not its turn?

It plays very interesting chess, which looks very much like 'young' Leela(LC0), also with all its strengths and weaknesses.
I like it :)

Obviously it needs very good hardware and/or long time controls and it is vulnerable to tactical shots in this stage.
The time management for classical moves per time sessions also looks currently a bit risky, because the last moves
before reaching a session end, have to be made in a tiny amount of time.

Sorry for chosing such a strong opponent considering the conditions on my side.
Here are four games at 40/120s - note that you can select the current game by clicking the three tiny dots in the board header menu.


connor_mcmonigle
Posts: 79
Joined: Sun Sep 06, 2020 2:40 am
Full name: Connor McMonigle

Re: Seer

Post by connor_mcmonigle » Tue Oct 20, 2020 1:07 pm

Guenther wrote:
Tue Oct 20, 2020 12:28 pm
I played a few test games now in the CuteChessGUI on my old quadcore and actually it really uses always one extra thread(core),
even when it is not its turn?
Oh. Crap. You're totally right. I added some code to fix this behavior, but it somehow didn't make its way to GitHub... I'll fix this soon. The problem originates from the CLI thread continuing to look for new input even when stopped. Thanks for bringing this issue to my attention.

connor_mcmonigle
Posts: 79
Joined: Sun Sep 06, 2020 2:40 am
Full name: Connor McMonigle

Re: Seer

Post by connor_mcmonigle » Tue Oct 20, 2020 1:27 pm

Guenther wrote:
Tue Oct 20, 2020 12:28 pm
...
I played a few test games now in the CuteChessGUI on my old quadcore and actually it really uses always one extra thread(core),
even when it is not its turn?

It plays very interesting chess, which looks very much like 'young' Leela(LC0), also with all its strengths and weaknesses.
I like it :)

Obviously it needs very good hardware and/or long time controls and it is vulnerable to tactical shots in this stage.
The time management for classical moves per time sessions also looks currently a bit risky, because the last moves
before reaching a session end, have to be made in a tiny amount of time.

Sorry for chosing such a strong opponent considering the conditions on my side.
Here are four games at 40/120s - note that you can select the current game by clicking the three tiny dots in the board header menu.
Thanks for testing it and no worries. I enjoy watching it lose as well :D Its play also reminds me a lot of young Leela (pre T10 run), tactical vulnerabilities and all. At least with the current network, I've observed it has some funny quirks which define its style such as being very content to get doubled pawns and extremely hesitant to push it's F pawn (this also results in it sometimes missing tactical shots involving F pawn pushes). In general, it places a lot of weight on achieving a big center and also really likes to create imbalances for better or worse (it is often overly optimistic in bishop+rook vs. queen positions, especially when it has the bishop pair).

The riskiness you observe with time per session time controls is probably, in part, because it's already losing in all these games by the time it reaches 40 moves so it spends extra time looking for a way out. It's definitely still stronger at blitz and better suited for longer time controls.

connor_mcmonigle
Posts: 79
Joined: Sun Sep 06, 2020 2:40 am
Full name: Connor McMonigle

Re: Seer

Post by connor_mcmonigle » Tue Oct 20, 2020 1:42 pm

Werner wrote:
Tue Oct 20, 2020 7:20 am
I test NN engines only on my Skylake pcs - not on the older ivybridge. Here is a result of a short testmatch made with 40/10:
1: Naum 4.6 x64 1CPU 14,5/20 111111110110=1====01
2: Seer 1.0NN x64 1CPU 5,5/20 000000001001=0====10
so I think this version is between Deep Shredder 12 and Koivisto 2.0 (very small sample).
Thanks for testing! This is about consistent with what I would expect for this time control, perhaps a little worse (In my limited testing, playing strength seemed to vary a fair bit between opponents). My time management implementation is probably a bit worse at time per session than incremental time controls as well.

Guenther
Posts: 3694
Joined: Wed Oct 01, 2008 4:33 am
Location: Regensburg, Germany
Full name: Guenther Simon
Contact:

Re: Seer

Post by Guenther » Tue Oct 20, 2020 2:08 pm

connor_mcmonigle wrote:
Tue Oct 20, 2020 1:27 pm
Guenther wrote:
Tue Oct 20, 2020 12:28 pm
...
I played a few test games now in the CuteChessGUI on my old quadcore and actually it really uses always one extra thread(core),
even when it is not its turn?

It plays very interesting chess, which looks very much like 'young' Leela(LC0), also with all its strengths and weaknesses.
I like it :)

Obviously it needs very good hardware and/or long time controls and it is vulnerable to tactical shots in this stage.
The time management for classical moves per time sessions also looks currently a bit risky, because the last moves
before reaching a session end, have to be made in a tiny amount of time.

Sorry for chosing such a strong opponent considering the conditions on my side.
Here are four games at 40/120s - note that you can select the current game by clicking the three tiny dots in the board header menu.
Thanks for testing it and no worries. I enjoy watching it lose as well :D Its play also reminds me a lot of young Leela (pre T10 run), tactical vulnerabilities and all. At least with the current network, I've observed it has some funny quirks which define its style such as being very content to get doubled pawns and extremely hesitant to push it's F pawn (this also results in it sometimes missing tactical shots involving F pawn pushes). In general, it places a lot of weight on achieving a big center and also really likes to create imbalances for better or worse (it is often overly optimistic in bishop+rook vs. queen positions, especially when it has the bishop pair).

The riskiness you observe with time per session time controls is probably, in part, because it's already losing in all these games by the time it reaches 40 moves so it spends extra time looking for a way out. It's definitely still stronger at blitz and better suited for longer time controls.
In one of the 4 games an interesting buggy move popped up:



When I start it inside CuteChessGUI for that position the move Kg2 never is considered and the correct Ng2, at least since depth 10.

Edit: ofc it is also possible it simply needs a certain depth - even to resolve a pawn fork?
No idea though, why it played that move so quickly. I could have spent more time here.

Haven't tried yet with feeding the whole game history for populating the hashtable until the crucial position.

Code: Select all

position fen 1r2q1rk/1b1np2p/3p1Pp1/p1pPnP2/NpP1PQ1N/1P5P/P3B3/4RRK1 w - - 1 27
isready
readyok
go wtime 3600000 btime 3600000 movestogo 40
info depth 1 seldepth 1 multipv 1 score cp 0 nodes 0 nps 0 tbhits 0 time 3 pv 
info depth 2 seldepth 2 multipv 1 score cp 553 nodes 197 nps 21888 tbhits 0 time 8 pv f5g6 
info depth 3 seldepth 3 multipv 1 score cp 458 nodes 701 nps 31863 tbhits 0 time 21 pv f6e7 e8e7 
info depth 4 seldepth 4 multipv 1 score cp 491 nodes 924 nps 34222 tbhits 0 time 26 pv f6e7 g6f5 g1h1 
info depth 5 seldepth 5 multipv 1 score cp 491 nodes 1237 nps 37484 tbhits 0 time 32 pv f6e7 g6f5 g1h1 e8e7 
info depth 6 seldepth 6 multipv 1 score cp 349 nodes 3214 nps 42289 tbhits 0 time 75 pv f5g6 g8g6 h4g6 e8g6 g1h1 g6f6 h1h2 
info depth 7 seldepth 7 multipv 1 score cp 278 nodes 8977 nps 44661 tbhits 0 time 200 pv g1h2 e7f6 f5g6 g8g6 h4f5 
info depth 8 seldepth 8 multipv 1 score cp 466 nodes 9988 nps 45400 tbhits 0 time 219 pv g1h2 g6f5 f6f7 g8g6 
info depth 9 seldepth 9 multipv 1 score cp 569 nodes 15181 nps 46003 tbhits 0 time 329 pv f6e7 e8e7 f5f6 g6g5 g1h1 
info depth 10 seldepth 10 multipv 1 score cp 86 nodes 89131 nps 44992 tbhits 0 time 1980 pv h4g2 e7f6 g1h1 e8f7 g2e3 g6f5 e4f5 b8f8 h1h2 
info depth 11 seldepth 11 multipv 1 score cp 88 nodes 92859 nps 45230 tbhits 0 time 2052 pv h4g2 e7f6 g1h1 e8e7 g2e3 b8f8 f4h6 g6g5 
info depth 12 seldepth 12 multipv 1 score cp 130 nodes 99566 nps 45505 tbhits 0 time 2187 pv h4g2 e7f6 g1h1 e8e7 g2e3 g6g5 f4g3 b8f8 h1h2 
info depth 13 seldepth 13 multipv 1 score cp 97 nodes 169585 nps 45710 tbhits 0 time 3709 pv h4g2 e7f6 g1h2 g6f5 e4f5 b8a8 g2e3 e8e7 f1g1 g8g5 e1f1 
info depth 14 seldepth 14 multipv 1 score cp 71 nodes 224348 nps 46124 tbhits 0 time 4863 pv h4g2 e7f6 g1h2 g6f5 e4f5 b8a8 g2e3 e8e7 f1g1 a8f8 g1g8 f8g8 f4h6 
info depth 15 seldepth 15 multipv 1 score cp 28 nodes 410775 nps 44331 tbhits 0 time 9265 pv h4g2 e7f6 g1h1 g6f5 e4f5 e8e7 g2e3 b8f8 h1h2 e7g7 f1g1 g7e7 h3h4 g8g1 e1g1 e5g4 e3g4 
info depth 16 seldepth 16 multipv 1 score cp 86 nodes 489043 nps 43750 tbhits 0 time 11177 pv h4g2 e7f6 g1h2 g6f5 e4f5 e8e7 g2e3 b8f8 f1g1 g8g5 h3h4 g5g1 e1g1 e5g4 e3g4 
info depth 17 seldepth 17 multipv 1 score cp 73 nodes 670674 nps 43993 tbhits 0 time 15244 pv h4g2 e7f6 g1h2 g6f5 e4f5 e8e7 g2e3 b8f8 f1g1 g8g5 h3h4 g5g8 f4h6 g8g7 
info depth 18 seldepth 18 multipv 1 score cp -13 nodes 1060505 nps 44547 tbhits 0 time 23805 pv h4g2 e7f6 g1h2 g6f5 e4f5 e8e7 g2e3 b8e8 f4h4 g8g5 h4f4 e7g7 f1g1 g7h6 e1f1 e8d8 
info depth 19 seldepth 19 multipv 1 score cp -26 nodes 1105812 nps 44724 tbhits 0 time 24724 pv h4g2 e7f6 g1h2 g6f5 e4f5 e8e7 g2e3 b8e8 h3h4 e5f7 e3g4 d7e5 e1c1 e5g4 e2g4 
info depth 20 seldepth 20 multipv 1 score cp -26 nodes 1179991 nps 44900 tbhits 0 time 26279 pv h4g2 e7f6 g1h2 g6f5 e4f5 e8e7 g2e3 b8e8 h3h4 e5f7 e3g4 d7e5 e1c1 e5g4 e2g4 
info depth 21 seldepth 21 multipv 1 score cp -23 nodes 1512444 nps 45182 tbhits 0 time 33473 pv h4g2 g6f5 e4f5 e7f6 g1h2 e8e7 g2e3 g8g5 a4b2 b8e8 f1g1 e8g8 b2d3 e5d3 e2d3 d7e5 d3e4 g8g7 
info depth 22 seldepth 22 multipv 1 score cp -7 nodes 1785626 nps 45393 tbhits 0 time 39336 pv h4g2 e7f6 g1h2 g6f5 f4f5 e8g6 f5g6 h7g6 g2e3 h8g7 e2g4 g8d8 g4d7 d8d7 a4b6 d7e7 h2g2 g7f7 
info depth 23 seldepth 23 multipv 1 score cp 38 nodes 2205526 nps 45677 tbhits 0 time 48284 pv h4g2 e7f6 g1h2 g6f5 e4f5 e8e7 a4b2 g8g5 g2e3 b8e8 h3h4 g5g7 h2h1 e8f8 e2h5 e7d8 f1g1 d8e7 f4h6 
info depth 24 seldepth 24 multipv 1 score cp 103 nodes 3367090 nps 45903 tbhits 0 time 73350 pv h4g2 g6f5 e4f5 e7f6 g1h2 e8e7 a4b2 g8g5 h3h4 g5g7 g2e3 b8e8 f1g1 e8g8 g1g7 e7g7 e1f1 g7e7 b2d3 e7g7 f1d1 
bestmove h4g2

connor_mcmonigle
Posts: 79
Joined: Sun Sep 06, 2020 2:40 am
Full name: Connor McMonigle

Re: Seer

Post by connor_mcmonigle » Tue Oct 20, 2020 2:37 pm

Guenther wrote:
Tue Oct 20, 2020 2:08 pm
In one of the 4 games an interesting buggy move popped up:
Interesting. Thanks for investigating. I'm not quite sure what to make of that. As you can see from running the engine on the crucial position, the evaluation fluctuates quite a lot on this position and, likely, on surrounding positions (as a consequence of the network misevaluating). Therefore, it's at least conceivable the hashtable entries are responsible for the blunder Kg2.

connor_mcmonigle
Posts: 79
Joined: Sun Sep 06, 2020 2:40 am
Full name: Connor McMonigle

Re: Seer

Post by connor_mcmonigle » Tue Oct 20, 2020 4:14 pm

Guenther wrote:
Tue Oct 20, 2020 2:08 pm
Edit: ofc it is also possible it simply needs a certain depth - even to resolve a pawn fork?
No idea though, why it played that move so quickly. I could have spent more time here.
On second thought, that's a simple enough tactic that it should be resolved immediately, I would guess. I'll have to do some more analysis, but my guess is that it's not so much that Seer isn't seeing the tactic. Rather, the resultant position where it's down a piece for pawn has ridiculously high static evaluation and therefore is getting static null move pruned.

It probably didn't use more time as the evaluation and best move were stable for a couple iterations.

It's also totally possible it's a bug or a hash collision.

Guenther
Posts: 3694
Joined: Wed Oct 01, 2008 4:33 am
Location: Regensburg, Germany
Full name: Guenther Simon
Contact:

Re: Seer

Post by Guenther » Tue Oct 20, 2020 8:19 pm

connor_mcmonigle wrote:
Tue Oct 20, 2020 1:07 pm
Guenther wrote:
Tue Oct 20, 2020 12:28 pm
I played a few test games now in the CuteChessGUI on my old quadcore and actually it really uses always one extra thread(core),
even when it is not its turn?
Oh. Crap. You're totally right. I added some code to fix this behavior, but it somehow didn't make its way to GitHub... I'll fix this soon. The problem originates from the CLI thread continuing to look for new input even when stopped. Thanks for bringing this issue to my attention.
Thanks for the quick fix - I also thought it might be some thread polling issue - compiled the current repo again and all is ok now.

Post Reply