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%
-
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>
-
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>