SPB Git

spb/forge-studio Public

The Instruments of LLM training — a native macOS cockpit for Forge. Train language models from scratch on Apple Silicon without a terminal.

Swift 95.7% Shell 4.3%

History of ForgeStudio/Views/CheckpointsPanel.swift · clear filter

  1. v0.2.0: linked axes, clickable checkpoint marks, full variant form, exports, run queue
    - ChartXState shared between the main chart and all secondary charts:
      zooming/panning up top moves every chart, and the hover crosshair is
      synchronized - secondary headers show the value AT the cursor
    - Checkpoint annotations on the loss chart (green dashed rules with a
      drive glyph); clicking one selects that checkpoint in the panel below
    - New Run form now covers EVERY Forge config field: attention/positions
      (rope theta/global/scaling, NoPE, head_dim, bias, softcap), norm
      placement, QAT, the full MoE section (V3 sigmoid/noaux/scaling/shared/
      first-k-dense), advanced optimizer (Muon, WSD, betas, forge_save/dtype)
    - Export menu: chart as 2x PNG (ImageRenderer), metrics as CSV
    - Run queue: starting a run while one is live persists it as "queued";
      the supervisor launches the oldest queued run when the active one
      exits - trainings never overlap, nothing is lost
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    simon-pierre boucher committed 5 days ago (Aug 5, 2026) · 1 file changed +2 −2
  2. M3/M4: interactive chart, checkpoints/generate/eval panel, crash recovery, watchdog
    - TrainingChartView: hover crosshair with step/train/EMA/ppl/val callout,
      pinch-zoom + horizontal pan (chartScrollableAxes), follow-live pill that
      disengages on manual pan and re-pins to the latest data, double-click /
      fit reset, log-Y, best-val rule — replaces the static chart
    - CheckpointsPanel on finished runs: checkpoint list (step/size), Generate
      (prompt/temp/top-k, streamed output) and Eval (loss/ppl) via forge CLI
    - Crash recovery: runs persisted as active at launch are truthfully marked
      stopped, with the live-PID case called out; no lying states
    - Watchdog: 'possibly stalled' badge when a running run's log.csv stops
      growing for 30s
    - New Run: import/export Forge-compatible JSON configs
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    simon-pierre boucher committed 5 days ago (Aug 5, 2026) · 1 file changed +172