Files
foxhunt/infra/k8s/argo/train-supervised-template.yaml
jgrusewski ae5ae056d6 fix: add gpu-test network policy label to all GPU workflow templates
5 templates were missing app.kubernetes.io/component=gpu-test label,
causing MinIO log archival to fail (port 9000 blocked by network policy).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 02:08:50 +01:00

118 lines
3.3 KiB
YAML

# Train supervised model: fetch binaries → hyperopt → train → evaluate → upload.
#
# Usage (any of the 8 supervised models):
# argo submit --from=wftmpl/train-supervised -p model=tft -p binary-tag=latest
# argo submit --from=wftmpl/train-supervised -p model=mamba2 -p binary-tag=dev-abc1234
# argo submit --from=wftmpl/train-supervised -p model=kan -p binary-tag=latest -p train-epochs=100
#
# Supported models: tft, mamba2, tggn, tlob, liquid, kan, xlstm, diffusion
#
# Thin wrapper around training-pipeline (templateRef) with supervised defaults.
# Uses hyperopt_baseline_supervised / train_baseline_supervised / evaluate_supervised.
---
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
name: train-supervised
namespace: foxhunt
labels:
app.kubernetes.io/name: train-supervised
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
# One of: tft, mamba2, tggn, tlob, liquid, kan, xlstm, diffusion
value: tft
- name: binary-tag
value: latest
- 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: ensemble-top-k
value: "5"
- name: cuda-compute-cap
value: "90"
volumes:
- name: training-data
persistentVolumeClaim:
claimName: training-data-pvc
readOnly: true
volumeClaimTemplates:
- metadata:
name: workspace
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: scw-bssd
resources:
requests:
storage: 5Gi
templates:
- name: pipeline
dag:
tasks:
- name: fetch-binary
templateRef:
name: training-pipeline
template: fetch-binary
- name: hyperopt
templateRef:
name: training-pipeline
template: hyperopt
dependencies: [fetch-binary]
- name: train-best
templateRef:
name: training-pipeline
template: train-best
dependencies: [hyperopt]
- name: evaluate
templateRef:
name: training-pipeline
template: evaluate
dependencies: [train-best]
- name: upload-results
templateRef:
name: training-pipeline
template: upload-results
dependencies: [evaluate]