Can autocomplete play chess blindfolded? A journey into applied AI research

alfredvc1 pts1 comments

Chess as autocomplete | Alfredo

-->

Chess as autocomplete

Can autocomplete play chess blindfolded? A journey into applied AI research

By Alfredo V. Clemente

Play against the final model directly in your browser.

TL;DR<br>A 91M parameter transformer sees only chess moves (plus three tokens naming the players' ratings and the time control), never the board, never the rules. It learns to play blindfolded at near-state-of-the-art human move accuracy, purely by getting good at predicting the next token.

In my previous article, we built a mental model of LLMs as autocomplete.

As a quick recap: LLMs are given the sentence

To<br>be<br>or<br>not<br>to<br>be

that

Figure 1: Predicting the next token.

and simply predict the next token.

So in theory, if we frame the game of chess as a language autocomplete problem, we should be able to train an LLM to play chess.

Can we train a transformer to play chess blindfolded by autocompleting the language of chess?

Blindfold chess is a variant of chess where the players do not see the board. Someone reads out the moves to them, and they reply by announcing their own next move out loud.

This sounds exactly like the framing we want: moves in, moves out.

The most commonly used language to represent chess games is called Standard Algebraic Notation (SAN). For example, the Italian Game starts with the moves

1. e4 e5 2. Nf3 Nc6 3. Bc4

Figure 2: The position after 1. e4 e5 2. Nf3 Nc6 3. Bc4, the Italian Game.

And can be understood as follows:

WhiteBlack

1.<br>e4♙︎ pawn e2 → e4<br>e5♟︎ pawn e7 → e5

2.<br>Nf3♘︎ knight g1 → f3<br>Nc6♞︎ knight b8 → c6

3.<br>Bc4♗︎ bishop f1 → c4

Table 1: The Italian Game in Standard Algebraic Notation.

If you wish to explore SAN in detail you can go to this chess.com article.

Why and what?

…general methods that leverage computation are ultimately the most effective, and by a large margin.

Richard Sutton, The Bitter Lesson, 2019

This project takes that idea to an extreme. Karvonen (2024) showed that a small GPT trained on move text alone learns the board well enough to be probed for it, at 16 million games and 25M parameters. As far as I know nobody has run that idea at scale: a general model (a standard model with nothing chess-specific added: no board, no search, no extra heads) trained on a massive corpus of human games. One transformer, trained on nearly 1.8 billion human games, about a hundred times that corpus.

Predicting the next move in a game is the same problem an LLM solves predicting the next word, so I borrow the whole apparatus: a decoder-only transformer (the model family behind ChatGPT) trained with the recipe modern LLMs are built with. The interface is tokens in, tokens out, nothing else: the model only ever sees a stream of moves and learns to continue it.

The model must learn to calculate everything else: where every piece sits, whose turn it is, which moves are even legal. It reconstructs all of it from the move stream alone. That is blindfold chess in the most literal sense.

Deep diveHow others teach models to play chess like humans

Plenty of others have taught machines human-like chess. They differ in how much chess is built into the architecture, whether they search at move time, whether they learn from a strong engine like Stockfish, and how much data they train on. This project sits at the spare end of the first three (no board, no search, no engine teacher) and leans on the last: data.

System (year)<br>Chess-specific architecture<br>Search / engine teacher<br>Training positions<br>Params<br>Time controls

Maia (2020)<br>8&times;8 board planes; AlphaZero-style CNN; last 12 plies fed in<br>None<br>&asymp;0.6B 1<br>10.3M (&times;9)<br>Blitz/rapid/classical

Maia-2 (2024)<br>Board planes; ResNet CNN + skill-aware attention<br>None<br>9.1B<br>23.3M<br>Rapid only

Maia-3 / Chessformer (2026)<br>64 squares as tokens; geometric attention bias; policy + value heads<br>None<br>&asymp;0.5B 2<br>79M<br>Blitz only

Grandmaster without search (2024)<br>FEN snapshot tokenized; action-value classification head<br>Stockfish teacher<br>&asymp;0.53B 3<br>270M<br>n/a

Allie (2024)<br>Decoder-only LM over UCI move tokens; + value & think-time heads<br>MCTS search<br>&asymp;262B 4<br>355M<br>Blitz only

This post<br>None: vanilla decoder-only LM over move tokens; no board, no value head<br>None<br>122.9B<br>91M<br>All four

Table 2: Related systems that learn human chess.

Position = one board state trained on; one move token per ply for the move-stream LMs (Allie, this post). Time controls = the Lichess game speeds in the training data; "all four" = bullet, blitz, rapid, classical.

Maia: &asymp;0.6B per model, one per rating bin (&times;9); 12M games/model &times; ~50 kept moves/game; model sees 409.6M (400k steps &times; 1024 batch).

Maia-3: corpus size unpublished; &asymp;512M positions processed in training (1M steps &times; 512 effective batch), shown as a scale proxy.

Grandmaster: 15.3B Stockfish action-value labels over &asymp;0.53B distinct positions.

Allie: 6.6B-token training set (91M games) trained ~40 epochs (2M steps &times; 131,072...

chess model move board moves times

Related Articles