Qwen3-1.7B-Wordle-SFT-GRPO

Qwen3-1.7B trained to play Wordle on the OpenEnv Wordle environment: a short SFT warmup (openenv/Qwen3-1.7B-Wordle-SFT), then GRPO with TRL. It plays through a guess tool and writes a short reasoning before each guess. The OpenEnv Wordle tutorial walks through the whole pipeline.

Model Wins on 30 words (greedy) Guesses per win Invalid guesses
Qwen3-1.7B 0/30 - 24
Qwen3-1.7B-Wordle-SFT 10/30 3.2 41
This model 20/30 4.1 3

The 30 words (secrets30.txt) come from the 156 nouns TextArena draws its secrets from, the same list used in training, and each model was trained once. Treat the numbers as one run on this environment's words.

Watch the three play the same words in the Wordle Arena.

Training

GRPO with environment_factory, starting from the SFT model: 150 steps of 4 prompts x 16 games, thinking on, constant learning rate 1e-6, max_completion_length=4096, vllm_importance_sampling_mode="token_truncate", vLLM colocated. The reward has three terms: a win that pays more the faster it comes (1 + 0.5 * (1 - guesses / 6)), partial credit from the best guess of a lost game (0.1 * greens), and -0.1 per invalid move. One A100 80GB through Hugging Face Jobs, about 2 hours 15 minutes ($5.60). Script: grpo.py. Training curves: Trackio. The completions/ folder holds every logged game.

Use it

Play it against the environment with evaluate.py:

uv run evaluate.py --model openenv/Qwen3-1.7B-Wordle-SFT-GRPO --thinking --max-new-tokens 512 --games 5 --env-url https://openenv-wordle.hf.space --out games.jsonl

Framework versions

  • TRL: 1.16.0
  • OpenEnv: 0.10.0
  • Transformers: 5.20.2
  • vLLM: 0.31.0
Downloads last month
1,091
Safetensors
Model size
2B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for openenv/Qwen3-1.7B-Wordle-SFT-GRPO

Finetuned
Qwen/Qwen3-1.7B
Finetuned
(1)
this model