108 lines
2.8 KiB
YAML
108 lines
2.8 KiB
YAML
# Train PPO: fetch binaries → hyperopt → train → evaluate → upload.
|
||
#
|
||
# Usage:
|
||
# argo submit --from=wftmpl/train-ppo -p binary-tag=dev-abc1234
|
||
# argo submit --from=wftmpl/train-ppo -p binary-tag=latest -p train-epochs=100
|
||
#
|
||
# Thin wrapper around training-pipeline (templateRef) with PPO-tuned defaults.
|
||
# PPO uses 45 factored actions (5 exposure × 3 order × 3 urgency).
|
||
---
|
||
apiVersion: argoproj.io/v1alpha1
|
||
kind: WorkflowTemplate
|
||
metadata:
|
||
name: train-ppo
|
||
namespace: foxhunt
|
||
labels:
|
||
app.kubernetes.io/name: train-ppo
|
||
app.kubernetes.io/part-of: foxhunt
|
||
app.kubernetes.io/component: gpu-test
|
||
spec:
|
||
entrypoint: pipeline
|
||
serviceAccountName: argo-workflow
|
||
podMetadata:
|
||
labels:
|
||
app.kubernetes.io/part-of: foxhunt
|
||
app.kubernetes.io/component: gpu-test
|
||
app.kubernetes.io/component: training
|
||
securityContext:
|
||
runAsUser: 1000
|
||
runAsGroup: 1000
|
||
fsGroup: 1000
|
||
ttlStrategy:
|
||
secondsAfterCompletion: 3600
|
||
activeDeadlineSeconds: 28800 # 8 hours
|
||
|
||
arguments:
|
||
parameters:
|
||
- name: model
|
||
value: ppo
|
||
- name: commit-sha
|
||
value: HEAD
|
||
- name: git-branch
|
||
value: main
|
||
- name: gpu-pool
|
||
value: ci-training-h100
|
||
- name: hyperopt-trials
|
||
value: "20"
|
||
- name: hyperopt-epochs
|
||
value: "8"
|
||
- name: train-epochs
|
||
value: "50"
|
||
- name: symbol
|
||
value: ES.FUT
|
||
- name: data-dir
|
||
value: /data/futures-baseline
|
||
- name: mbp10-data-dir
|
||
value: /data/futures-baseline-mbp10
|
||
- name: trades-data-dir
|
||
value: /data/futures-baseline-trades
|
||
- name: tx-cost-bps
|
||
value: "0.1"
|
||
- name: tick-size
|
||
value: "0.25"
|
||
- name: spread-ticks
|
||
value: "1.0"
|
||
- name: initial-capital
|
||
value: "35000"
|
||
- name: feature-cache-dir
|
||
value: /feature-cache
|
||
- name: ensemble-top-k
|
||
value: "5"
|
||
- name: cuda-compute-cap
|
||
value: "90"
|
||
|
||
# Volumes required by compile-and-train steps
|
||
volumes:
|
||
- name: git-ssh-key
|
||
secret:
|
||
secretName: argo-git-ssh-key
|
||
defaultMode: 256
|
||
- name: training-data
|
||
persistentVolumeClaim:
|
||
claimName: training-data-pvc
|
||
readOnly: true
|
||
- name: cargo-target-cuda
|
||
persistentVolumeClaim:
|
||
claimName: cargo-target-cuda
|
||
- name: feature-cache
|
||
persistentVolumeClaim:
|
||
claimName: feature-cache-pvc
|
||
|
||
volumeClaimTemplates:
|
||
- metadata:
|
||
name: workspace
|
||
spec:
|
||
accessModes: ["ReadWriteOnce"]
|
||
storageClassName: scw-bssd
|
||
resources:
|
||
requests:
|
||
storage: 5Gi
|
||
|
||
templates:
|
||
- name: pipeline
|
||
steps:
|
||
- - name: compile-and-train
|
||
templateRef:
|
||
name: compile-and-train
|
||
template: pipeline
|