Views
No views yet
Qwen/Qwen3-8B trained with Tinker /
tinker-cookbook on an 8-game
OpenSpiel mix using a 3-phase scripted-opponent curriculum.| Run name | openspiel-qwen3-8b-mix8-curriculum-100iter-202604260230 |
| Wandb | good-start-labs/Neurips 2026 — run name openspiel-qwen3-8b-mix8-curriculum-100iter-202604260230 |
| Tinker train id (final) | 884edcc2-4da0-5569-a16f-8f1fec64914e |
| Source checkpoint | tinker://884edcc2-4da0-5569-a16f-8f1fec64914e:train:0/sampler_weights/final |
| Date | 2026-04-26 |
Note:checkpoints.jsonlfor this run contains twofinalentries due to a supervisor restart at iter 100; this adapter is from the last entry (884edcc2-4da0-5569-a16f-8f1fec64914e), the run that completed cleanly.
Qwen/Qwen3-8Bqwen3_disable_thinking (prefills <think></think>){q,k,v,o,gate,up,down}_proj + lm_head1e-5, importance-sampling loss, KL coef 0groups_per_batch=8, group_size=4, max_tokens=32, temperature=1.0n_batches=100, eval_every=10, save_every=10 (checkpoints 10/20/.../100/final)normalize_returns=True, invalid_action_penalty=-1.0mixture_mode="round_robin", seat_mode="uniform", transform_simultaneous_to_turn_based=True.
Multi-player games use a 3-phase curriculum keyed on training_fraction = batch_idx / (n_batches - 1),
with phase boundaries at 1/3 and 2/3.| Game | Players | Curriculum (easy / medium / hard) |
|---|---|---|
blackjack | 1p + chance | — |
morpion_solitaire | 1p combinatorial | — |
nim (misere, piles 1/3/5/7) | 2p | random / nim_greedy / nim_epsilon_0.1 |
hanabi | 2p coop, partial info | random / hanabi_rule_bot / hanabi_rule_bot |
sheriff | 2p bargaining | random / sheriff_simple / sheriff_simple |
connect_four | 2p zero-sum | random / one_step_win / win_or_block |
breakthrough | 2p zero-sum | random / one_step_win / win_or_block |
pentago | 2p zero-sum | random / one_step_win / one_step_win |
ACTION: <index>.GoodStartLabs/qwen3-8b-openspiel-mix8-curriculum3-100iter uses the same config with
group_size=8 instead of 4 (i.e. 2x rollouts per batch). This run is the lower-rollout variant.1from peft import PeftModel
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-8B", torch_dtype="bfloat16", device_map="auto")
5tok = AutoTokenizer.from_pretrained("Qwen/Qwen3-8B")
6model = PeftModel.from_pretrained(base, "GoodStartLabs/qwen3-8b-openspiel-mix8-curriculum-100iter")