Introducing Igel chess engine

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

Moderator: Ras

Chessqueen
Posts: 5685
Joined: Wed Sep 05, 2018 2:16 am
Location: Moving
Full name: Jorge Picado

Re: Introducing Igel chess engine

Post by Chessqueen »

Dariusz wrote: Sun Jan 15, 2023 1:45 pm wget https://github.com/vshcherbyna/igel/rel ... 2-51ba2968 -O ./network_file
--2023-01-15 13:44:37-- https://github.com/vshcherbyna/igel/rel ... 2-51ba2968
Translacja github.com (github.com)... 140.82.121.4
Łączenie się z github.com (github.com)|140.82.121.4|:443... połączono.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 404 Not Found
2023-01-15 13:44:38 BŁĄD 404: Not Found.


Can you fix this? Thanks.
I am using window 10 and it does not work on my computer with 128 GB of Ram
voffka
Posts: 297
Joined: Sat Jun 30, 2018 10:58 pm
Location: Ukraine
Full name: Volodymyr Shcherbyna

Re: Introducing Igel chess engine

Post by voffka »

Image

Igel 3.4.0 at https://github.com/vshcherbyna/igel/releases/tag/3.4.0 (official executable binaries for Windows and IGN-3 net).

Hello there,

I am really sorry to disrupt the testing community having released Igel 3.3.0 just 2 weeks ago, but ... When debugging some unrelated issue I discovered a really serious bug in Igel's handling of nnue accumulator for null moves. This bug is present since August 2020 and results in Igel having wrong evaluations which is especially noticible in long time control in early and mid games when nnue eval is dominant compared to lazy (HCE) eval.

When the fix was applied to master branch (Igel 3.3.0) I saw a massive ~25 elo increase at LTC: http://chess.grantnet.us/test/31014/.

When I applied this fix to my dev version (upcoming Igel 3.4.0) which features fully NNUE eval I saw huge elo gains ranging from 75 to 90 elo in LTC against Igel 3.3.0: http://chess.grantnet.us/test/31024/

I obviously see a valid reason to interrupt my dev cycle and release whatever Igel state I currently have even though it may not feature the strongest Igel network released in 3.4.0 (HalfKav2_hm).

Disclaimer: Keep in mind that these are indicative numbers and elo gain against other engines may vary.

Igel 3.4.0 is yet another milestone in Igel's development as I removed all HCE code and the eval is purely NNUE.

What's new:

- fixing major bug in accumulator handling for null moves
- avoid heap objects (std::vector) in search function to reduce heap fragementation
- switching to pure nnue evaluation
- new network architecture HalfKav2_hm
- new network ign-3-debc71a4

Regression run against Igel 3.3.0 on Long Time Control (60+0.6)

Code: Select all

ELO   | 75.10 +- 5.38 (95%)
CONF  | 60.0+0.60s Threads=1 Hash=64MB
GAMES | N: 8480 W: 3133 L: 1328 D: 4019
User avatar
Scally
Posts: 232
Joined: Thu Sep 28, 2017 9:34 pm
Location: Bermondsey, London
Full name: Alan Cooper

Re: Introducing Igel chess engine

Post by Scally »

Hi Voffka,

Any signs of neon for a Raspberry Pi compile.

Al
FreemanZlat
Posts: 17
Joined: Mon May 30, 2022 10:50 am
Full name: Ivan Maklyakov

Re: Introducing Igel chess engine

Post by FreemanZlat »

It's very nice to find such bugs! Congratulations! :)
Chessqueen
Posts: 5685
Joined: Wed Sep 05, 2018 2:16 am
Location: Moving
Full name: Jorge Picado

Re: Introducing Igel chess engine

Post by Chessqueen »

voffka wrote: Mon Jan 30, 2023 9:38 pm Image

Igel 3.4.0 at https://github.com/vshcherbyna/igel/releases/tag/3.4.0 (official executable binaries for Windows and IGN-3 net).

Hello there,

I am really sorry to disrupt the testing community having released Igel 3.3.0 just 2 weeks ago, but ... When debugging some unrelated issue I discovered a really serious bug in Igel's handling of nnue accumulator for null moves. This bug is present since August 2020 and results in Igel having wrong evaluations which is especially noticible in long time control in early and mid games when nnue eval is dominant compared to lazy (HCE) eval.

When the fix was applied to master branch (Igel 3.3.0) I saw a massive ~25 elo increase at LTC: http://chess.grantnet.us/test/31014/.

When I applied this fix to my dev version (upcoming Igel 3.4.0) which features fully NNUE eval I saw huge elo gains ranging from 75 to 90 elo in LTC against Igel 3.3.0: http://chess.grantnet.us/test/31024/

I obviously see a valid reason to interrupt my dev cycle and release whatever Igel state I currently have even though it may not feature the strongest Igel network released in 3.4.0 (HalfKav2_hm).

Disclaimer: Keep in mind that these are indicative numbers and elo gain against other engines may vary.

Igel 3.4.0 is yet another milestone in Igel's development as I removed all HCE code and the eval is purely NNUE.

What's new:

- fixing major bug in accumulator handling for null moves
- avoid heap objects (std::vector) in search function to reduce heap fragmentation
- switching to pure nnue evaluation
- new network architecture HalfKav2_hm
- new network ign-3-debc71a4

Regression run against Igel 3.3.0 on Long Time Control (60+0.6)

Code: Select all

ELO   | 75.10 +- 5.38 (95%)
CONF  | 60.0+0.60s Threads=1 Hash=64MB
GAMES | N: 8480 W: 3133 L: 1328 D: 4019
How much does Igel 3.40 cost
voffka
Posts: 297
Joined: Sat Jun 30, 2018 10:58 pm
Location: Ukraine
Full name: Volodymyr Shcherbyna

Re: Introducing Igel chess engine

Post by voffka »

Hi Chessqueen,

Igel is a free and open source project. Anyone can use it for free.

Some people help to support Igel development (mainly data generation) by donating via PayPal. I appreciate any help to support Igel, and the details are on the bottom page at project page - https://github.com/vshcherbyna/igel
voffka
Posts: 297
Joined: Sat Jun 30, 2018 10:58 pm
Location: Ukraine
Full name: Volodymyr Shcherbyna

Re: Introducing Igel chess engine

Post by voffka »

Hi Scally,
Scally wrote: Tue Jan 31, 2023 10:39 am Hi Voffka,

Any signs of neon for a Raspberry Pi compile.

Al
I have it on my todo list, but I am not actively working towards it.

I'd like to make sure I try various improvement ideas for network architecture and accumulator performance and once that part of the code stabilizes I will look into adding support for neon. it is going to be expensive to add it now as I cannot easily debug ARM and that part of the code is under active development.

In the end it is a matter of priorities and I don't have that much free time to work on several big topics in Igel in parallel. I'd like to add FRC support next when I have time.
Uri Blass
Posts: 11237
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Introducing Igel chess engine

Post by Uri Blass »

For some reason Igel does not work for me with arena3.5.1
I have not the same problem with other gui's.

I wonder if the problem is the fact that igel quit after getting some command that it does not understand unlike other engines like stockfish that respond with an error message but the engine does not stop.
voffka
Posts: 297
Joined: Sat Jun 30, 2018 10:58 pm
Location: Ukraine
Full name: Volodymyr Shcherbyna

Re: Introducing Igel chess engine

Post by voffka »

Hi Uri,
Uri Blass wrote: Tue Jan 31, 2023 6:32 pm For some reason Igel does not work for me with arena3.5.1
I have not the same problem with other gui's.

I wonder if the problem is the fact that igel quit after getting some command that it does not understand unlike other engines like stockfish that respond with an error message but the engine does not stop.
Make sure you set the communication protocol type explicitely to UCI instead of Autodetect.
Chessqueen
Posts: 5685
Joined: Wed Sep 05, 2018 2:16 am
Location: Moving
Full name: Jorge Picado

Re: Introducing Igel chess engine

Post by Chessqueen »

voffka wrote: Tue Jan 31, 2023 6:43 pm Hi Uri,
Uri Blass wrote: Tue Jan 31, 2023 6:32 pm For some reason Igel does not work for me with arena3.5.1
I have not the same problem with other gui's.

I wonder if the problem is the fact that igel quit after getting some command that it does not understand unlike other engines like stockfish that respond with an error message but the engine does not stop.
Make sure you set the communication protocol type explicitely to UCI instead of Autodetect.
I did and it still does not work under Arena 3.5.1