Views
No views yet
erdos. Checkpoint saved
after training step 9 (0-indexed). Strict upstream eval parity:
1100s hard kill, verbatim prompts/entrypoints, group 64x8, T=1.0, kl 0.1.1{
2 "step": 9,
3 "progress/batch": 9,
4 "optim/lr": 4e-05,
5 "progress/done_frac": 0.2,
6 "puct/buffer_size": 152,
7 "puct/sampled_size": 8,
8 "puct/T": 4608,
9 "puct/scale_last": 0.06766261034659665,
10 "puct/buffer_value/mean": -0.38928094478431846,
11 "puct/buffer_value/std": 0.02850334475476332,
12 "puct/buffer_value/min": -0.5236859987110454,
13 "puct/buffer_value/max": -0.38094181613568817,
14 "puct/buffer_timestep/mean": 3.736842105263158,
15 "puct/buffer_timestep/std": 2.7499685216027645,
16 "puct/buffer_timestep/min": -1.0,
17 "puct/buffer_timestep/max": 8.0,
18 "puct/buffer_construction_len/mean": 76.88815789473684,
19 "puct/buffer_construction_len/std": 17.720620363867976,
20 "puct/buffer_construction_len/min": 42.0,
21 "puct/buffer_construction_len/max": 143.0,
22 "puct/sampled_value/mean": -0.38094904986646116,
23 "puct/sampled_value/std": 3.951250534745919e-06,
24 "puct/sampled_value/min": -0.38095143631314393,
25 "puct/sampled_value/max": -0.38094181613568817,
26 "puct/sampled_timestep/mean": 8.0,
27 "puct/sampled_timestep/std": 0.0,
28 "puct/sampled_timestep/min": 8.0,
29 "puct/sampled_timestep/max": 8.0,
30 "puct/sampled_construction_len/mean": 80.0,
31 "puct/sampled_construction_len/std": 0.0,
32 "puct/sampled_construction_len/min": 80.0,
33 "puct/sampled_construction_len/max": 80.0,
34 "time/sampling": 1842.0043778419495,
35 "env/all/ac_tokens_per_turn": 9338.623046875,
36 "env/all/ob_tokens_per_turn": 1427.5,
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": 4781375,
41 "env/all/total_ob_tokens": 730880,
42 "env/all/time/sampling_mean": 504.9819505098276,
43 "env/all/time/sampling_max": 749.380354642868,
44 "env/all/time/env_step_mean": 89.82932192273438,
45 "env/all/time/env_step_max": 1104.140650510788,
46 "env/all/reward/mean": 0.9000393870908354,
47 "env/all/reward/max": 2.6250728159904417,
48 "env/all/reward/min": 0.0,
49 "env/all/format": 1.0,
50 "env/all/format/min": 1.0,
51 "env/all/format/max": 1.0,
52 "env/all/reward": 0.9000393870908354,
53 "env/all/correctness": 0.3515625,
54 "env/all/correctness/min": 0.0,
55 "env/all/correctness/max": 1.0,
56 "env/all/raw_score": 0.39456766783979275,
57 "env/all/raw_score/min": 0.380941803845533,
58 "env/all/raw_score/max": 1.0,
59 "env/all/initial_raw_score": -0.3809490498664613,
60 "env/all/initial_raw_score/min": -0.38095143631314393,
61 "env/all/initial_raw_score/max": -0.38094181613568817,
62 "env/all/msg": "Computed C5 is not finite: nan",
63 "env/all/parsed_code": "```python\nimport numpy as np\nfrom scipy.optimize import basinhopping, Bounds, minimize\nfrom scipy.signal import correlate\n\n\ndef generate_initial_guesses(n_points, required_sum):\n guesses = []\n \n # Use the initial provided guess\n h = initial_h_values.copy()\n h = h * required_sum / np.sum(h)\n guesses.append(h)\n \n # Perturb the initial guess\n perturbed = h + np.random.normal(0, 0.05, n_points)\n perturbed = np.clip(perturbed, 0.0, 1.0)\n perturbed = perturbed * required_sum / np.sum(perturbed)\n guesses.append(perturbed)\n\n # Structured guess: evenly spaced 1s\n h_even = np.zeros(n_points)\n for i in range(n_points):\n if i % 2 == 0:\n h_even[i] = 1\n h_even = h_even * required_sum / np.sum(h_even)\n guesses.append(h_even)\n\n # Structured guess: three clusters\n dx = 2.0 / n_points\n cluster1_start = int(0.25 / dx)\n cluster1_end = int(0.5 / dx)\n cluster2_start = int(0.5 / dx)\n cluster2_end = int(0.75 / dx)\n cluster3_start = int(1.0 / dx)\n cluster3_end = int(1.25 / dx)\n\n h_clusters = np.zeros(n_points)\n h_clusters[cluster1_start:cluster1_end] = 1.0\n h_clusters[cluster2_start:cluster2_end] = 1.0\n h_clusters[cluster3_start:cluster3_end] = 1.0\n h_clusters = h_clusters * required_sum / np.sum(h_clusters)\n guesses.append(h_clusters)\n\n # Structured guess: four clusters\n cluster1_start = int(0.25 / dx)\n cluster1_end = int(0.5 / dx)\n cluster2_start = int(0.5 / dx)\n cluster2_end = int(0.75 / dx)\n cluster3_start = int(1.0 / dx)\n cluster3_end = int(1.25 / dx)\n cluster4_start = int(1.25 / dx)\n cluster4_end = int(1.5 / dx)\n\n h_four_clusters = np.zeros(n_points)\n h_four_clusters[cluster1_start:cluster1_end] = 1.0\n h_four_clusters[cluster2_start:cluster2_end] = 1.0\n h_four_clusters[cluster3_start:cluster3_end] = 1.0\n h_four_clusters[cluster4_start:cluster4_end] = 1.0\n h_four_clusters = h_four_clusters * required_sum / np.sum(h_four_clusters)\n guesses.append(h_four_clusters)\n\n # Random initial guess\n h_random = np.random.uniform(0.0, 1.0, n_points)\n h_random = h_random * required_sum / np.sum(h_random)\n guesses.append(h_random)\n\n return guesses\n\n\ndef evaluate_C5(h, dx):\n h1 = 1.0 - h\n corr = correlate(h, h1, mode='full')\n max_corr = np.max(corr)\n return max_corr * dx\n\n\ndef run(seed=42, budget_s=1000, **kwargs):\n import random\n random.seed(seed)\n np.random.seed(seed)\n\n n_points = len(initial_h_values)\n dx = 2.0 / n_points\n required_sum = int(n_points / 2)\n\n initial_guesses = generate_initial_guesses(n_points, required_sum)\n \n best_h = None\n best_c5 = float('inf')\n\n def objective(h_vec):\n h = np.array(h_vec)\n return evaluate_C5(h, dx)\n\n bounds = Bounds(0.0, 1.0)\n cons = {'type': 'eq', 'fun': lambda h: np.sum(h) - required_sum}\n\n for guess in initial_guesses:\n # Use local optimization for fine tuning\n result = minimize(\n fun=objective,\n x0=guess,\n method='L-BFGS-B',\n bounds=bounds,\n constraints=cons,\n options={'ftol': 1e-10, 'maxiter': 500}\n )\n\n if result.success:\n current_c5 = evaluate_C5(result.x, dx)\n if current_c5 < best_c5:\n best_c5 = current_c5\n best_h = result.x\n\n # Use basinhopping for global search\n result_b = basinhopping(\n objective,\n x0=guess,\n niter=1000,\n T=0.1,\n stepsize=0.1,\n minimizer_kwargs={\n 'method': 'L-BFGS-B',\n 'bounds': bounds,\n 'constraints': cons,\n 'options': {'ftol': 1e-10, 'maxiter': 200}\n }\n )\n if result_b.fun < best_c5:\n best_c5 = result_b.fun\n best_h = result_b.x\n\n return best_h, best_c5, n_points\n```",
64 "env/all/time/policy": 504.9819505098276,
65 "env/all/time/policy/min": 215.76293802261353,
66 "env/all/time/policy/max": 749.380354642868,
67 "env/all/time/env_step": 89.82932192273438,
68 "env/all/time/env_step/min": 0.006120920181274414,
69 "env/all/time/env_step/max": 1104.140650510788,
70 "env/all/time/reward_compute": 3.227032721042633e-07,
71 "env/all/time/reward_compute/min": 2.5704503059387207e-07,
72 "env/all/time/reward_compute/max": 3.5390257835388184e-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.02868475764989853,
77 "advantage/min": -1.0,
78 "advantage/max": 9.934231758117676,
79 "time/assemble_training_data": 7.690507411956787,
80 "time/kl_vs_base": 125.60331082344055,
81 "kl_policy_base": 0.0007125930278562009,
82 "time/train": 1003.5869793891907,
83 "time/save_checkpoint": 7.253627061843872,
84 "time/total": 2987.490225315094
85}[2026-07-09T06:24:18+00:00] job=1812624 node=node-6 ngpu=3 ntrain=1 replicas=2 flash_attn=no
[2026-07-09T07:31:44+00:00] job=1812955 node=node-1 ngpu=3 ntrain=1 replicas=2 flash_attn=yes
[2026-07-09T07:59:00+00:00] job=1813123 node=node-14 ngpu=3 ntrain=1 replicas=2 flash_attn=yes
[2026-07-09T09:28:32+00:00] job=1813124 node=node-3 ngpu=6 ntrain=2 replicas=4 flash_attn=yes
[2026-07-09T09:35:59+00:00] job=1813609 node=node-6 ngpu=3 ntrain=1 replicas=2 flash_attn=yes
[2026-07-09T09:45:57+00:00] job=1813622 node=node-12 ngpu=3 ntrain=1 replicas=2 flash_attn=yes