- SDK
- UI
Default metrics
Pre-built training recipes auto-emit the metrics below — no extra code in your run config:| Recipe | Auto-emitted metrics |
|---|---|
sft | train/loss, train/gradient_norm, val/loss (when validation enabled), val/<grader_key> (when grader configured) |
preference_rlhf, metric_rlhf, rl | train/loss, train/reward, train/kl, train/gradient_norm, plus stage-specific metrics for multi-stage runs |
eval | Per-grader scalar scores aggregated across the dataset |
Log custom metrics from a Harmony recipe
For custom recipes, get a logger from the recipe context and call it like a function:Mapping[str, int | float | Table]. Each call advances the internal step counter once.Logging tables
For structured per-step data — sample completions, gradient breakdowns, layer statistics — log aTable:Backend selection
Backend selection
get_prod_logger auto-selects a logging backend based on environment variables present in the recipe sandbox: WandB → MLflow → TensorBoard → stdout. The Adaptive monitoring backend is added in addition (not as a replacement) when ADAPTIVE_BASE_URL and ADAPTIVE_API_KEY are set, so metrics always reach the platform UI even if you also log to a third-party tracker.Set ADAPTIVE_MONITORING_DISABLED=1 to opt out of the Adaptive backend (e.g., for local-only development).
