Spaces:
Sleeping
Sleeping
Commit History
-
fix: Red Team tab SSR crash + incremental training curves + storytelling polishβ
Kinchi- Fix render_red_team_attack SSR compatibility (0-arg calls) - Add IncrementalPlotCallback (curves every 25 steps) - Add eval_baseline.py to post-training pipeline - Restructure README: visual diagram, results table, collapsible details - Add results table to blog_post.md - Add deceptive files + cost observability to ENV.md - Add innovation summary to JUDGES.md - ENV.md: 8 attack vectors documented559db20 -
v2.3: right-size training budget + add red-team safeguards + tighter pitchβ
KinchiWHY THIS COMMIT: The v2.2 plan (750 optimizer steps) projected a 46h ETA on A10G against a 19h deadline (224s/step Γ 750 = 41.7h pure compute). Generation length was the bottleneck β ~1,200-token mean completions Γ K=4 β 70s of pure decoding per prompt. This commit halves MAX_COMPLETION_LENGTH and right-sizes the step budget to fit the available wall-clock with a fully-aligned LR schedule. TRAINING (train_grpo.py + openenv.yaml v3.3.0): MAX_COMPLETION_LENGTH 2048 β 1024 (2Γ generation speedup) MAX_SEQ_LENGTH 4096 β 2048 (smaller batch memory) NUM_EPISODES 500 β 200 (fits 5.5h on A10G) NUM_TRAIN_EPOCHS 3 β 2 (LR schedule matches budget) GRAD_ACCUM_STEPS 4 β 2 (2Γ more updates / sec) SAVE_EVERY 50 β 25 (~8 checkpoints across run) Net: ~200 optimizer steps, ~5.5h on A10G, $5.80 vs $18+ for v2.2. Warmup ends at step ~20, then 180 steps of post-warmup learning with cosine LR decay β clean S-cβ¦1113021 -
v2: calibrated metacognition as RL + inference-time budget + transfer evalβ
KinchiHeadline contribution - metacognitive_reward.py: auxiliary objective that rewards calibration (does actual <think> length match the predicted band?), difficulty awareness (long predictions on bugs, short on safe?), and coupling (every prediction tied to a real tool call?). Geometric structure is non-gameable; only optimum is honest, action-grounded difficulty assessment. - scripts/budget_processor.py: ThinkingBudgetProcessor (LogitsProcessor) that hard-caps <think> tokens per block and per episode at inference time. Closes the loop with the training-time signal: shape during GRPO -> learns to allocate; budget processor at inference -> degrades gracefully under arbitrary tightening. - transfer_eval.py + data/transfer_episodes.json: held-out non-CVE domain evaluation (5 PR-review episodes: race conditions, auth bypasses, tenant leaks, etc). Same allocation policy: F1 0.28 -> 1.00, thinking ratio 5.24x preserved. Demonstrates skill transfer. - scripts/generate_caliβ¦51fd6a7 -
π CodeReviewEnv v3: Agentic Security Investigation with Thinking Budget
c0ddb58