Views
No views yet
erdos. Checkpoint saved
after training step 49 (0-indexed). Strict upstream eval parity:
1100s hard kill, verbatim prompts/entrypoints, group 64x8, T=1.0, kl 0.1.1{
2 "step": 49,
3 "progress/batch": 49,
4 "optim/lr": 4e-05,
5 "progress/done_frac": 1.0,
6 "puct/buffer_size": 792,
7 "puct/sampled_size": 8,
8 "puct/T": 25088,
9 "puct/scale_last": 0.2791163464783322,
10 "puct/buffer_value/mean": -0.38413881272610034,
11 "puct/buffer_value/std": 0.01913516089684186,
12 "puct/buffer_value/min": -0.66,
13 "puct/buffer_value/max": -0.3808836535216678,
14 "puct/buffer_timestep/mean": 23.747474747474747,
15 "puct/buffer_timestep/std": 14.29087682018729,
16 "puct/buffer_timestep/min": -1.0,
17 "puct/buffer_timestep/max": 48.0,
18 "puct/buffer_construction_len/mean": 114.32575757575758,
19 "puct/buffer_construction_len/std": 56.275655816324274,
20 "puct/buffer_construction_len/min": 40.0,
21 "puct/buffer_construction_len/max": 400.0,
22 "puct/sampled_value/mean": -0.3808840677102145,
23 "puct/sampled_value/std": 3.7156252045816564e-07,
24 "puct/sampled_value/min": -0.38088470161347265,
25 "puct/sampled_value/max": -0.3808836535216678,
26 "puct/sampled_timestep/mean": 48.0,
27 "puct/sampled_timestep/std": 0.0,
28 "puct/sampled_timestep/min": 48.0,
29 "puct/sampled_timestep/max": 48.0,
30 "puct/sampled_construction_len/mean": 200.0,
31 "puct/sampled_construction_len/std": 0.0,
32 "puct/sampled_construction_len/min": 200.0,
33 "puct/sampled_construction_len/max": 200.0,
34 "time/sampling": 2017.2955901622772,
35 "env/all/ac_tokens_per_turn": 10123.765625,
36 "env/all/ob_tokens_per_turn": 1699.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": 5183368,
41 "env/all/total_ob_tokens": 870080,
42 "env/all/time/sampling_mean": 592.8714694157243,
43 "env/all/time/sampling_max": 915.3257269859314,
44 "env/all/time/env_step_mean": 136.59069348638877,
45 "env/all/time/env_step_max": 1160.257924079895,
46 "env/all/reward/mean": 0.9849272957810165,
47 "env/all/reward/max": 2.625475894874433,
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.9849272957810165,
53 "env/all/correctness": 0.40234375,
54 "env/all/correctness/min": 0.0,
55 "env/all/correctness/max": 1.0,
56 "env/all/raw_score": 0.4180407816535121,
57 "env/all/raw_score/min": 0.38088331936220937,
58 "env/all/raw_score/max": 1.0,
59 "env/all/initial_raw_score": -0.3808840677102145,
60 "env/all/initial_raw_score/min": -0.38088470161347265,
61 "env/all/initial_raw_score/max": -0.3808836535216678,
62 "env/all/msg": "RuntimeError: Failed to read results file (possibly truncated due to crash).",
63 "env/all/parsed_code": "```python\nimport numpy as np\nfrom scipy.optimize import minimize\nimport warnings\n\n# Predefined initial pattern generator\ndef generate_two_intervals(n_points):\n dx = 2.0 / n_points\n interval_len = 0.5\n h = np.zeros(n_points)\n interval1_start = 0.0\n interval1_end = interval1_start + interval_len\n interval2_start = 1.0\n interval2_end = interval2_start + interval_len\n for i in range(n_points):\n x = i * dx\n if interval1_start <= x < interval1_end:\n h[i] = 1.0\n elif interval2_start <= x < interval2_end:\n h[i] = 1.0\n # Adjust sum to meet the constraint\n desired_sum = n_points / 2.0\n actual_sum = np.sum(h)\n delta = desired_sum - actual_sum\n for i in reversed(range(n_points)):\n if delta <= 0:\n break\n add = min(1.0 - h[i], delta)\n h[i] += add\n delta -= add\n return h\n\ndef generate_three_intervals(n_points):\n dx = 2.0 / n_points\n interval_len = 1.0 / 3\n h = np.zeros(n_points)\n for i in range(n_points):\n x = i * dx\n if 0.0 <= x < interval_len:\n h[i] = 1.0\n elif 0.5 <= x < 0.5 + interval_len:\n h[i] = 1.0\n elif 1.0 <= x < 1.0 + interval_len:\n h[i] = 1.0\n # Adjust sum\n desired_sum = n_points / 2.0\n actual_sum = np.sum(h)\n delta = desired_sum - actual_sum\n for i in reversed(range(n_points)):\n if delta <= 0:\n break\n add = min(1.0 - h[i], delta)\n h[i] += add\n delta -= add\n return h\n\ndef run(seed=42, budget_s=1000, **kwargs):\n np.random.seed(seed)\n n_points = 200\n dx = 2.0 / n_points\n desired_sum = n_points / 2.0\n \n best_h = np.zeros(n_points)\n best_t = np.inf\n warnings.filterwarnings(\"ignore\")\n \n initial_guesses = []\n \n # Load initial pattern\n if 'initial_h_values' in globals():\n initial_h = np.array(initial_h_values)\n # Scale to n_points if necessary\n if initial_h.shape[0] > n_points:\n initial_h = initial_h[::2]\n elif initial_h.shape[0] < n_points:\n period = len(initial_h)\n num_repeats = n_points // period\n initial_h = np.repeat(initial_h, num_repeats)[:n_points]\n else:\n initial_h = np.zeros(n_points)\n for i in range(n_points):\n if i % 4 == 0:\n initial_h[i] = 1.0\n sum_h = np.sum(initial_h)\n delta = desired_sum - sum_h\n remaining_delta = delta\n for i in reversed(range(n_points)):\n if remaining_delta <= 0:\n break\n add = min(1.0 - initial_h[i], remaining_delta)\n initial_h[i] += add\n remaining_delta -= add\n initial_h = np.clip(initial_h, 0, 1)\n initial_guesses.append(initial_h)\n\n # Add two-interval and three-interval patterns\n initial_guesses.append(generate_two_intervals(n_points))\n initial_guesses.append(generate_three_intervals(n_points))\n\n # Perturb initial guesses to explore nearby solutions\n for h_guess in initial_guesses:\n h_guess = h_guess.copy()\n noise = np.random.randn(n_points) * 0.1\n perturbed = h_guess + noise\n perturbed = np.clip(perturbed, 0, 1)\n sum_perturbed = np.sum(perturbed)\n delta = desired_sum - sum_perturbed\n remaining_delta = delta\n for i in reversed(range(n_points)):\n if remaining_delta <= 0:\n break\n add = min(1.0 - perturbed[i], remaining_delta)\n perturbed[i] += add\n remaining_delta -= add\n initial_guesses.append(perturbed)\n\n # Run optimization for each initial guess\n for h_guess in initial_guesses:\n one_minus_h = 1.0 - h_guess\n cross_corr = np.correlate(h_guess, one_minus_h, mode='full')\n overlaps = cross_corr * dx\n\n def objective(x):\n return x[-1]\n\n def constraint_sum(x):\n return np.sum(x[:-1]) - desired_sum\n\n # Set up constraints for all overlaps\n def constraints_func(x):\n h_vec = x[:-1]\n t = x[-1]\n one_minus_h = 1.0 - h_vec\n cross_corr = np.correlate(h_vec, one_minus_h, mode='full')\n overlaps = cross_corr * dx\n return [t - overlap for overlap in overlaps]\n\n cons = [\n {'type': 'eq', 'fun': constraint_sum},\n {'type': 'ineq', 'fun': constraints_func}\n ]\n\n bounds = [(0.0, 1.0) for _ in range(n_points)] + [(0.0, np.inf)]\n\n try:\n result = minimize(\n fun=objective,\n x0=np.concatenate((h_guess, [0.5])),\n bounds=bounds,\n constraints=cons,\n method='SLSQP',\n options={\n 'ftol': 1e-10,\n 'maxiter': 500,\n 'disp': False\n }\n )\n if result.success:\n current_t = result.x[-1]\n if current_t < best_t:\n best_t = current_t\n best_h = result.x[:-1]\n except:\n pass\n return best_h, best_t, n_points\n```",
64 "env/all/time/policy": 592.8714694157243,
65 "env/all/time/policy/min": 220.82377576828003,
66 "env/all/time/policy/max": 915.3257269859314,
67 "env/all/time/env_step": 136.59069348638877,
68 "env/all/time/env_step/min": 0.00589442253112793,
69 "env/all/time/env_step/max": 1160.257924079895,
70 "env/all/time/reward_compute": 3.0919909477233887e-07,
71 "env/all/time/reward_compute/min": 2.4586915969848633e-07,
72 "env/all/time/reward_compute/max": 4.731118679046631e-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.022599417716264725,
77 "advantage/min": -1.0,
78 "advantage/max": 3.018983840942383,
79 "time/assemble_training_data": 7.9026360511779785,
80 "time/kl_vs_base": 146.96284985542297,
81 "kl_policy_base": 0.0008900207467377186,
82 "time/train": 1124.2847006320953,
83 "time/save_checkpoint": 16.479305028915405,
84 "time/total": 3314.551263332367
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