{ "_doc": "训练心跳事件 schema · 由 GPU 服务器 progress-reporter.sh 通过 GitHub repository_dispatch 发送 · 仓库一侧 training-dashboard.yml workflow 接收并合并到 data/training/state.json", "_event_type": "training-progress", "client_payload_schema": { "phase": "string · idle | bootstrapping | downloading-corpus | preprocessing | training | evaluating | done | error", "phase_label": "string · 中文短语,例如 '训练第 100/1000 步'", "level": "string · info | warning | error · (可选, 默认 info)", "message": "string · 写入 timeline 的事件描述", "progress": { "step": "number", "total_steps": "number", "epoch": "number", "total_epochs": "number", "loss": "number", "learning_rate": "number", "throughput_samples_per_sec": "number", "eta_seconds": "number", "elapsed_seconds": "number" }, "gpu_metrics": { "snapshot_at": "ISO 8601 string", "devices": [ { "index": "number", "name": "string", "util_percent": "number", "memory_used_mib": "number", "memory_total_mib": "number", "temperature_c": "number", "power_w": "number" } ] }, "cos": { "raw_files": "number", "processed_files": "number", "checkpoints": "number" }, "health": { "status": "string · ok | warning | error | idle", "message": "string" } }, "_minimum_fields": ["phase"], "_example": { "phase": "training", "phase_label": "训练第 100/1000 步 · loss=2.31", "message": "step=100 loss=2.31 lr=2.0e-5", "progress": { "step": 100, "total_steps": 1000, "epoch": 1, "total_epochs": 3, "loss": 2.31, "learning_rate": 2.0e-5, "throughput_samples_per_sec": 1.8, "eta_seconds": 4500, "elapsed_seconds": 540 }, "gpu_metrics": { "snapshot_at": "2026-05-02T17:00:00Z", "devices": [ { "index": 0, "name": "Tesla V100-SXM2-32GB", "util_percent": 99, "memory_used_mib": 28000, "memory_total_mib": 32510, "temperature_c": 72, "power_w": 280 } ] }, "health": { "status": "ok", "message": "训练正常 · 4 卡满载" } } }