This is a research fork of jw1912/akimbo by Jamie Whiting. It hosts the engine-side experiments for the paper Trainable Activation Functions for Real-Time Chess Engine Evaluation (preprint forthcoming on arXiv).
Branch map:
| Branch | Contents |
|---|---|
baseline |
Stripped CReLU NNUE baseline (768→128 feature transformer, 256→128→1 post-accumulator; commit d8d2c17). The SPRT reference binary. |
kan-relu-lut |
ReLU-KAN int8 lookup-table evaluation (commit 9dee989). Beats the baseline by +169–226 Elo across two opening books and two time controls, ~2556 absolute Elo vs calibrated Stockfish 18. |
kan-lut |
B-spline LUT development branch (not SPRT-validated). |
Companion repos: y0sif/kanue (offline prototype) and y0sif/bullet (trainer fork with the KAN operations and int8 LUT export).
The original upstream README follows below.
A UCI Chess and Chess960 engine written in Rust.
Huge thanks to all of the members of this OpenBench Instance who have provided support and guidance in the development of akimbo, as well as facilitating far faster testing than on my own (as well as OpenBench itself).
Up to and including version 1.0.0, all data used was self-generated, starting from material values when akimbo still had an HCE and iteratively generating data and tuning to produce higher quality datasets. The final HCE dataset was then used to train akimbo's first network and further data was then generated.
This involved hundreds of hours of compute, and got incredibly tedious, so akimbo now uses data produced by Leela Chess Zero, however no official release will be made with this.
Additionally, akimbo uses its own trainer written in Rust and CUDA, bullet, which also used by a number of other engines.
| Version | Release Date | CCRL 40/15 | CCRL Blitz | Notes |
|---|---|---|---|---|
| 0.1.1 | 8th January 2023 | 2442 | - | First Release |
| 0.2.0 | 10th April 2023 | 2504 | - | - |
| 0.3.0 | 16th May 2023 | 2570 | - | - |
| 0.4.0 | 4th July 2023 | 2729 | 2723 | - |
| 0.4.1 | 4th August 2023 | - | 2841 | Final PST-only Release |
| 0.5.0 | 13th August 2023 | 3026 | 3062 | Better HCE |
| 0.6.0 | 24th September 2023 | 3335 | - | NNUE |
| 0.7.0 | 30th October 2023 | 3389 | 3485 | DFRC + SMP Support |
| 0.8.0 | 2nd January 2024 | 3438 | 3548 | - |
| 1.0.0 | 26th March 2024 | 2474 | 3583 | Final Original Data Release |
Run the following command
make EVALFILE=resources/net.bin
and the executable will be located in target/release.