[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-79932":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":14,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":17,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":16,"starSnapshotCount":16,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},79932,"maia3","CSSLab\u002Fmaia3","CSSLab","Maia-3 is the most accurate and efficient human chess move prediction engine.","",null,"Python",112,15,1,3,0,7,26,3.61,"GNU Affero General Public License v3.0",false,"main",true,[],"2026-06-12 02:03:55","# Maia-3: human-like chess play and analysis engine\n\n## [models](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002FMaiaChess\u002Fmaia3)\u002F[code](https:\u002F\u002Fgithub.com\u002FCSSLab\u002Fmaia-chess)\u002F[paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2605.19091)\u002F[website](https:\u002F\u002Fmaiachess.com)\n\n[![Hugging Face](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingFace-Models-yellow?link=https:\u002F\u002Fhuggingface.co\u002Fcollections\u002FMaiaChess\u002Fmaia3)](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002FMaiaChess\u002Fmaia3)\n[![Paper](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2605.19091-b31b1b?logo=arxiv&logoWidth=10&link=https:\u002F\u002Farxiv.org\u002Fabs\u002F2605.19091)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2605.19091)\n\n\nMaia-3 is a family of chess transformer models for predicting human moves across\nskill levels. This repository contains the inference code needed to run the\nreleased Maia-3 weights as a UCI chess engine.\n\n\u003Cimg src=\"assets\u002Fscale_acc_1d.png\" alt=\"Maia3 against the prior state of the art\" width=\"200\">\n\nMaia3 is built on Chessformer, our novel transformer architecture for chess modeling. Read the paper here: [Chessformer: A Unified Architecture for Chess Modeling](https:\u002F\u002Farxiv.org\u002Fabs\u002F2605.19091)\n\nIf you use Maia-3 in your work, please cite our paper:\n```bibtex\n@inproceedings{monroe2026chessformer,\ntitle={Chessformer: A Unified Architecture for Chess Modeling},\nauthor={Daniel Monroe and George Eilender and Philip Chalmers and Zhenwei Tang and Ashton Anderson},\nbooktitle={The Fourteenth International Conference on Learning Representations},\nyear={2026},\nurl={https:\u002F\u002Fopenreview.net\u002Fforum?id=2ltBRzEHyd}\n}\n```\n\n## Install\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FCSSLab\u002Fmaia3.git\ncd maia3\npython -m pip install .\n```\n\nFor development, install in editable mode:\n\n```bash\npython -m pip install -e .\n```\n\nYou can also run directly from the repo without installing:\n\n```bash\npython -m maia3.uci --help\n```\n\n## Quick Start\n\nRun the 5M Maia3 model as a UCI engine:\n\n```bash\nmaia3-5m\n```\n\nThe first run downloads the checkpoint from Hugging Face and caches it locally.\nAfter that, the same command reuses the cached file.\n\nYou can pre-download the default 5M model before opening a chess GUI:\n\n```bash\nmaia3-cache\n```\n\nYou can also pass the Hugging Face model URL directly:\n\n```bash\nmaia3-uci --model https:\u002F\u002Fhuggingface.co\u002FUofTCSSLab\u002FMaia3-79M\n```\n\nList built-in aliases:\n\n```bash\nmaia3-uci --list-models\n```\n\n## Models\n\nThe built-in aliases and preset commands apply the correct architecture settings\nautomatically.\n\n| Model | Best for | Hugging Face repo | Command |\n| --- | --- | --- | --- |\n| 5M | First try, CPU, chess GUIs | `UofTCSSLab\u002FMaia3-5M` | `maia3-5m` |\n| 23M | Better accuracy | `UofTCSSLab\u002FMaia3-23M` | `maia3-23m` |\n| 79M | Best accuracy | `UofTCSSLab\u002FMaia3-79M` | `maia3-79m` |\n| 3M ablation | Paper ablation | `UofTCSSLab\u002FMaia3-ablate-3M` | `maia3-3m-ablation` |\n\nShort aliases also work:\n\n```bash\nmaia3-uci --model 3m\nmaia3-uci --model 5m\nmaia3-uci --model 23m\nmaia3-uci --model 79m\n```\n\n`maia3-3m` is kept as a compatibility alias for `maia3-3m-ablation`.\n\nCache a larger model before opening a GUI:\n\n```bash\nmaia3-cache --model maia3-79m\n```\n\nIf a Hugging Face repository contains more than one checkpoint file, choose one:\n\n```bash\nmaia3-uci --model UofTCSSLab\u002FMaia3-79M --checkpoint-filename maia3-79m.pt\n```\n\nTo use a local checkpoint while still applying a built-in config:\n\n```bash\nmaia3-uci --model maia3-79m --checkpoint-path \u002Fpath\u002Fto\u002Fmaia3-79m.pt\n```\n\nPass local files with `--checkpoint-path`, not `--model`, so Maia3 knows\nwhether to use a built-in architecture preset or your custom architecture flags.\n\nTo use a fully custom checkpoint, pass the checkpoint and the matching\narchitecture flags:\n\n```bash\nmaia3-uci --checkpoint-path \u002Fpath\u002Fto\u002Fcustom.pt \\\n  --history 8 --use-padding \\\n  --dim-vit 256 --head-hid-dim 256 --num-heads 8 \\\n  --gab-per-square-dim 0 --gab-gen-size 64 --gab-intermediate-dim 64\n```\n\n## UCI Options\n\nThe engine reads UCI commands from stdin and writes responses to stdout. Any\nUCI-aware chess GUI or wrapper can drive it.\n\nFor manual testing, use the standard UCI position forms:\n`position startpos moves e2e4` or `position fen \u003Csix-field FEN>`.\n\nUser-facing options:\n\n- `Elo`: set both player and opponent Elo.\n- `SelfElo`: set the side-to-move Elo.\n- `OppoElo`: set the opponent Elo.\n- `Temperature`: move sampling temperature. `0` means argmax.\n- `TopP`: nucleus sampling threshold. `1.0` disables top-p filtering.\n- `MultiPV`: number of likely human moves to show as UCI info lines.\n\n## Use With Nibbler or Another Chess GUI\n\nMaia3 can be added to any GUI that supports UCI engines, including Nibbler.\n\nRecommended first setup:\n\n```bash\npython -m pip install .\nmaia3-cache --model maia3-5m\n```\n\nThen add a new UCI engine in your GUI:\n\n| Setting | Value |\n| --- | --- |\n| Engine executable | `maia3-5m` |\n| Arguments | none |\n\nIf you use one of the preset executables (`maia3-5m`, `maia3-23m`, or\n`maia3-79m`), leave the arguments field empty. Do not add `--model` or point\nNibbler at a `.pt` checkpoint file.\n\nIf you see an error about local checkpoint files needing `--checkpoint-path`,\nthe GUI is passing an executable or checkpoint path as an argument. Clear the\narguments field and keep only the preset executable selected.\n\nIf your GUI asks for a full path to the executable, find it with:\n\n```bash\nwhich maia3-5m\n```\n\nOn Windows:\n\n```powershell\nwhere maia3-5m\n```\n\nYou can use the larger models the same way by selecting `maia3-23m` or\n`maia3-79m` as the engine executable. Pre-caching is recommended because some\nGUIs time out if an engine downloads a checkpoint during startup.\n\nMaia3 starts the UCI handshake before loading the model, then loads the\ncheckpoint on `isready` or `go`. During analysis it emits standard `MultiPV`\n`info` lines with WDL values from Maia3's value head, then returns `bestmove`.\nThose WDL values are human-game outcome predictions for the candidate line, not\nStockfish-style search evaluations. The centipawn field is a GUI compatibility\nscore derived from the WDL head, not a searched engine evaluation.\n\nLaunch with reconstructed move history:\n\n```bash\nmaia3-uci --model maia3-79m --use-uci-history\n```\n\nLaunch on CPU:\n\n```bash\nmaia3-uci --model maia3-5m --device cpu --no-use-amp\n```\n\nBy default, Maia3 only loads tensor state-dict checkpoints. If you need to load\nan old pickled checkpoint from a source you trust, add `--trust-checkpoint`.\n\n## Example via python-chess\n\n```python\nimport chess\nimport chess.engine\n\neng = chess.engine.SimpleEngine.popen_uci([\n    \"maia3-uci\",\n    \"--model\", \"maia3-5m\",\n    \"--use-uci-history\",\n    \"--elo\", \"1500\",\n])\n\nboard = chess.Board()\nprint(eng.play(board, limit=chess.engine.Limit(nodes=1)).move)\neng.close()\n```\n\nIf the `maia3-uci` script is not on your `PATH`, use Python module execution:\n\n```python\nimport sys\n\ncmd = [sys.executable, \"-m\", \"maia3.uci\", \"--model\", \"maia3-5m\"]\n```\n\n## Legacy Entry Point\n\nThe old command still works from the repository root:\n\n```bash\npython code\u002Fuci.py --model maia3-5m\n```\n\nNew integrations should prefer `maia3-uci` or `python -m maia3.uci`.\n","Maia-3 是一个高精度且高效的国际象棋走法预测引擎。它基于一种名为Chessformer的新型变压器架构，能够准确预测不同技能水平的人类棋手的走法。项目提供了多种预训练模型（5M、23M、79M），用户可以根据需要选择合适的模型进行推理。这些模型可通过Hugging Face平台下载，并支持作为UCI引擎运行。Maia-3特别适合用于国际象棋软件开发、棋艺分析以及教学辅助等场景。",2,"2026-06-11 03:58:34","CREATED_QUERY"]