Joeyfully commited on
Commit
1cf9d3d
·
verified ·
1 Parent(s): ba69de3

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +220 -1
README.md CHANGED
@@ -1,3 +1,222 @@
1
  ---
2
- license: cc0-1.0
 
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ license: mit
3
+ library_name: pytorch
4
+ tags:
5
+ - chess
6
+ - chess-engine
7
+ - stockfish
8
+ - imitation-learning
9
+ - policy-distillation
10
+ - value-network
11
+ - uci
12
+ - lichess-bot
13
  ---
14
+
15
+ # JoeyEngine-30M
16
+
17
+ **JoeyEngine-30M** is a lightweight neural chess engine distilled from Stockfish-labeled positions.
18
+
19
+ It is designed to be simple to run, easy to plug into `lichess-bot`, and useful as a compact baseline for **search-free neural chess play**.
20
+
21
+ ```text
22
+ Model: 30M-parameter policy/value CNN
23
+ Training: Stockfish imitation learning
24
+ Dataset: 10M positions
25
+ Labels: depth-10 Stockfish, MultiPV=5
26
+ Inference: no search, no opening book, no tablebase
27
+ Interface: UCI-compatible
28
+ ```
29
+
30
+ ---
31
+
32
+ ## Links
33
+
34
+ - **Model:** https://huggingface.co/Joeyfully/chess-stockfish-il-10m-d10-mpv5
35
+ - **Dataset:** https://huggingface.co/datasets/Joeyfully/chess-stockfish-il-10m-d10-mpv5
36
+ - **Lichess bot:** https://lichess.org/@/Joey_ChessEngine
37
+
38
+ ---
39
+
40
+ ## Model Tags
41
+
42
+ ```text
43
+ neural chess engine
44
+ Stockfish distillation
45
+ imitation learning
46
+ policy/value network
47
+ search-free chess engine
48
+ UCI engine
49
+ lichess-bot compatible
50
+ PyTorch
51
+ ```
52
+
53
+ ---
54
+
55
+ ## Performance
56
+
57
+ JoeyEngine is evaluated as a **pure neural engine**:
58
+
59
+ ```text
60
+ No alpha-beta search
61
+ No MCTS
62
+ No opening book
63
+ No endgame tablebase
64
+ One neural forward pass per move
65
+ ```
66
+
67
+ ### Offline test set
68
+
69
+ | Metric | Value |
70
+ |---|---:|
71
+ | Test positions | 500,000 |
72
+ | Stockfish top-1 accuracy | 47.12% |
73
+ | Stockfish top-3 accuracy | 77.59% |
74
+ | Stockfish top-5 accuracy | 87.78% |
75
+ | Value correlation | 0.9401 |
76
+ | Test loss | 2.0580 |
77
+
78
+ ### Engine match diagnostics
79
+
80
+ These are preliminary diagnostics, not official Elo ratings.
81
+
82
+ | Opponent | Time Control | Games | Score |
83
+ |---|---:|---:|---:|
84
+ | Stockfish UCI_Elo=1500 | 60+0.6 | 20 | 60.0% |
85
+ | Stockfish UCI_Elo=1500 | 10+0.1 | 100 | 70.0% |
86
+ | Stockfish UCI_Elo=1800 | 10+0.1 | 100 | 34.0% |
87
+
88
+ Observed behavior:
89
+
90
+ ```text
91
+ Stronger at short time controls
92
+ Strong in direct attacks and mating patterns
93
+ Weaker in long forcing lines and endgame conversion
94
+ ```
95
+
96
+ ---
97
+
98
+ ## Quick Start
99
+
100
+ Install dependencies:
101
+
102
+ ```bash
103
+ pip install torch numpy python-chess
104
+ ```
105
+
106
+ Run the UCI engine:
107
+
108
+ ```bash
109
+ python uci_engine.py --ckpt best_engine.pt --device cpu
110
+ ```
111
+
112
+ Manual UCI test:
113
+
114
+ ```text
115
+ uci
116
+ isready
117
+ position startpos
118
+ go movetime 1000
119
+ quit
120
+ ```
121
+
122
+ Expected style of output:
123
+
124
+ ```text
125
+ id name JoeyStage1StockfishDistill
126
+ id author Joey
127
+ uciok
128
+ readyok
129
+ bestmove e2e4
130
+ ```
131
+
132
+ ---
133
+
134
+ ## Use with lichess-bot
135
+
136
+ JoeyEngine can be used directly as a custom UCI engine in `lichess-bot`.
137
+
138
+ Example layout:
139
+
140
+ ```text
141
+ lichess-bot/
142
+ engines/
143
+ JoeyEngine/
144
+ joey_engine.sh
145
+ uci_engine.py
146
+ model.py
147
+ common_chess.py
148
+ best_engine.pt
149
+ ```
150
+
151
+ Example `joey_engine.sh`:
152
+
153
+ ```bash
154
+ #!/usr/bin/env bash
155
+ cd "$(dirname "$0")"
156
+ export OMP_NUM_THREADS=1
157
+ export MKL_NUM_THREADS=1
158
+ export OPENBLAS_NUM_THREADS=1
159
+ export NUMEXPR_NUM_THREADS=1
160
+ export NUMEXPR_MAX_THREADS=1
161
+ exec /path/to/python -u uci_engine.py --ckpt best_engine.pt --device cpu
162
+ ```
163
+
164
+ Example `config.yml` engine block:
165
+
166
+ ```yaml
167
+ engine:
168
+ dir: "./engines/JoeyEngine"
169
+ name: "joey_engine.sh"
170
+ debug: false
171
+ working_dir: "./engines/JoeyEngine"
172
+ protocol: "uci"
173
+ ponder: false
174
+ uci_options: {}
175
+ silence_stderr: false
176
+ ```
177
+
178
+ For pure JoeyEngine evaluation, disable external move sources:
179
+
180
+ ```yaml
181
+ online_moves:
182
+ chessdb_book:
183
+ enabled: false
184
+ lichess_cloud_analysis:
185
+ enabled: false
186
+ lichess_opening_explorer:
187
+ enabled: false
188
+ online_egtb:
189
+ enabled: false
190
+
191
+ lichess_bot_tbs:
192
+ syzygy:
193
+ enabled: false
194
+ gaviota:
195
+ enabled: false
196
+ ```
197
+
198
+ ---
199
+
200
+ ## Recommended Files
201
+
202
+ ```text
203
+ best_engine.pt # inference checkpoint
204
+ uci_engine.py # UCI wrapper
205
+ model.py # model definition
206
+ common_chess.py # board/action utilities
207
+ requirements.txt
208
+ README.md
209
+ ```
210
+
211
+ ---
212
+
213
+ ## Citation
214
+
215
+ ```bibtex
216
+ @misc{joeyengine30m2026,
217
+ title = {JoeyEngine-30M: Stockfish Policy/Value Distillation for Search-Free Neural Chess Play},
218
+ author = {Joey},
219
+ year = {2026},
220
+ howpublished = {https://huggingface.co/Joeyfully/chess-stockfish-il-10m-d10-mpv5}
221
+ }
222
+ ```