From 00529c5ca930868bbb54ae3978fd2de54715a42b Mon Sep 17 00:00:00 2001 From: selee Date: Tue, 10 Feb 2026 16:23:06 +0900 Subject: [PATCH] Comment out JAX runtime, update README with install results - JAX runtime commented out (CRD does not support spec.mlPolicy.jax) - Mark verification checklist items as completed - Add known issues section (torchrun injection, JAX support) Co-Authored-By: Claude Opus 4.6 --- README.md | 35 +++++++++---- .../kubeflow-trainer/runtimes/runtimes.yaml | 51 ++++++++++--------- 2 files changed, 52 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 38dab78..303fc6e 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,9 @@ helm install kubeflow-trainer charts/kubeflow-trainer-0.0.0-sha-48e7a93.tgz \ kubectl apply -f manifests/kubeflow-trainer/runtimes/runtimes.yaml ``` +> **참고**: JAX runtime은 현재 CRD에서 `spec.mlPolicy.jax` 필드를 지원하지 않아 주석 처리되어 있음. +> 설치되는 Runtime: deepspeed-distributed, mlx-distributed, torch-distributed, torchtune-llama3.2-1b/3b, torchtune-qwen2.5-1.5b + ### 3.4 설치 확인 ```bash @@ -261,15 +264,29 @@ kubectl get pods -l trainer.kubeflow.org/trainjob-name= \ ## 검증 체크리스트 -- [ ] Volcano Pod 3개 Running (`nodegroup=nd` 노드에 배치 확인) -- [ ] Volcano CRD 생성됨 (jobs, podgroups, queues 등) -- [ ] Kubeflow Trainer controller Running (`nodegroup=nd` 노드에 배치 확인) -- [ ] JobSet controller Running (`nodegroup=nd` 노드에 배치 확인) -- [ ] Kubeflow Trainer CRD 생성됨 (trainjobs, trainingruntimes 등) -- [ ] ClusterTrainingRuntime 목록 확인 (deepspeed-distributed, torch-distributed 등) -- [ ] Training Queue 생성됨 -- [ ] 테스트 TrainJob 제출 시 PodGroup 자동 생성 확인 -- [ ] 테스트 TrainJob Pod가 Volcano 스케줄러로 스케줄링됨 +- [x] Volcano Pod 3개 Running (`nodegroup=nd` 노드에 배치 확인) +- [x] Volcano CRD 생성됨 (jobs, podgroups, queues 등) +- [x] Kubeflow Trainer controller Running (`nodegroup=nd` 노드에 배치 확인) +- [x] JobSet controller Running (`nodegroup=nd` 노드에 배치 확인) +- [x] Kubeflow Trainer CRD 생성됨 (trainjobs, trainingruntimes 등) +- [x] ClusterTrainingRuntime 목록 확인 (deepspeed-distributed, torch-distributed 등 6개) +- [x] Training Queue 생성됨 +- [x] 테스트 TrainJob 제출 시 PodGroup 자동 생성 확인 +- [x] 테스트 TrainJob Pod가 Volcano 스케줄러로 스케줄링됨 + +--- + +## 알려진 이슈 + +### Runtime에서 `command` 설정 시 torchrun 미주입 + +Kubeflow Trainer torch runtime은 컨테이너에 `command`가 없을 때 자동으로 torchrun을 주입하여 `RANK`, `LOCAL_RANK`, `WORLD_SIZE` 등 환경변수를 설정합니다. Runtime에서 `command`를 직접 지정하면 torchrun 주입이 우회되어 분산 학습 환경변수가 설정되지 않습니다. + +현재 `volcano-trainjob-integration.yaml`의 Runtime에는 `command`가 설정되어 있으므로, 학습 스크립트 실행 방식을 조정해야 합니다. + +### JAX ClusterTrainingRuntime 미지원 + +현재 CRD 버전에서 `spec.mlPolicy.jax` 필드를 지원하지 않아 JAX runtime은 주석 처리되어 있음. --- diff --git a/manifests/kubeflow-trainer/runtimes/runtimes.yaml b/manifests/kubeflow-trainer/runtimes/runtimes.yaml index be4d80f..a97b75d 100644 --- a/manifests/kubeflow-trainer/runtimes/runtimes.yaml +++ b/manifests/kubeflow-trainer/runtimes/runtimes.yaml @@ -54,31 +54,32 @@ spec: operator: All targetReplicatedJobs: - launcher ---- -apiVersion: trainer.kubeflow.org/v1alpha1 -kind: ClusterTrainingRuntime -metadata: - labels: - trainer.kubeflow.org/framework: jax - name: jax-distributed -spec: - mlPolicy: - jax: {} - numNodes: 1 - template: - spec: - replicatedJobs: - - name: node - template: - metadata: - labels: - trainer.kubeflow.org/trainjob-ancestor-step: trainer - spec: - template: - spec: - containers: - - image: nvcr.io/nvidia/jax:25.10-py3 - name: node +# --- +# # JAX runtime - 현재 CRD에서 spec.mlPolicy.jax 미지원으로 주석처리 +# apiVersion: trainer.kubeflow.org/v1alpha1 +# kind: ClusterTrainingRuntime +# metadata: +# labels: +# trainer.kubeflow.org/framework: jax +# name: jax-distributed +# spec: +# mlPolicy: +# jax: {} +# numNodes: 1 +# template: +# spec: +# replicatedJobs: +# - name: node +# template: +# metadata: +# labels: +# trainer.kubeflow.org/trainjob-ancestor-step: trainer +# spec: +# template: +# spec: +# containers: +# - image: nvcr.io/nvidia/jax:25.10-py3 +# name: node --- apiVersion: trainer.kubeflow.org/v1alpha1 kind: ClusterTrainingRuntime