RohitChandramouli6618 commited on
Commit
1422c62
·
1 Parent(s): ddcd303

Per-task rollouts: easy=2, medium=4, hard=4 — reduces runtime to ~16min

Browse files
Files changed (1) hide show
  1. baseline/evaluator.py +10 -4
baseline/evaluator.py CHANGED
@@ -12,7 +12,11 @@ from core.reward import normalise_score
12
  from core.policy_update import compute_advantage, update_memory
13
  import requests as http_requests
14
 
15
- N_ROLLOUTS = 4
 
 
 
 
16
 
17
 
18
  def build_prompt_with_memory(obs: CityObservation, memory: EpisodicMemory) -> str:
@@ -77,17 +81,19 @@ def run_task_grpo(
77
  env: Any, task_name: str, client: OpenAI,
78
  base_url: str, verbose: bool = True,
79
  ) -> float:
 
 
80
  if verbose:
81
- print(f"\n Task: {task_name.upper()} | {N_ROLLOUTS} rollouts")
82
  print(f" {'─'*44}")
83
 
84
  memory = EpisodicMemory(max_size=20)
85
  rollouts = []
86
 
87
- for i in range(N_ROLLOUTS):
88
  if verbose:
89
  label = "base prompt" if len(memory) == 0 else f"memory: {len(memory)} entries"
90
- print(f"\n Rollout {i+1}/{N_ROLLOUTS} [{label}]")
91
 
92
  total_reward, steps, trajectory = run_rollout(
93
  env, task_name, client, memory, verbose
 
12
  from core.policy_update import compute_advantage, update_memory
13
  import requests as http_requests
14
 
15
+ N_ROLLOUTS = {
16
+ "easy": 2, # Always solves cleanly in 1-2 rollouts, no variance to learn from
17
+ "medium": 4, # Needs GRPO learning signal to stabilise
18
+ "hard": 4, # Needs GRPO learning signal to stabilise
19
+ }
20
 
21
 
22
  def build_prompt_with_memory(obs: CityObservation, memory: EpisodicMemory) -> str:
 
81
  env: Any, task_name: str, client: OpenAI,
82
  base_url: str, verbose: bool = True,
83
  ) -> float:
84
+ n = N_ROLLOUTS[task_name]
85
+
86
  if verbose:
87
+ print(f"\n Task: {task_name.upper()} | {n} rollouts")
88
  print(f" {'─'*44}")
89
 
90
  memory = EpisodicMemory(max_size=20)
91
  rollouts = []
92
 
93
+ for i in range(n):
94
  if verbose:
95
  label = "base prompt" if len(memory) == 0 else f"memory: {len(memory)} entries"
96
+ print(f"\n Rollout {i+1}/{n} [{label}]")
97
 
98
  total_reward, steps, trajectory = run_rollout(
99
  env, task_name, client, memory, verbose