diff --git a/crates/ml-alpha/src/trainer/integrated.rs b/crates/ml-alpha/src/trainer/integrated.rs index 06e0525c3..2e9742052 100644 --- a/crates/ml-alpha/src/trainer/integrated.rs +++ b/crates/ml-alpha/src/trainer/integrated.rs @@ -1676,8 +1676,11 @@ impl IntegratedTrainer { // owned by each `Transition`). Sample → gather populates the // trainer-owned sampled_* buffers via per-batch DtoD copies // out of the buffer's transitions. + // Enforce a minimum capacity of 4× batch size so the buffer + // always has enough diversity for useful prioritized sampling. + let per_capacity = cfg.per_capacity.max(4 * b_size); let replay = crate::rl::replay::ReplayBuffer::new( - cfg.per_capacity, + per_capacity, cfg.per_seed, ); let sampled_h_t_d = stream diff --git a/infra/k8s/argo/alpha-rl-template.yaml b/infra/k8s/argo/alpha-rl-template.yaml index 938eb0509..bb2db7c9a 100644 --- a/infra/k8s/argo/alpha-rl-template.yaml +++ b/infra/k8s/argo/alpha-rl-template.yaml @@ -9,7 +9,7 @@ # argo submit -n foxhunt --from=wftmpl/alpha-rl \ # -p git-branch=ml-alpha-phase-a # argo submit -n foxhunt --from=wftmpl/alpha-rl \ -# -p git-branch=ml-alpha-phase-a -p n-steps=50000 -p n-backtests=16 +# -p git-branch=ml-alpha-phase-a -p n-steps=50000 -p n-backtests=128 apiVersion: argoproj.io/v1alpha1 kind: WorkflowTemplate metadata: @@ -42,7 +42,7 @@ spec: - name: n-steps value: "50000" - name: n-backtests - value: "16" + value: "128" - name: seed value: "16962" - name: seq-len