112 lines
3.1 KiB
YAML
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
|