Files
foxhunt/infra/k8s/argo/train-supervised-template.yaml
2026-04-03 23:11:05 +02:00

112 lines
3.1 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: 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