A dark-themed, interactive dashboard for analyzing and comparing training runs from OpenAI's Parameter Golf challenge. Drop your log files in, get instant visual feedback on convergence, quantization impact, and efficiency — all in one place.
Live tool: farcas.dev/golf
- Multi-run comparison — Load multiple
.txt/.logfiles (or entire folders) and compare them side by side. - Val BPB & Loss curves — Track bits-per-byte and validation loss over training steps with zoomable, brushable charts.
- Step time analysis — Spot throughput regressions across architectures.
- Quantization impact view — See pre-quant vs post-quant BPB at a glance and identify how much each run loses to INT8+zlib roundtrip.
- Params vs BPB scatter — Visualize the efficiency frontier: which architectures get the most out of their parameter budget.
- Detailed comparison table — Architecture, params, steps, ms/step, wall-clock time, artifact size, 16MB budget compliance, and peak VRAM in one sortable view.
- Baseline pinning — The official baseline run is always highlighted in red with a dashed reference line for quick delta reads.
- Open the tool.
- Drag and drop one or more
.txtor.logfiles (you can also drop entire folders). - Click run cards to toggle visibility. Use the chart tabs and controls to explore.
This tool is built to parse the default log format produced by the official Parameter Golf training codebase. It will only work correctly if your logs follow that exact format. Specifically, the parser expects lines matching these patterns:
Training steps:
step:1000/5000 train_loss:2.3456 train_time:12345ms step_avg:123.45ms
Validation steps:
step:1000/5000 val_loss:1.8765 val_bpb:1.2345 train_time:12345ms step_avg:123.45ms
Final evaluation:
final_int8_zlib_roundtrip_exact val_loss:1.8900 val_bpb:1.2400
Config lines (optional but parsed if present):
model_params:46000000
architecture:ETD_Hybrid_UniT ...
world_size:8 ...
train_batch_tokens:524288
quantization:int8_zlib
If you've customized the logging format, added extra fields, changed delimiters, or restructured the output in any way, the visualizer will not parse your runs correctly — you'll either see missing data or empty charts.
TL;DR — Keep the logging exactly as it ships in the official Parameter Golf baseline code. Don't modify the print statements.
├── assets/ # Repository images (e.g., ss.png)
├── public/ # Static assets (baseline.txt goes here)
├── src/
│ └── App.jsx # Main application component
├── index.html # Entry point
├── package.json # Dependencies & scripts
├── vite.config.js # Vite configuration
└── README.md
Prerequisites: Node.js v18+ (which includes npm).
# Clone the repo
git clone https://github.com/5en5e1/parameter-golf-visualizer.git
cd parameter-golf-visualizer
# Install dependencies
npm install
# Start the dev server
npm run devThe app will be available at http://localhost:5173. To build for production:
npm run buildThe output goes to dist/ — static files you can deploy anywhere (Vercel, Netlify, GitHub Pages, your own server).
React + Recharts + Vite. No backend, everything runs client-side in your browser. Your log data never leaves your machine.
Built by farcas.dev — born out of needing a faster way to compare dozens of experimental runs during the Parameter Golf competition.
