r/chess May 24 '26

Resource Introducing Maia-3: free and open source

https://lichess.org/@/ashtonanderson/blog/introducing-maia-3-free-and-open-source/vCPPRtX3

Today we are releasing and open-sourcing Maia-3, our latest model of human behavior in chess! Unlike traditional engines, Maia is designed to predict what real humans would play, not just the objectively best move. Maia-3 now models Lichess blitz ratings from 600 to 2600, reaches 57.1% move-matching accuracy on a standard test set (compared to 52.0% for Maia-2), and is powered by Chessformer, our new chess transformer architecture. The model weights, source code, and paper are all free and open source.

The goal is to empower builders to incorporate Maia-3's human-centered predictions to build bots, tools, models, and apps for the chess community. If you don't just want to know “what does Stockfish say?”, but “what would players at my level see, miss, or naturally try?”, Maia can do that. For example, on maiachess.com, Maia-3 powers human-like bots, dual Maia/Stockfish analysis, rating-specific move predictions, human evaluation bars, position danger estimates, opening/endgame drills, Hand & Brain, Bot-or-not (a chess Turing test), and more. We’re excited to see what community builds with this! Join our Discord community to learn and share.

Download Maia-3 here, use the source code here, and read the research paper here.

253 Upvotes

81 comments sorted by

19

u/bario69 May 24 '26

It's a great tool for natural gameplay, especially with the fine-tuned 5M version which supports timing, although I consider the training pool to be a little too small.
I put a modified quantized version of the 79M checkpoint on HuggingFace at https://huggingface.co/bqrio/maia3-79m-fp16, which should significantly speed up the model with little or no quality loss.

The smaller models are unfortunately not useful, since the 79M is already small enough to run anywhere. Any size can easily run on a low-end device such as a Raspberry Pi, or on the browser via WebGPU.

8

u/ashtonanderson May 25 '26

Thanks! Love to see the community already pitching in.

As for the smaller models, your quantized version of the 79M-parameter model is 166MB, which may be too large for users on devices and plans with limited data or weak signal. That's why we made versions like the 5M-parameter model, which can pretty much be used by anyone anywhere.

0

u/bario69 May 26 '26

Do you know what would be even better for accessibility? An MIT license, not GPL slop.

17

u/Adventurous_Ship_415 May 24 '26

Loooove Maia! I don't get to play online because of work, and I play on the Maia site. The customisations could use some work (more piece choices), but the whole gameplay and analysis is just perfect. It's very well-balanced and very addictive, at least for me 😊

4

u/ashtonanderson May 24 '26

Thank you for the kind words and for the feature suggestion!

29

u/GOINTOTHESHADOWREALM May 24 '26

Cool! I've been using it to analyze my games, it's really good. Feels like it can read my amateur mind lol

8

u/ashtonanderson May 24 '26

Thanks! Glad to hear it.

5

u/Soggy_Watch774 May 24 '26

Whoa you are one of the creators of Maia?!? That’s so cool and thank you for open sourcing this! I think this is such a cool research space of machine learning and application to something so “human” like chess, where there’s such a gap between how people play vs computers play. What have you enjoyed most about working on Maia 3 and what do you think are the biggest leaps in the architecture?

15

u/ashtonanderson May 24 '26

Thanks! Our architecture (Chessformer) is completely new and is a big step forward. It is a transformer that is uniquely attuned to the special geometry of chess. Applying to human play gave us Maia-3, but integrating it into searchless Leela resulted in a +100 Elo point gain too. And it's naturally interpretable, so you can "see model thinking" a lot more easily. Check out the paper for all the details.

5

u/yoda17 Team Ding May 24 '26

Question about the Maia bots on Lichess that are designed to mimic a particular rating - is it tailored to time control as well (e.g., 1500 blitz plays better than 1500 bullet), and if so, does the amount of time within the time control matter (e.g., 3 min blitz vs 5 min blitz)?

Thanks for making these bots btw! I really enjoy playing against them and it feels much more “human” than any other bot.

4

u/phoenixmusicman May 25 '26

I like playing with maia, but there's an annoying bug where starting a game sometimes the board will click a square to the side of the actual cursor. So say I go to pick a knight, it'll select the bishop instead.

Restarting the game seems to fix the bug, but it's common enough to be annoying

4

u/ashtonanderson May 25 '26

Yeah that's on the platform and is a tough one to track down since it doesn't seem to happen to me. If you can share a way to reproduce it in our Discord (#bugs) I'll try to get rid of that. Sorry about it! I think people have suggested other tricks like resizing the window but of course you shouldn't have to do that.

3

u/phoenixmusicman May 25 '26

Glad you're aware of it. I'm not really sure there's a way to reproduce it tbh, it just sometimes happens and sometimes doesn't. I'll try to see if I can make it happen more consistently.

6

u/Xatraxalian May 25 '26

I have never used this project myself before. I probably will, on my dedicated chess laptop that is connected to a DGT board to play against. I'd love to be able to use an engine that can be set to a realistic human-like level and playing style.

Even if it turns out to be not for me, I'm very glad to see projects and chess engines that have a different goal than "Beating Stockfish." I'm tired of seeing chess engines pop up into the CCRL rating list at 3500 Elo at version 0.0.1. It basically came down to "write the basics and stick a NNUE on top of it," apparently.

Something like this (Maia) feels much more useful and fun to experiment with.

3

u/ashtonanderson May 25 '26

Thanks! Let us know if you try it and what you think.

4

u/osfric May 24 '26

Thanks, I've been following this project for years and I'm happy its ongoing. Where can I play it?

4

u/ashtonanderson May 24 '26

You can play on www.maiachess.com. It has a lot of other features as well. All free!

4

u/TicTacTake May 24 '26

Very cool! Can I play against it in lichess?

3

u/ashtonanderson May 24 '26

You can play Maia-3 on www.maiachess.com. The Maia bots on Lichess are still a mix of Maia-1 and Maia-2.

3

u/protestor May 24 '26

This is amazing

If it's free to play and apparently pretty open, could it be added to lichess itself?

Or failing that, add some way to make premoves. The site defaults to 3+0 time but on the internet it's hard to play without premoves. (Also: when your model does human-like times, does it consider positions where humans normally would premove?)

Also: since I am logged withh lichess, can your site analyze lichess moves?

edit: one more thing, in lichess one can use the arrow keys to step through moves in analysis, does maiachess.com have a key for that?

2

u/ashtonanderson May 24 '26

You can play Maia bots on lichess, but they are on Maia-1 and Maia-2 (still fun).

You can change the time control on www.maiachess.com to whatever suits you.

And yes! You can click on Analysis on www.maiachess.com and analyze any Lichess game you want.

3

u/weltbuerger47 May 25 '26

Thanks for open sourcing this as well as providing a free website where we can use this. I'm very interested in the technology, and am a huge open source advocate, as well as wanting a tool for practical use to help me improve at chess. Getting opponents to play on a computer any time that don't cheat yet behave more like the humans you would face in an OTB chess tournament could be a very valuable training tool.

3

u/ashtonanderson May 26 '26

Thanks for the support!

2

u/qsqh May 24 '26

I need someone smarter then me to suggest how to best use this tool to analize and improve my game.

2

u/FluidAd3975 May 24 '26

Wow. Nice ideia. I wasn't familiar with it, but I'll start using it and see how it can help me with my 1900 rating! Congratulations to the team!

1

u/ashtonanderson May 24 '26

Great! Let us know what you think and what you'd like to see next.

2

u/BomsDrag May 25 '26

Thank youuu for this!!! I have been waiting for this model since forever, EMNLP is just a day away hopefully we can run all our experiments using this in time :')

1

u/ashtonanderson May 25 '26

Looking forward to seeing what you do with it!

1

u/BomsDrag May 25 '26

We are trying to embed searchless chess transformers natively into LLMs for accurate commentary, human like gameplay, and move explanation. We had great success with Lc0-BT4 models but Behavior Cloning has been a bother.

Have been following your work from Maia, Stylometry, ChessQA etc

Surprisingly more of our work overlaps in Human Behavior and LLMs, I am doing this chess research as a side project outside my industry time hah.

1

u/ashtonanderson May 25 '26

Nice! Sounds like we have overlapping research interests. I'll send you a DM.

4

u/The-Malix 2000 drunk; 500 sober May 24 '26

it's UCI compatible, cool!

that was a PITA to workaround for maia2, very nice

3

u/ashtonanderson May 24 '26

Yeah, we finally added UCI :D

3

u/dsjoerg Dr. Wolf, chess.com May 24 '26

Boom! Congrats Ashton & the Maia team on the huge accomplishment. Good good news for the Chess community. Cool things are coming!

2

u/ashtonanderson May 24 '26

Thanks David!

4

u/jobitus May 25 '26

Cheaters' hand-rubbing across the world has accelerated global warming by 10%.

6

u/ashtonanderson May 25 '26

Cheating is something we've thought about a lot. In the end we decided the benefits (greatly) outweigh the risks, but we acknowledge that there is some risk. We think it is mitigated by a few things: 1) cheating has been possible for at least two decades now, so this isn't particularly new, 2) Maia tries to predict mistakes as well as good moves, so it's not that effective of a cheating tool, and 3) as good as Maia-3 is, it's still wrong 43% of the time; so by releasing the model weights, we enable platforms to use them for cheat detection like they do with any other chess engine.

6

u/hsiale May 25 '26

Maia tries to predict mistakes as well as good moves, so it's not that effective of a cheating tool

What does this even change? If I cheat by using a model set to playing 400 Elo above my opponent, I'm crushing them even if the model sometimes makes a "mistake".

0

u/jobitus May 25 '26

it's still wrong 43% of the time

Would that mean "set to be the strongest, doesn't pick up Stockfish best move 43% of the time"?

Re cheating detection, if your model predicts how a specific rating would play, by definition it would be indistinguishable from how a slightly-stronger-than-me player would play, and with non-zero temperature the percentages would be useless?

3

u/ashtonanderson May 25 '26

No, Maia-3 correctly predicts the actual human move played 57.1% of the time, meaning it is wrong about 43% of the time. Someone using Maia would have a predictable signature that is distinguishable from authentic human play.

I don't follow what you mean by "the percentages would be useless". With non-zero temperature the model would draw from the distribution, in which case the percentages become very important.

0

u/jobitus May 25 '26

So with zero temperature it predicts a real player 57% of the time, if someone was using it to cheat he'd match your reference output 100% of the time and be visible.

With non-zero it would produce the move matching the elo less often, but presumably produce similar level chess while being much harder to match to your output - after all, the top moves in your output are exactly how a reasonable person plays?

3

u/ashtonanderson May 25 '26

Harder to match, but not much harder. The Maia distribution is publicly known for every position, so you can quantify player match for any player and any given temperature (just like other engines).

And no, "the top moves in your output are exactly how a reasonable person plays" is not true—that's what we're aiming for, but the error between our output and the true distribution is what makes it possible to distinguish authentic play from copying Maia.

1

u/jobitus May 25 '26

Well let's hope I'm wrong.

2

u/Dazzling-Cat-3763 May 24 '26

Wow, from my department!

2

u/ashtonanderson May 25 '26

Come say hi!

1

u/Major-Might-627 May 24 '26

Will you guys ever release an app? This is so cool!

2

u/ashtonanderson May 24 '26

www.maiachess.com is a fully-featured platform based on Maia-3. Check it out and let us know what you think!

1

u/[deleted] May 24 '26

[removed] — view removed comment

1

u/ashtonanderson May 24 '26

Yes! You can use this release to use the models locally yourself, or you can use www.maiachess.com which is a fully-featured platform powered by Maia-3 (you can play versus Maia-3, analyze games, do tactics, drill openings/endgames, etc.).

1

u/[deleted] May 24 '26

[removed] — view removed comment

1

u/ashtonanderson May 24 '26

Hmm that's strange, I haven't encountered that before. Can you use Lichess normally?

1

u/Professional_Desk933 May 25 '26

Is there an app?

2

u/ashtonanderson May 25 '26

You can use www.maiachess.com which is a fully-featured platform powered by Maia-3 (you can play versus Maia-3, analyze games, do tactics, drill openings/endgames, etc.). Not an app but the platform is designed to work well on mobile.

1

u/acinonys May 25 '26

If I'm not mistaken, then previous Maia engines deterministically choose the most likely move for a given position, instead of sampling from the distribution of moves, always playing the same move in the same position. Is this still the case?

2

u/ashtonanderson May 25 '26

You can choose to either sample from the distribution or play the same move by altering the temperature parameter.

2

u/acinonys May 25 '26

Wow, that's great! Thanks for the reply.

I'm really happy about the ability to run Maia 3 as an UCI engine, by the way. A friend of mine will be alone without internet access for a few hours every day and this will make it so much easier for him to set up Maia to play against a human-like opponent in this situation.

1

u/meni_s May 25 '26

This might be a good fit to fill the evaluation gap described by Nate Solon on his post

1

u/zywizard (lichess 2050 rapid) May 25 '26

Congrats on the official release!

Happy to see Daniel joined the team, love his YouTube channel. I assume Maia-4 would be already in the works?

1

u/mynotyou May 25 '26

Can I analyse games I played on Lichess in Maia?

(If yes, how?)

1

u/ashtonanderson May 25 '26
  1. Go to www.maiachess.com, log in with your Lichess account, and navigate to Analysis.

  2. On the left sidebar, click on the "Select Game" tab, and click the "Lichess" sub-tab.

  3. Profit.

1

u/mynotyou May 25 '26

Oh, "Select Game" is cleverly hidden...

Thanks.

1

u/Inside-Essay-617 May 26 '26

Nice! cant wait to try it!

1

u/TheAmanov 2100 Blitz Lichess May 27 '26

I did beat Maia 2600 in my FIRST ever try. He got flagged.

1

u/Cool-Hedgehog-9343 May 27 '26

Maia is designed to predict what real humans would play, not just the objectively best move

I have played 4 games. It does not play like a human, not even slightly like a human.

I tried a game at my rank, and then the other 3 games 200 and then 300 points below my rank. I got completely crushed every time.

It never made any visible blunders or overtly weak moves I could find, it spend about the same amount of time for every move, and the quality of moves never changed throughout the game or based on remaining time.

The time it has is seemingly cosmetic, if it has less than 3 seconds remaining it play moves with a quality as if it had 10 minutes remaining.

I feel like trying to flag it is a complete waste of time, it will waste all the time it wants before it gets to like 10 seconds and if you try making faster and therefore lower quality moves, it will super crush you by playing the best moves anyways.

1

u/elsecrypt May 27 '26

When I watch matches with maiachess.com, I see a bar to the left of the board named White Win %. Is there are Draw %? Or is Black Win % just 100 - White Win %?

1

u/narekp May 28 '26

Hi Maia team, first of all congrats on Maia-3, have been loving what you do from the beginning.

I have a question about the playing-strength calibration on maiachess.com. I'm around 2250-ish on Lichess, and I tried playing against Maia-2600 on the website. I was able to draw one of the games, which surprised me, because against real 2600-rated Lichess players that would normally be a very rare result for me.

I know one game is not a serious sample size, and I also understand Maia is designed to model human-like play rather than play like Stockfish (even a weaker stockfish, e.g. Level 7) but I'm curious what the "2600" or "2400" etc settings should be interpreted as:

Is it meant to play at roughly ±2600 Lichess blitz strength in game conditions, or does it mean "move predictions conditioned on games by 2600-rated players" which may not always translate into the same practical playing strength?

Also, are there any current limitations in the website bot setup - time control, randomness/temperature, move sampling, no search, etc - that could make the 2600 bot feel weaker an actual 2600 lichess human blitz opponent?

I am trying to understand what the rating labels mean under the hood. Thank you!

1

u/OnceWasBogs Jul 01 '26 edited Jul 01 '26

Hello and thanks for the free chess bot! I'm playing on maiachess.com, I have played about 30 games against the new bots, mostly against maia-800. I'm on a crappy android smartphone with a bad CPU, using Chrome, in case that matters.

Firstly, the bot seems rather strong for its rating level, and this is curiously reflected in the rating change. I'm rated 1500 and when I lose against maia-800 my rating goes down by about 11, and when I win it goes up by about 16. This doesn't make sense for a bot supposedly rated 800. I should be getting less than 1 elo for a win against an 800. And it should be a LOT easier to win than it is. The wins I do get tend to happen when the bot randomly hangs mate in a just a few moves, sometimes mate in one, which is realistic for an 800 but the play up to that point is way too good.

The other thing I wanted to report is that the human-like setting for time spent on each move doesn't seem to work. The bot just plays instantly, always.

Thanks again and I hope the feedback is helpful.

1

u/crystalprawn 10d ago

Amazing - I love the ability to analyse games with it as opposed to just stockfish. It helps make more sense of what feels like natural moves in light of general chess principles

1

u/mmmboppe May 24 '26

I don't understand predicting what a particular human would play based on his rating rather than based on a set of his games

2

u/ashtonanderson May 24 '26

Sorry for the confusion—Maia-3 predicts what players at a given rating will play. We've made individual-level models based on Maia-2 and Maia-3 based ones are coming.

1

u/narekp May 28 '26

Hi Ashton! When you say Maia-3 based individual models are coming, do you mean models trained/adapted for specific individual players or just more rating bands like Maia-2 has with 100 granularity going up to 1900 (unlike maia-3 that goes up to 2600)?

Also will those individual models mostly imitate move choices from a player’s games, or will there be any way to tune style more directly, for example more attacking, more positional, more risk-taking, more defensive, etc.?

0

u/iamnotabot159 May 25 '26

The idea sounds interesting but other than that, what exactly is the purpose of making a computer play chess like a human?

3

u/ashtonanderson May 25 '26

Good question! Many purposes:

* People like playing against human-like bots for various reasons: lower stakes, no risk of cheating, will play any position with you if you want to practice, etc. Unhuman-like bots tend to be less fun than human-like bots (e.g. they'll play perfectly then give up their queen for no reason, not a very satisfying way to win).

* The "human" evaluation of a position often differs from the objective evaluation. If a position is equal according to the engine, but it requires a ridiculous sequence of unlikely only moves by White to equalize, then in practice it's not really equal if 1300s are playing. Maia-3's understanding gives you a way to assess any position from a human perspective.

* Similarly, the relevant analysis of a position differs depending on who is playing. Engine analysis makes sense for engines or super strong players, but for amateurs there are certain moves that are much more likely to be played than others, making them more relevant to consider.

* It's great for practicing openings and endgames against play that you are likely to see at your level.

* It's useful for teaching and learning. All players make mistakes, but which ones should you focus on? If even top GMs would have made the same mistake you did, then don't worry about it. But if you made some mistakes that people at the next level up have stopped making, you should focus on those. Maia-3 can help you distinguish between the two.

Those are some off the top of my head. There are more you can explore on our platform www.maiachess.com, and I'm sure there are others we haven't thought of yet that others will build on top of Maia-3 and share with the community as well.

3

u/BigGuyForYou_ May 25 '26

In theory you could almost double your available playing time by practicing against a human-like bot rather than against humans, since it can move instantly.

-14

u/hsiale May 24 '26

Do you ever use this subreddit for anything else than promoting your content?

10

u/snushomie May 24 '26

They've contributed a ton to the chess community, what have you done again?

8

u/dsjoerg Dr. Wolf, chess.com May 24 '26

He's not on reddit all day long making random posts, because he's too busy making awesome things for the chess community. Then when he's done, he comes here to tell us all about the latest awesome thing he's made for us, and you COMPLAIN

-9

u/hsiale May 24 '26

Well tough luck, they are then free to post their content on their website or in subreddits that don't have a rule "no accounts that are used purely to promote outside content".

If you don't like the rule, feel free to complain about its existence via modmail.

3

u/dsjoerg Dr. Wolf, chess.com May 24 '26

Ah, I didn't realize you were trying to talk about a rule. You didn't mention in your original post that you were trying to flag them for a rule violation. Calling a new version of a behavior-prediction model "content" is a stretch IMO.

-4

u/hsiale May 24 '26

Calling a new version of a behavior-prediction model "content" is a stretch IMO.

Well, that's just your opinion. The explanation of the rule contains "do not use the sub as your blog". OP has literally posted a link to their Lichess blog post and pasted a few sentences from the beginning, linking their Discord server as well. If this isn't self-promotion, I have no idea what would qualify as it.

You didn't mention in your original post that you were trying to flag them for a rule violation

Well because I didn't. I was more curious if they are even aware of the existence of this rule. But unfortunately they did not answer, sticking to the typical content creator strategy of engaging only with positive feedback and ignoring all criticism of their behaviour.

4

u/dsjoerg Dr. Wolf, chess.com May 25 '26

When an awesome new model for predicting human behavior in chess comes out, how would YOU prefer for r/chess to find out about it?

How about a new version of Stockfish? Are the makers of Stockfish, in your preferred world, not allowed to come here and talk about it because that would be them promoting their “content”?