Maia Chess, Engine Similarity, and Detecting Clones

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

Moderators: hgm, Rebel, chrisw

Madeleine Birchfield
Posts: 512
Joined: Tue Sep 29, 2020 4:29 pm
Location: Dublin, Ireland
Full name: Madeleine Birchfield

Maia Chess, Engine Similarity, and Detecting Clones

Post by Madeleine Birchfield »

The recent Maia Chess recently came out announcing that they trained neural networks to play like human players. They also announced on the website that they are also trying to train neural networks to predict the moves of individual players and play like individual players, and are succeeding at it:
https://maiachess.com wrote: In current work, we are pushing the modeling of human play to the next level: can we predict the moves a particular human player would make? It turns out that personalising Maia gives us our biggest performance gains. We achieve these results by fine-tuning Maia: starting with a base Maia, say Maia 1900, we update the model by continuously training on an individual player's gains. The plot shows that personalized Maias achieve 75% accuracy at predicting particular players' moves.

The preprint for this work is available as a preprint here.
In the future somebody will try to train Maia on, for example, Stockfish, and be able to create a Maia personalised to Stockfish with 75% similarity, which according to Ed Schroeder's SIMEX would act like a Stockfish clone on the level of Houdini vs Stockfish 8 and Fire vs Stockfish 7, yet have no copied code between the two codebases whatsoever. In this case, how in the world is anybody able to detect that a closed source engine like Houdini or Fire are suspicious and likely Stockfish clones (or clones of whatever other engine) in the definition that the open source engine community uses it (copied codebase), rather than simply a Maia-esque neural network model trained on Stockfish (or whatever other engine)? Should these Maia neural network models be also considered clones of the original engines by the computer chess community?
Nay Lin Tun
Posts: 708
Joined: Mon Jan 16, 2012 6:34 am

Re: Maia Chess, Engine Similarity, and Detecting Clones

Post by Nay Lin Tun »

Leela and Stockfish move choices are at least 75-80% similar in TCEC .

If they are getting stronger, there will be more similarities in the future. ( You can see in TCEC that they frequently share same PV lines for 10 moves + or 20 ply +).

It is harder to predict moves in low rated players because of blunders left and right. ( The aim of maia is to make a human like blunder, not a random blunder from traditional engines)
Madeleine Birchfield
Posts: 512
Joined: Tue Sep 29, 2020 4:29 pm
Location: Dublin, Ireland
Full name: Madeleine Birchfield

Re: Maia Chess, Engine Similarity, and Detecting Clones

Post by Madeleine Birchfield »

Nay Lin Tun wrote: Mon Dec 07, 2020 8:41 am Leela and Stockfish move choices are at least 75-80% similar in TCEC .

If they are getting stronger, there will be more similarities in the future. ( You can see in TCEC that they frequently share same PV lines for 10 moves + or 20 ply +).
It might be true that latest Leela and Stockfish dev versions are at least 75-80% similar in TCEC due to convergence at long time controls, but that is not true about Leela and weaker engines like Stockfish 7 or 8, (or Ethereal or Komodo for that matter). But what Maia allows people to do is to train on Stockfish 7 or 8, (or Ethereal or Komodo), and predict their moves in a way that is completely independent from engine strength or time control at an accuracy rating of 75%.
Nay Lin Tun wrote: Mon Dec 07, 2020 8:41 am It is harder to predict moves in low rated players because of blunders left and right. ( The aim of maia is to make a human like blunder, not a random blunder from traditional engines)
While that is the aim of the current people behind Maia, since Maia is an open-source project according to their website somebody could easily fork the Maia codebase, fiddle around with it, and use it for other uses, including using it to try to replicate traditional engine play. The reverse could also happen, nefarious people who clone open source engines for a living to sell to unsuspecting customers can now claim to use a Maia like neural network in the engine to explain any similarity away between their engine and Stockfish 7 or 8 (or whatever other engine), when in reality they did violate the GPL license and copy the code.
User avatar
AdminX
Posts: 6340
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: Maia Chess, Engine Similarity, and Detecting Clones

Post by AdminX »

Even with Tablebase, Leela plays some silly endgames, how is Maia going to tackle that problem at higher levels I wonder.
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: Maia Chess, Engine Similarity, and Detecting Clones

Post by carldaman »

Madeleine Birchfield wrote: Mon Dec 07, 2020 9:01 am
Nay Lin Tun wrote: Mon Dec 07, 2020 8:41 am Leela and Stockfish move choices are at least 75-80% similar in TCEC .

If they are getting stronger, there will be more similarities in the future. ( You can see in TCEC that they frequently share same PV lines for 10 moves + or 20 ply +).
It might be true that latest Leela and Stockfish dev versions are at least 75-80% similar in TCEC due to convergence at long time controls, but that is not true about Leela and weaker engines like Stockfish 7 or 8, (or Ethereal or Komodo for that matter). But what Maia allows people to do is to train on Stockfish 7 or 8, (or Ethereal or Komodo), and predict their moves in a way that is completely independent from engine strength or time control at an accuracy rating of 75%.
Nay Lin Tun wrote: Mon Dec 07, 2020 8:41 am It is harder to predict moves in low rated players because of blunders left and right. ( The aim of maia is to make a human like blunder, not a random blunder from traditional engines)
While that is the aim of the current people behind Maia, since Maia is an open-source project according to their website somebody could easily fork the Maia codebase, fiddle around with it, and use it for other uses, including using it to try to replicate traditional engine play. The reverse could also happen, nefarious people who clone open source engines for a living to sell to unsuspecting customers can now claim to use a Maia like neural network in the engine to explain any similarity away between their engine and Stockfish 7 or 8 (or whatever other engine), when in reality they did violate the GPL license and copy the code.
75% may match SF, but then it depends on what the other 25% are doing. If there are blunders sprinkled in among the 25%, the 75% won't matter much in engine chess, where 'the chain is only as strong as its weakest link'.
Alayan
Posts: 550
Joined: Tue Nov 19, 2019 8:48 pm
Full name: Alayan Feh

Re: Maia Chess, Engine Similarity, and Detecting Clones

Post by Alayan »

Maia is based on Leela.

This is fundamentally a way to produce a weaker Leela network that are good at predicting the moves of a weaker chess playing entity.

I don't think this is an effective approach at approximating a strong classical engine.
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: Maia Chess, Engine Similarity, and Detecting Clones

Post by corres »

Madeleine Birchfield wrote: Mon Dec 07, 2020 8:32 am The recent Maia Chess recently came out announcing that they trained neural networks to play like human players. They also announced on the website that they are also trying to train neural networks to predict the moves of individual players and play like individual players, and are succeeding at it:
https://maiachess.com wrote: In current work, we are pushing the modeling of human play to the next level: can we predict the moves a particular human player would make? It turns out that personalising Maia gives us our biggest performance gains. We achieve these results by fine-tuning Maia: starting with a base Maia, say Maia 1900, we update the model by continuously training on an individual player's gains. The plot shows that personalized Maias achieve 75% accuracy at predicting particular players' moves.

The preprint for this work is available as a preprint here.
In the future somebody will try to train Maia on, for example, Stockfish, and be able to create a Maia personalised to Stockfish with 75% similarity, which according to Ed Schroeder's SIMEX would act like a Stockfish clone on the level of Houdini vs Stockfish 8 and Fire vs Stockfish 7, yet have no copied code between the two codebases whatsoever. In this case, how in the world is anybody able to detect that a closed source engine like Houdini or Fire are suspicious and likely Stockfish clones (or clones of whatever other engine) in the definition that the open source engine community uses it (copied codebase), rather than simply a Maia-esque neural network model trained on Stockfish (or whatever other engine)? Should these Maia neural network models be also considered clones of the original engines by the computer chess community?
I "like" those system what forcing human participants playing weak chess.
It would be more correct if there would be no any restriction to use helps. So the "centaur chess" is a correct solving for playing online chess, and not the "pol(?) correct chess". In the present days using of electronic helpers is a very natural thing in every field of the life. Being a "Don Quiote" against modern life is not a lucky thing.
Uri Blass
Posts: 10282
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Maia Chess, Engine Similarity, and Detecting Clones

Post by Uri Blass »

Nay Lin Tun wrote: Mon Dec 07, 2020 8:41 am Leela and Stockfish move choices are at least 75-80% similar in TCEC .

If they are getting stronger, there will be more similarities in the future. ( You can see in TCEC that they frequently share same PV lines for 10 moves + or 20 ply +).

It is harder to predict moves in low rated players because of blunders left and right. ( The aim of maia is to make a human like blunder, not a random blunder from traditional engines)

It is impossible to predict 70-80% of part of the players who are weak enough.

Try to predict even 50% of the moves of the random mover.
You have no chance.
User avatar
M ANSARI
Posts: 3707
Joined: Thu Mar 16, 2006 7:10 pm

Re: Maia Chess, Engine Similarity, and Detecting Clones

Post by M ANSARI »

I have been playing a lot of online bullet chess and taking on Level 6 and Level 7 on Lichess. I add 2 sec per move and find it quite entertaining. The level given for the engine on Level 6 is 2300 ... but to be honest I feel it is much more difficult to beat at that time control than it is to beat someone who is 2500 to 2600. The thing is that it plays like a 3400 player most times and then overlooks a simple move that puts it in a totally lost endgame. I don't know how the algo works but it certainly not human like. What I found very interesting chesswise is that it seems to purposely blunder a pawn sometimes, but with the fast time control that "blunder" quickly turns to have devastating tactical counter play. This really has given me many ideas and I feel I respect the value of pawn sacrifices for dynamic play much more. To make an engine play like a human is extremely difficult as the strength of engines is tactical and that happens where humans are weakest.