Views
No views yet
erdos. Checkpoint saved
after training step 12 (0-indexed). Strict upstream eval parity:
1100s hard kill, verbatim prompts/entrypoints, group 64x8, T=1.0, kl 0.1.1{
2 "step": 12,
3 "progress/batch": 12,
4 "optim/lr": 4e-05,
5 "progress/done_frac": 0.26,
6 "puct/buffer_size": 200,
7 "puct/sampled_size": 8,
8 "puct/T": 6144,
9 "puct/scale_last": 0.030437059096717956,
10 "puct/buffer_value/mean": -0.38699734128056124,
11 "puct/buffer_value/std": 0.02342610472524454,
12 "puct/buffer_value/min": -0.5130522804051018,
13 "puct/buffer_value/max": -0.38094259466071756,
14 "puct/buffer_timestep/mean": 5.24,
15 "puct/buffer_timestep/std": 3.6141942393844855,
16 "puct/buffer_timestep/min": -1.0,
17 "puct/buffer_timestep/max": 11.0,
18 "puct/buffer_construction_len/mean": 69.25,
19 "puct/buffer_construction_len/std": 24.276274425866916,
20 "puct/buffer_construction_len/min": 40.0,
21 "puct/buffer_construction_len/max": 200.0,
22 "puct/sampled_value/mean": -0.3809625789932495,
23 "puct/sampled_value/std": 1.925123911134351e-05,
24 "puct/sampled_value/min": -0.380988975051037,
25 "puct/sampled_value/max": -0.38094259466071756,
26 "puct/sampled_timestep/mean": 11.0,
27 "puct/sampled_timestep/std": 0.0,
28 "puct/sampled_timestep/min": 11.0,
29 "puct/sampled_timestep/max": 11.0,
30 "puct/sampled_construction_len/mean": 91.0,
31 "puct/sampled_construction_len/std": 15.588457268119896,
32 "puct/sampled_construction_len/min": 64.0,
33 "puct/sampled_construction_len/max": 100.0,
34 "time/sampling": 3061.4046239852905,
35 "env/all/ac_tokens_per_turn": 8983.19140625,
36 "env/all/ob_tokens_per_turn": 1687.375,
37 "env/all/turns_per_episode": 1.0,
38 "env/all/total_episodes": 512,
39 "env/all/total_turns": 512,
40 "env/all/total_ac_tokens": 4599394,
41 "env/all/total_ob_tokens": 863936,
42 "env/all/time/sampling_mean": 512.7500929855742,
43 "env/all/time/sampling_max": 723.3050479888916,
44 "env/all/time/env_step_mean": 860.50782141136,
45 "env/all/time/env_step_max": 2356.7096326351166,
46 "env/all/reward/mean": 0.6088331404213545,
47 "env/all/reward/max": 2.6250984954730012,
48 "env/all/reward/min": 0.0,
49 "env/all/format": 0.998046875,
50 "env/all/format/min": 0.0,
51 "env/all/format/max": 1.0,
52 "env/all/reward": 0.6088331404213545,
53 "env/all/correctness": 0.234375,
54 "env/all/correctness/min": 0.0,
55 "env/all/correctness/max": 1.0,
56 "env/all/raw_score": 0.38589605419161965,
57 "env/all/raw_score/min": 0.3809380773611052,
58 "env/all/raw_score/max": 0.5000000490817166,
59 "env/all/initial_raw_score": -0.3809625789932495,
60 "env/all/initial_raw_score/min": -0.380988975051037,
61 "env/all/initial_raw_score/max": -0.38094259466071756,
62 "env/all/msg": "RuntimeError: Program execution failed: SyntaxError: invalid syntax (program.py, line 61)",
63 "env/all/parsed_code": "```python\nimport numpy as np\nfrom scipy.optimize import basinhopping, minimize, trust-constr\nfrom scipy.optimize.optimize import OptimizeResult\n\ndef run(seed=42, budget_s=1000, **kwargs):\n # Initial number of points and discretization\n n_points = 100\n dx = 2.0 / n_points\n np.random.seed(seed)\n \n # Initial guess: symmetric construction using provided values\n h_initial = initial_h_values.copy()\n h_initial = np.array(h_initial, dtype=np.float64)\n first_half = h_initial[:n_points // 2]\n symmetric_h = np.zeros(n_points)\n symmetric_h[:n_points // 2] = first_half\n symmetric_h[n_points // 2:] = first_half[::-1]\n \n # Scale to meet sum constraint\n current_sum = np.sum(symmetric_h)\n scale_factor = (n_points / 2) / current_sum\n symmetric_h = np.clip(symmetric_h * scale_factor, 0.0, 1.0)\n symmetric_h[-1] = max(0.0, min(1.0, n_points / 2 - np.sum(symmetric_h[:-1])))\n\n # Asymmetric alternate initial guess (small random perturbation)\n asym_h = symmetric_h * (1.0 + 0.01 * np.random.randn(n_points))\n asym_h = np.clip(asym_h, 0.0, 1.0)\n asym_h[-1] = max(0.0, min(1.0, n_points / 2 - np.sum(asym_h[:-1])))\n\n # Define objective and constraint\n def objective(h):\n h_array = np.array(h, dtype=np.float64)\n corr = np.correlate(h_array, 1 - h_array, mode=\"full\")\n return np.max(corr) * dx # Max overlap * dx for integral\n\n def constraint_func(h):\n return np.sum(h) - n_points / 2\n\n bounds = [(0.0, 1.0) for _ in range(n_points)]\n n = n_points\n\n def target_perturbation(h, n, dx, objective):\n h_array = np.clip(np.array(h, dtype=np.float64), 0.0, 1.0)\n corr = np.correlate(h_array, 1 - h_array, mode=\"full\")\n max_idx = np.argmax(corr)\n k = max_idx - n + 1\n\n # Target perturbation around the regions contributing to the max overlap\n if k < 0:\n shift = k + n - 1\n start_idx = max(0, shift - n // 4)\n end_idx = min(n, shift + n // 4)\n elif k >= n:\n shift = k - n\n start_idx = max(0, shift - n // 4)\n end_idx = min(n, shift + n // 4)\n else:\n start_idx = max(0, k - n // 4)\n end_idx = min(n, k + n // 4)\n\n # Perturb in the vicinity of the max overlap\n h_perturbed = h.copy()\n pert = np.random.uniform(-0.02, 0.02, size=len(h))\n h_perturbed[start_idx:end_idx] += pert[start_idx:end_idx]\n h_perturbed = np.clip(h_perturbed, 0.0, 1.0)\n # Adjust last element to maintain constraint\n h_perturbed[-1] = max(0.0, min(1.0, n_points / 2 - np.sum(h_perturbed[:-1])))\n return h_perturbed\n\n # Basinhopping with adaptive refinement\n results = []\n\n for init_h in [symmetric_h, asym_h]:\n result_bh = basinhopping(\n objective,\n init_h,\n niter=1000, # Increased to better explore\n T=0.1, # Reduced temperature for finer convergence\n stepsize=0.1, # Smaller steps to explore local minima\n minimizer_kwargs={\n 'method': 'trust-constr',\n 'bounds': bounds,\n 'constraints': [{'type': 'eq', 'fun': constraint_func}],\n 'options': {'ftol': 1e-10, 'maxiter': 1500, 'disp': False}\n },\n seed=seed\n )\n results.append(result_bh)\n\n # Select the best from all runs\n best_result = min(results, key=lambda x: x.fun)\n best_h = best_result.x\n best_c5 = best_result.fun\n\n # Refinement with targeted perturbations\n for _ in range(200): # Further refinement with guided steps\n h_perturbed = target_perturbation(best_h, n, dx, objective)\n res_perturbed = minimize(\n fun=objective,\n x0=h_perturbed,\n method='trust-constr',\n bounds=bounds,\n constraints=[{'type': 'eq', 'fun': constraint_func}],\n options={'ftol': 1e-10, 'maxiter': 200}\n )\n if res_perturbed.fun < best_c5:\n best_h, best_c5 = res_perturbed.x, res_perturbed.fun\n\n return (best_h, best_c5, n_points)\n```",
64 "env/all/time/policy": 512.7500929855742,
65 "env/all/time/policy/min": 185.49647283554077,
66 "env/all/time/policy/max": 723.3050479888916,
67 "env/all/time/env_step": 860.50782141136,
68 "env/all/time/env_step/min": 0.006842851638793945,
69 "env/all/time/env_step/max": 2356.7096326351166,
70 "env/all/time/reward_compute": 3.4598633646965027e-07,
71 "env/all/time/reward_compute/min": 3.0547380447387695e-07,
72 "env/all/time/reward_compute/max": 3.986060619354248e-07,
73 "env/all/by_group/frac_mixed": 1.0,
74 "env/all/by_group/frac_all_good": 0.0,
75 "env/all/by_group/frac_all_bad": 0.0,
76 "advantage/mean": 0.030342239886522293,
77 "advantage/min": -0.8901344537734985,
78 "advantage/max": 4.5770745277404785,
79 "time/assemble_training_data": 8.021499872207642,
80 "time/kl_vs_base": 126.29890251159668,
81 "kl_policy_base": 0.0007796110003255308,
82 "time/train": 986.5008635520935,
83 "time/save_checkpoint": 14.757006406784058,
84 "time/total": 4198.134828329086
85}[2026-07-09T06:24:18+00:00] job=1812626 node=node-31 ngpu=3 ntrain=1 replicas=2 flash_attn=no
[2026-07-09T08:02:36+00:00] job=1813125 node=node-12 ngpu=3 ntrain=1 replicas=2 flash_attn=yes
[2026-07-09T09:32:13+00:00] job=1813126 node=node-3 ngpu=6 ntrain=2 replicas=4 flash_attn=yes
[2026-07-09T10:04:31+00:00] job=1813623 node=node-31 ngpu=3 ntrain=1 replicas=2 flash_attn=yes