Views
No views yet
ac1. Checkpoint saved
after training step 20 (0-indexed). Strict upstream eval parity:
1100s hard kill, verbatim prompts/entrypoints, group 64x8, T=1.0, kl 0.1.1{
2 "step": 20,
3 "progress/batch": 20,
4 "optim/lr": 4e-05,
5 "progress/done_frac": 0.42,
6 "puct/buffer_size": 328,
7 "puct/sampled_size": 8,
8 "puct/T": 10240,
9 "puct/scale_last": 0.39927465088421665,
10 "puct/buffer_value/mean": -1.52651963713739,
11 "puct/buffer_value/std": 0.0859910021211894,
12 "puct/buffer_value/min": -2.000000000000008,
13 "puct/buffer_value/max": -1.5063483899098538,
14 "puct/buffer_timestep/mean": 9.24390243902439,
15 "puct/buffer_timestep/std": 5.921356501659915,
16 "puct/buffer_timestep/min": -1.0,
17 "puct/buffer_timestep/max": 19.0,
18 "puct/buffer_construction_len/mean": 1132.716463414634,
19 "puct/buffer_construction_len/std": 735.9128863624566,
20 "puct/buffer_construction_len/min": 1000.0,
21 "puct/buffer_construction_len/max": 7397.0,
22 "puct/sampled_value/mean": -1.5063618764342914,
23 "puct/sampled_value/std": 1.600356340215393e-06,
24 "puct/sampled_value/min": -1.506363477220131,
25 "puct/sampled_value/max": -1.5063602760780035,
26 "puct/sampled_timestep/mean": 19.0,
27 "puct/sampled_timestep/std": 0.0,
28 "puct/sampled_timestep/min": 19.0,
29 "puct/sampled_timestep/max": 19.0,
30 "puct/sampled_construction_len/mean": 1000.0,
31 "puct/sampled_construction_len/std": 0.0,
32 "puct/sampled_construction_len/min": 1000.0,
33 "puct/sampled_construction_len/max": 1000.0,
34 "time/sampling": 3933.4441092014313,
35 "env/all/ac_tokens_per_turn": 9556.765625,
36 "env/all/ob_tokens_per_turn": 2410.75,
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": 4893064,
41 "env/all/total_ob_tokens": 1234304,
42 "env/all/time/sampling_mean": 341.5314199877903,
43 "env/all/time/sampling_max": 443.3226020336151,
44 "env/all/time/env_step_mean": 1456.856839069631,
45 "env/all/time/env_step_max": 3490.7856492996216,
46 "env/all/reward/mean": 0.5447454195123396,
47 "env/all/reward/max": 0.6638518148029481,
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.5447454195123396,
53 "env/all/correctness": 0.875,
54 "env/all/correctness/min": 0.0,
55 "env/all/correctness/max": 1.0,
56 "env/all/raw_score": 6.169465935296786,
57 "env/all/raw_score/min": 1.5063602615266074,
58 "env/all/raw_score/max": 2000.0,
59 "env/all/initial_raw_score": -1.5063618764342912,
60 "env/all/initial_raw_score/min": -1.506363477220131,
61 "env/all/initial_raw_score/max": -1.5063602760780035,
62 "env/all/msg": "Success; raw_score=1.506360276078004",
63 "env/all/parsed_code": "```python\nimport time\nimport numpy as np\nfrom scipy.optimize import linprog\nimport random\nimport copy\n\ndef propose_candidate(seed=42, budget_s=1000, **kwargs):\n \"\"\"\n Proposes a sequence of non-negative numbers to minimize the evaluation score \n using targeted perturbation around convolution peaks and global exploration.\n \"\"\"\n np.random.seed(seed)\n deadline = time.time() + budget_s - 10\n\n # Initialize with the best sequence from prior knowledge\n n = 1000\n best_sequence = None\n if 'height_sequence_1' in globals() and isinstance(height_sequence_1, (list, np.ndarray)):\n best_sequence = list(height_sequence_1)\n else:\n # Fallback to a uniform random sequence\n best_sequence = np.random.rand(n).tolist()\n \n # Normalize to ensure the sum is non-zero and valid\n sum_a = sum(best_sequence)\n if sum_a > 0:\n best_sequence = [x / sum_a for x in best_sequence]\n curr_sequence = best_sequence.copy()\n best_score = evaluate_sequence(curr_sequence)\n no_improvement_counter = 0\n iteration_count = 0\n temperature = 1.0\n cooling_rate = 0.995\n perturb_rate = 0.25 # Slightly increased from 0.2\n window_size = 50 # Increased window size for more focused perturbation\n exploration_rate = 0.8\n\n def perturb_sequence(sequence, indices, amount):\n new_seq = sequence.copy()\n for idx in indices:\n val = new_seq[idx]\n new_val = val + amount * (np.random.rand() - 0.5)\n new_val = max(0.0, new_val)\n new_val = min(1000.0, new_val)\n new_seq[idx] = new_val\n return new_seq\n\n while time.time() < deadline:\n try:\n # Compute current convolution and max_b\n conv = np.convolve(curr_sequence, curr_sequence)\n max_b = np.max(conv)\n sum_a = np.sum(curr_sequence)\n if sum_a < 0.001:\n raise ValueError(\"Sum too small\")\n\n # Targeted perturbation\n max_index = np.argmax(conv)\n start = max(0, max_index - window_size)\n end = min(n, max_index + window_size)\n indices_to_perturb = np.random.choice(range(start, end), size=min(5, end - start), replace=False)\n curr_sequence = perturb_sequence(curr_sequence, indices_to_perturb, np.random.rand() * perturb_rate)\n\n # Occasionally apply global perturbation\n if iteration_count % 20 == 0:\n global_perturb = np.random.rand(n) * 0.2\n curr_sequence = [max(0.0, x + global_perturb[i]) for i, x in enumerate(curr_sequence)]\n curr_sequence = [min(1000.0, x) for x in curr_sequence]\n\n # Evaluate and update best sequence\n curr_score = evaluate_sequence(curr_sequence)\n if curr_score < best_score:\n best_score = curr_score\n best_sequence = curr_sequence[:]\n no_improvement_counter = 0\n print(f\"New best score: {best_score}\")\n else:\n no_improvement_counter += 1\n iteration_count += 1\n\n # Cool down temperature and adjust rates\n temperature *= cooling_rate\n perturb_rate = max(0.01, perturb_rate * 0.9)\n\n except Exception as e:\n print(f\"Error during optimization: {e}. Skipping update.\")\n continue\n\n return [float(max(0.0, x)) for x in best_sequence]\n```",
64 "env/all/time/policy": 341.5314199877903,
65 "env/all/time/policy/min": 141.733745098114,
66 "env/all/time/policy/max": 443.3226020336151,
67 "env/all/time/env_step": 1456.856839069631,
68 "env/all/time/env_step/min": 0.009492158889770508,
69 "env/all/time/env_step/max": 3490.7856492996216,
70 "env/all/time/reward_compute": 3.781169652938843e-07,
71 "env/all/time/reward_compute/min": 1.7881393432617188e-07,
72 "env/all/time/reward_compute/max": 8.67992639541626e-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.008921025320887566,
77 "advantage/min": -1.0,
78 "advantage/max": 0.9687498807907104,
79 "time/assemble_training_data": 10.375104427337646,
80 "time/kl_vs_base": 97.636225938797,
81 "kl_policy_base": 0.0007873574504628778,
82 "time/train": 575.3588533401489,
83 "time/save_checkpoint": 36.27646231651306,
84 "time/total": 4657.696643590927
85}[2026-07-09T06:24:18+00:00] job=1812628 node=node-12 ngpu=3 ntrain=1 replicas=2 flash_attn=no
[2026-07-09T08:30:32+00:00] job=1813127 node=node-22 ngpu=3 ntrain=1 replicas=2 flash_attn=yes
[2026-07-09T13:07:08+00:00] job=1813128 node=node-6 ngpu=6 ntrain=2 replicas=4 flash_attn=yes