Spaces:
Running
title: 1650-Elo Browser Chess
emoji: ♟️
colorFrom: blue
colorTo: indigo
sdk: static
app_file: index.html
pinned: false
short_description: Grafted BT4 to Qwen3-1.7B chess, self-playing on WebGPU
custom_headers:
cross-origin-embedder-policy: credentialless
cross-origin-opener-policy: same-origin
1650-Elo browser chess — Latent Grafting
A frozen Lc0 BT4 chess trunk is grafted into Qwen3-1.7B as soft-prompt tokens; the LLM reads the graft and plays. Everything — the BT4 trunk, the graft stem, and the quantized LLM — runs entirely client-side on WebGPU via onnxruntime-web. No server inference.
Three games self-play simultaneously (batched on the GPU), each streaming the model's
<think> reasoning and its stated win probability per move.
How it's served
This is a static Space. The custom_headers block above sets COOP/COEP so the browser
grants SharedArrayBuffer (required by ORT-web's threaded WASM + WebGPU). The pre-built
front-end and the ~1.6 GB of model weights are committed under dist/ (weights via Git LFS)
and served as-is; app_file points at dist/index.html.
Requirements (for visitors)
A WebGPU browser (Chrome/Edge 113+, Safari 18+) and a ~1.6 GB one-time download (cached after first load). Click Load model, then Self-play.