perf(rl): scale default batch size to 128 + auto-size PER capacity

n-backtests default in Argo template: 16 → 128.
PER capacity: max(configured, 4 × b_size) so replay buffer is always
large enough for useful prioritized sampling at any batch size.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-05-25 23:02:29 +02:00
parent 4bed8f2dbf
commit dc7f4c6659
2 changed files with 6 additions and 3 deletions

View File

@@ -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

View File

@@ -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