Visions! omens! hallucinations! miracles! ecstasies!
THE REFERENT
You’ve reached the website of Cosmo, a computer person with an interest in artificial intelligence & low-level programming, particularly deep learning and chess engines.
I care very much about the correctness and performance of software, and hope that you do too. I have a continuing fondness for the Rust programming language, and use it extensively in my projects. I work on web services and command-line tools, accidentally standardise data formats, and reïmplement the occasional ML paper.
You may also enjoy the works of my most wonderful friends, at sialia.dev, ettolrach.com, and typ.dev.
PRINCIPAL ENDEAVOUR
Viridithas
A highly competitive chess-playing program that participates in top chess engine competitions.
ASSORTED MISADVENTURES
- AlphaZero, RL, and SPSA
On the training objective of AlphaZero, and the use of SPSA to directly optimise win-rate in lc0. - Better activation functions for NNUE
Results from Swish and SwiGLU in NNUE. - Chess networks use a Gated Nonlinear Unit
In which I analogise pairwise multiplication to the Gated Linear Unit. - Training dynamics of target weighting
Does it matter whether you predict the true future, or a stronger version of yourself? - Deep NNUE
Important architectural improvements in Viridithas 14. - More experimentation in NNUE
King buckets, output buckets, and Elo scaling with network size. - Experimenting with NNUE configurations
Results from activation functions, learning rates, and batch sizes. - NNUE performance improvements
How to make NNs run fast in chess engines. - Contra “Grandmaster-Level Chess Without Search”
A critique of DeepMind's searchless chess paper, with comparison to Lc0. - An overview of computer chess techniques
Alpha-beta, PVS, iterative deepening, move ordering, search reductions, etc. - and more at the Sitemap.