Gemma-3 270M — Chess Coach (LoRA Adapters)
Author: @codertrish
Base model: unsloth/gemma-3-270m-it
Type: LoRA adapters (attach to base at load-time)
Task: Conversational chess tutoring (rules, openings, beginner tactics)
This repo contains only the LoRA adapter weights (ΔW). You must also load the base model and then attach these adapters to reproduce the fine-tuned behavior.
✨ Intended Use
- Direct use: Teach or explain beginner chess concepts, opening principles, and simple tactics in plain English.
- Downstream use: As a lightweight add-on for apps where distributing full weights isn’t desired or allowed.
Out-of-scope: Engine-grade move calculation or authoritative evaluations of complex positions. For strong analysis, pair with a chess engine (e.g., Stockfish).
🔧 How to Use (attach adapters)
Option A — Unsloth (simplest)
# pip install "unsloth[torch]" transformers peft accelerate bitsandbytes sentencepiece
from unsloth import FastModel
from unsloth.chat_templates import get_chat_template
BASE = "unsloth/gemma-3-270m-it" # base checkpoint
ADAPTER= "codertrish/gemma3-270m-chess-lora" # this repo
model, tok = FastModel.from_pretrained(
BASE, max_seq_length=2048, load_in_4bit=True, full_finetuning=False
)
tok = get_chat_template(tok, "gemma3") # Gemma-3 chat formatting
model.load_adapter(ADAPTER) # <-- attach LoRA
messages = [
{"role":"system","content":"You are a helpful chess coach. Answer in plain text."},
{"role":"user","content":"List 3 opening principles for beginners."},
]
prompt = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
out = model.generate(**tok([prompt], return_tensors="pt").to(model.device),
max_new_tokens=200, do_sample=False)
print(tok.decode(out[0], skip_special_tokens=True))
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support