training / README.md
burtenshaw's picture
burtenshaw HF Staff
feat: trackio alerts
362671b verified
|
Raw History Blame Contribute Delete
3.45 kB

A newer version of the Gradio SDK is available: 6.30.0

Upgrade
metadata
title: OpenEnv Arena training
emoji: 🎯
sdk: gradio
app_file: app.py
short_description: Live training curves of every OpenEnv Arena run
tags:
  - trackio
hf_oauth: true
hf_oauth_scopes:
  - write-repos

Every OpenEnv Arena training run streams its numbers here while it trains: reward, loss and how long each step took. Each participant has a project with one run per training run, and the arena's own submissions page links each run to its curves. Built with Trackio.

Worker ingestion

Set the Space secret TRACKIO_INGEST_TOKEN to the same dedicated random credential configured on Arena's workers. It only authorizes POST /ingest; it is not a Hugging Face token or Trackio's dashboard administration token. When unset, ingestion is disabled and the dashboard continues serving existing runs.

Send Authorization: Bearer <credential> with a JSON body:

{"logs":[{"project":"burtenshaw","run":"arena-run-id","run_id":"arena-run-id","step":1,"log_id":"unique-event-id","metrics":{"reward":0.75,"arena/step_seconds":1.2},"config":{"submission_id":"submission-id"}}]}

A batch contains 1–128 events for one project and run, up to 256 KiB. Each event contains 1–128 finite numeric metrics. Project, run and event IDs contain only ASCII letters, digits, _ and -, up to 128 characters. run_id may be omitted; when present it must equal run. Preserve each log_id when retrying delivery; duplicates cannot replace existing metrics. Distinct events at the same step need distinct IDs.

Optional config accepts strings participant, submission_id, run_id, model, model_revision, recipe, and nonnegative numbers num_updates, train_tasks. Supply it on the first batch; it cannot be changed after a run exists. Repeating the same config on subsequent events is supported.

The same endpoint accepts an alerts list, alone or alongside logs:

{"alerts":[{"project":"burtenshaw","run":"arena-run-id","run_id":"arena-run-id","alert_id":"sandbox-cleanup-39","title":"Sandbox cleanup timed out","text":"Training ended after 39 updates. Evaluation will use the last checkpoint.","level":"error","step":39}]}

An alert has a required stable alert_id, a nonempty title of up to 200 characters, optional plain text of up to 4,000 characters, and level of info, warn, or error. Its optional step is a nonnegative integer or null. Identity and config follow the same rules as logs. The combined batch limit is 128 events; the entire batch must describe one run. Retry with the same alert_id; retries cannot replace an existing alert. Alert-only failures register a run without inventing numeric metrics.

Alerts are public. Send bounded messages describing the failure and next action; never include credentials, private trajectories, or raw exception payloads. They appear in Trackio's run-filtered Reports page at /reports?project=<participant>&runs=<full-run-id>. Trackio 0.40.0 does not expose individual-alert anchors or a URL parameter for the severity filter.

The existing openenvarena/training-dashboard bucket stays mounted at /data, with TRACKIO_DIR=/data/trackio. The app uses this mounted storage directly and does not provision Spaces, buckets or credentials. Run one server process for Trackio's bucket-backed SQLite storage. Trackio remains pinned to 0.40.0.