How oceanflowlab/taro works
TaRO is a framework and set of model assets for training video-temporal-grounding models and evaluating or demoing them. Its documented training approach moves from supervised imitation of constructed reasoning toward self-exploration, with temporal-sensitivity rewards; the user-facing result is a grounded temporal answer. The graph also captures the verl training runtime and checkpoint/model handling. Some TaRO source files and most verl modules were not excerpted, so their internal call relationships are omitted where the evidence does not show them.
Main entry points: ray_trainer.py PPO training loop · workers Training workers · evaluate_vtg.py VTG evaluation · decorator.py Worker dispatch
Components 24
TaRO application
- Interactive demo
demo.py - VTG data
src/vtg_dataset.py - Constructed reasoning
src/utils.py - Temporal reward
src/rewards.py - VTG evaluation
standalone_eval/evaluate_vtg.py - Dataset configuration
standalone_eval/dataset_config.py
Training runtime
- PPO training entry
verl/trainer/main_ppo.py - PPO training loop
verl/trainer/ppo/ray_trainer.py - Agent loops
verl/experimental/agent_loop - Reward loops
verl/experimental/reward_loop - Training workers
verl/workers - Inference rollouts
verl/workers/rollout - Tools and interactions
verl/tools
Distributed execution
- Batch protocol
verl/protocol.py - Worker dispatch
verl/single_controller/base/decorator.py - Ray controller
verl/single_controller/ray/base.py
Model runtime
- Engine configuration
verl/workers/config/engine.py - Model adapters
verl/models/transformers/monkey_patch.py - Checkpoint merger
verl/model_merger/base_model_merger.py
Shared infrastructure
- Checkpoint management
verl/utils/checkpoint/checkpoint_manager.py - FSDP checkpoints
verl/utils/checkpoint/fsdp_checkpoint_manager.py - Megatron checkpoints
verl/utils/checkpoint/megatron_checkpoint_manager.py - Shared utilities
verl/utils
Other components
- Researcher
Connections 25
- Researcher → Interactive demo: runs
- Researcher → VTG evaluation: evaluates
- Researcher → PPO training entry: trains
- VTG data → Constructed reasoning: grounds paths
- Constructed reasoning → Temporal reward: informs reward
- PPO training entry → PPO training loop: starts
verl/trainer/ppo/ray_trainer.py - PPO training loop → Training workers: orchestrates
verl/trainer/ppo/ray_trainer.py - PPO training loop → Batch protocol: uses batches
verl/trainer/ppo/ray_trainer.py - PPO training loop → Ray controller: uses
verl/trainer/ppo/ray_trainer.py - Training workers → Worker dispatch: registers calls
verl/workers/engine_workers.py - Training workers → Engine configuration: configures engine
verl/workers/engine_workers.py - Training workers → Inference rollouts: invokes
verl/workers/engine_workers.py - VTG evaluation → Dataset configuration: loads settings
standalone_eval/evaluate_vtg.py - VTG evaluation → Model adapters: uses
standalone_eval/evaluate_vtg.py - VTG evaluation → Inference rollouts: generates predictions
- Agent loops → Tools and interactions: dispatches tools
- Reward loops → Temporal reward: scores outputs
- Checkpoint management → FSDP checkpoints: specializes
verl/utils/checkpoint/fsdp_checkpoint_manager.py - Checkpoint management → Megatron checkpoints: specializes
verl/utils/checkpoint/megatron_checkpoint_manager.py - PPO training loop → Checkpoint management: manages checkpoints
verl/trainer/ppo/ray_trainer.py - Checkpoint merger → Megatron checkpoints: converts weights
- Worker dispatch → Batch protocol: splits batches
verl/single_controller/base/decorator.py - Worker dispatch → Ray controller: dispatches workers
verl/single_controller/base/decorator.py - Training workers → Shared utilities: uses runtime helpers
verl/workers/engine_workers.py - Engine configuration → Model adapters: configures execution