0xrushi's picture
Clarify LiquidAI to ChessLFM model lineage
2208a73 verified
|
Raw History Blame Contribute Delete
3.9 kB
---
library_name: transformers
license: other
license_name: lfm1.0
license_link: LICENSE
base_model: LiquidAI/LFM2.5-230M-Base
pipeline_tag: text-generation
tags:
- chess
- lfm2
- research
- transformers
---
# Chess language-model experiments
Five chess language-model checkpoints and evaluation summaries from experiments in [0xrushi/ChessLFM](https://github.com/0xrushi/ChessLFM). These checkpoints are provided for research and reproducibility.
**Model lineage:** [LiquidAI/LFM2.5-230M-Base](https://huggingface.co/LiquidAI/LFM2.5-230M-Base) β†’ public [mlabonne/LFM2.5-230M-Chess](https://huggingface.co/mlabonne/LFM2.5-230M-Chess) β†’ four experiments in this repository. The upstream ChessLFM checkpoint records LiquidAI's base model in its `surgery_meta.json`. Our four experimental checkpoints use the released ChessLFM weights as their **direct** starting point, so they descend from LiquidAI's base through ChessLFM. **They were not trained from random initialization or directly from the LiquidAI base weights.** The `released-baseline/` folder is the upstream ChessLFM reference, not a model trained by this project.
## Checkpoints and observed results
| Rank by highest observed score | Folder | Checkpoint | Match score | W/D/L | Opening block | Descriptive Elo* |
| ---: | --- | --- | ---: | ---: | --- | ---: |
| 1 | `released-baseline/` | Released ChessLFM baseline | 17.5/32 | 12/11/9 | Later (16–31) | ~2033 |
| 2 | `branch-ranking-treatment/` | Branch-ranking treatment | 15.5/32 | 12/7/13 | Later (16–31) | ~1989 |
| 3 | `branch-ranking-control/` | Matched branch-ranking control | 13/32 | 5/16/11 | Later (16–31) | ~1934 |
| 4 (tie) | `self-play-refresh/` | Self-play refresh, round 1 | 12/32 | 9/6/17 | Initial (0–15) | ~1911 |
| 4 (tie) | `action-value-finetune/` | Action-value fine-tune, standard search | 12/32 | 10/4/18 | Initial (0–15) | ~1911 |
*The Elo column applies the logistic score transform relative to Stockfish configured at Elo 2000. It is descriptive only: 8–32 games per condition gives substantial uncertainty. Opening blocks differ, so ranks across blocks are only an ordering of the highest observed scores, not a controlled cross-model comparison. In the later block, the paired bootstrap interval for branch-ranking treatment versus control was [βˆ’4.0, +9.5] points; it includes no advantage. See the detailed [experiment report](https://github.com/0xrushi/ChessLFM/blob/main/EXPERIMENT_REPORT_2026-10-01.md).
## What is included
Each folder contains Transformers model weights, model configuration, the chess tokenizer, and `token_ids.json`. Training recovery states, optimizer files, raw datasets, and match journals are not included. Use the project code for the chess-specific 80-token prompt, legal-move masking, and depth-three search; these weights alone are not a complete chess engine.
Example loading one checkpoint:
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "0xrushi/chesslfm-experiments"
subfolder = "released-baseline"
tokenizer = AutoTokenizer.from_pretrained(repo, subfolder=subfolder)
model = AutoModelForCausalLM.from_pretrained(repo, subfolder=subfolder)
```
## License
The model weights are derivatives of [LiquidAI/LFM2.5-230M-Base](https://huggingface.co/LiquidAI/LFM2.5-230M-Base) through the upstream ChessLFM checkpoint. They are distributed under the [LFM Open License v1.0](LICENSE), including its commercial-use threshold. The repository's training code is separately available under MIT in the GitHub project.
## References
- Upstream chess model: [mlabonne/LFM2.5-230M-Chess](https://huggingface.co/mlabonne/LFM2.5-230M-Chess)
- Base model and license: [LiquidAI/LFM2.5-230M-Base](https://huggingface.co/LiquidAI/LFM2.5-230M-Base)
- ChessLFM article: [ChessLFM: 2000 Elo in 230M params](https://maximelabonne.substack.com/p/chesslfm-2000-elo-in-230m-params)