Downloads · 30 days
14
29% of all-time downloads
GL3MON/Qwen3.5-2B-chess-rl-grpo
Qwen3.5-2B-chess-rl-grpo is a text generation model from GL3MON. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as mit.
This is a fine-tuned version of Qwen-3.5-2B on chess move prediction using Group Relative Policy Optimization (GRPO) with Stockfish as the reward signal. This is an RL fine-tuned model that builds upon the SFT checkpo…
Downloads · 30 days
14
29% of all-time downloads
All-time downloads
49
Public
Parameters
1.9B
3.8 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors3.8 GB · 99%
From the Hugging Face model README
This is a fine-tuned version of Qwen-3.5-2B on chess move prediction using Group Relative Policy Optimization (GRPO) with Stockfish as the reward signal. This is an RL fine-tuned model that builds upon the SFT checkpoint.
checkpoint-5940)| Parameter | Value |
|---|---|
| Beta (KL control) | 0.1 |
| Epsilon (clip range) | 0.2 |
| Learning Rate | 1e-6 |
| Samples per prompt | 4 |
| Epochs | 1 |
The RL training was performed on a split of the ChessInstruct dataset with the following task categories:
FIND_NEXT_BEST_MOVEFIND_ADVANTAGED_PLAYERFIND_FINAL_SCOREMLM_ON_MOVESFIND_LAST_MOVESORT_FENSfrom transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_name = "GL3MON/Qwen3.5-2B-chess-rl-grpo"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto"
)
# Example: Generate chess moves
messages = [
{"role": "system", "content": "You are a chess assistant. Provide the best move in SAN format."},
{"role": "user", "content": "What is the best move for white in the position: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1?"}
]
input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
outputs = model.generate(input_ids, max_new_tokens=50, temperature=0.7, do_sample=True)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
MIT License
@software{ChessLM2026,
title = {ChessLM - Qwen-3.5-2B Chess Assistant (RL GRPO)},
author = {GL3MON},
year = {2026},
url = {https://huggingface.co/GL3MON/Qwen3.5-2B-chess-rl-grpo}
}