agentscope-ai / agentscope-ai/Trinity-RFT

[monitor] Unify explorer and trainer wandb logging into a single run

未關閉
#556 3 則留言 0 個 reaction 已指派 1 人 已被 @MengsD 認領 在 GitHub 檢視
主要語言
Python
星號
701
分支
79
平均合併
8 小時 7 分鐘
30 天內合併 PR
1

描述

### Problem

When monitor_type: wandb is configured, Trinity creates two separate wandb runs — {name}_explorer and {name}_trainer. This makes it harder to correlate
explorer and trainer metrics (e.g., comparing rollout accuracy against actor loss), and clutters the wandb project with twice as many runs.

### Proposed Solution

A primary process in the launcher creates the wandb run, and both Explorer and Trainer join as
secondary writers via wandb.init(id=run_id, resume="allow", mode="shared").

### Planned Changes:
- config.py: Add wandb_run_id field to MonitorConfig (auto-populated by launcher)
- monitor.py: Add init_wandb_primary() / finish_wandb_primary() helpers; modify WandbMonitor to support shared (secondary) mode
- launcher.py: In both(), create the primary run before spawning actors and pass wandb_run_id through config

### Expected Outcome:

- In shared mode, all metrics are prefixed with their role (explorer/ or trainer/), producing two clean top-level sections in the wandb UI
- wandb.define_metric assigns independent step axes (explorer/step and trainer/step) so the two processes' step counters don't conflict
- for standalone mode, explore() and train() standalone entry points should remain unchanged — they would still create their own independent runs since wandb_run_id remains None.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。