{
  "id": "pilot-20261028",
  "title": "A bounded training pilot",
  "date": "2026-10-28",
  "kind": "training",
  "status": "completed",
  "hypothesis": "A causal square-token model can learn next-move structure from a small full-game corpus.",
  "baseline": "Initial random weights: validation NLL 5.027132.",
  "data": "1,816 training games; 408,178 prediction targets per pass. Validation: 17 games / 3,659 targets. September 2026 Lichess pilot; 20-game test split not evaluated.",
  "config": {
    "accumulation": 2,
    "dataset_fingerprint": "a2b2709c431098c8230771629352c17ba747a884a7fae318bd44429a388aade7",
    "epochs_schedule": 20,
    "lr": 0.0003,
    "microbatch": 8,
    "model": {
      "attn_implementation": "sdpa",
      "attn_pdrop": 0,
      "bos_token_id": 69,
      "embd_pdrop": 0,
      "eos_token_id": 70,
      "n_ctx": 1024,
      "n_embd": 768,
      "n_head": 12,
      "n_layer": 12,
      "n_positions": 1024,
      "pad_token_id": 71,
      "resid_pdrop": 0,
      "use_cache": false,
      "vocab_size": 128
    },
    "optimizer": "FP32 fused AdamW betas .9/.95 matrix wd .1 clip1",
    "parameters": 85940736,
    "precision": "FP32 weights/gradients/optimizer; BF16 autocast SDPA",
    "sampling": "seeded length buckets, disjoint full games; right pad; zero-target dummy rank on partial global batches",
    "seed": 2026,
    "tokenizer": {
      "sha256": "0db7085edec22885bd8c51aac4d6867afc04203ba913ef561be97213df019029",
      "version": "chess-square-triple-v1"
    },
    "torch": "2.9.0+cu128",
    "training_code": {
      "train_chess.py": "9461ebe732075af809ab433b9c3269a21654228d1d940efccca081ec19b6534b",
      "training_core.py": "a4a778a52f2391ca4576e6d1329b9e44042b7b47467fc6286512ae51e4ed2d8d"
    },
    "world_size": 2
  },
  "compute": "Two RTX 4090 GPUs; FP32 parameters and optimizer, BF16 autocast. Whole process 186.02 seconds.",
  "results": [
    {
      "label": "Best validation NLL",
      "value": 1.5101759066898401
    },
    {
      "label": "Best update",
      "value": 456
    },
    {
      "label": "Final update",
      "value": 741
    }
  ],
  "limitations": [
    "Only 17 validation games; early stopped after five non-improving checks.",
    "Teacher-forced raw-logit diagnostics are not free-running playing strength.",
    "Pilot validation and full-month validation differ; their NLLs are not a controlled head-to-head comparison.",
    "No test evaluation and no Elo claim."
  ],
  "checkpoint": "f64e1e69eff81a6757f421fdfafd31e77d5d0ab2d88258e73130de014fbc7f7b",
  "sourceSnapshot": "pilot-20261028",
  "history": [
    {
      "step": 57,
      "nll": 2.0629628263037203
    },
    {
      "step": 114,
      "nll": 1.9667897356048443
    },
    {
      "step": 171,
      "nll": 1.8375828636901306
    },
    {
      "step": 228,
      "nll": 1.707227583366784
    },
    {
      "step": 285,
      "nll": 1.6084580547857168
    },
    {
      "step": 342,
      "nll": 1.5552885102978102
    },
    {
      "step": 399,
      "nll": 1.52174292786195
    },
    {
      "step": 456,
      "nll": 1.5101759066898401
    },
    {
      "step": 513,
      "nll": 1.5198594286455487
    },
    {
      "step": 570,
      "nll": 1.5681352180091042
    },
    {
      "step": 627,
      "nll": 1.6614797403982475
    },
    {
      "step": 684,
      "nll": 1.7390809957040858
    },
    {
      "step": 741,
      "nll": 1.9005723292790466
    }
  ],
  "evidence": [
    {
      "label": "results.json",
      "sha256": "a01c7c106aab7f6dde7d6d25a49a62252ab2a90f139a9d2b1739b8ff47809a1a",
      "selectedFields": {
        "best_step": 456,
        "best_validation_nll": 1.5101759066898401,
        "test_evaluated": false
      }
    }
  ]
}
