- Kubeflow Trainer v2 general availability: kubeflow/trainer#2170
- Local execution for Kubeflow Python SDK: kubeflow/sdk#22
- Distributed in-memory data cache powered by Apache Arrow and Apache DataFusion: kubeflow/trainer#2655
BuiltinTrainersfor LLMs Fine-Tuning- TorchTune support: kubeflow/trainer#2401
- Explore other libraries for fine-tuning like Unsloth, LLaMA-Factory, HuggingFace TRL: kubeflow/trainer#2752
- Design extensible architecture for
BuiltinTrainers
- Training Runtime support
- PyTorch: kubeflow/trainer#2211
- DeepSpeed: kubeflow/trainer#2517
- MLX: kubeflow/trainer#2047
- JAX: kubeflow/trainer#2442
- Elastic PyTorch training jobs: kubernetes-sigs/jobset#463
- Gang-scheduling capability for TrainJob
- Coscheduling: kubeflow/trainer#2248
- Kueue: kubernetes-sigs/kueue#5719
- Volcano: kubeflow/trainer#2671
- KAI Scheduler: kubeflow/trainer#2628
- Multi-cluster TrainJob dispatching with Multi-Kueue.
- Topology aware scheduling with Kueue.
- Implement registration mechanism in the Pipeline Framework to extend plugins and supported ML frameworks in the Kubeflow Trainer: kubeflow/trainer#2750
- Enhanced MPI orchestration with SSH-based node communication: kubeflow/trainer#2751
- GPU testing infrastructure: kubeflow/trainer#2432
- Automation checkpointing for GPU-accelerated TrainJobs: kubeflow/trainer#2245
- Automation of Kubeflow Trainer releases: kubeflow/trainer#2155
- Kubeflow Trainer UI and TrainJob History Server: kubeflow/trainer#2648
- Training Operator V2
- Enhance JobSet APIs for distributed training and fine-tuning
- Kubeflow Training SDK improvements
- Support for distributed JAX
- Support for LLM Training runtimes
- Python APIs for LLMs fine-tuning
- Consolidate MPI Operator V2 into Training Operator
- Release training-operator v1.4 to be included in Kubeflow v1.5 release.
- Migrate v2 MPI operator to unified operator.
- Migrate PaddlePaddle operator to unified operator.
- Support elastic training for additional frameworks besides PyTorch.
- Support different gang scheduling definitions.
- Improve test coverage.
We will continue developing capabilities for better reliability, scaling, and maintenance of production distributed training experiences provided by operators.
- Enhance maintainability of operator common module. Related issue: #54.
- Migrate operators to use kubeflow/common APIs. Related issue: #64.
- Graduate MPI Operator, MXNet Operator and XGBoost Operator to v1. Related issue: #65.
To take advantages of other capabilities of job scheduler components, operators will expose more APIs for advanced scheduling. More features will be added to simplify usage like dynamic volume supports and git ops experiences. In order to make it easily used in the Kubeflow ecosystem, we can add more launcher KFP components for adoption.
- Support dynamic volume provisioning for distributed training jobs. Related issue: #19.
- MLOps - Allow user to submit jobs using Git repo without building container images. Related issue: #66.
- Add Job priority and Queue in SchedulingPolicy for advanced scheduling in common operator. Related issue: #46.
- Add pipeline launcher components for different training jobs. Related issue: pipeline#3445.
- Provides a standardized logging interface. Related issue: #60.
- Expose generic prometheus metrics in common operators. Related issue: #22.
- Centralized Job Dashboard for training jobs (Add metadata graph, model artifacts later). Related issue: #67.
Continue to optimize reconciler performance and reduce latency to take actions on CR events.
- Performance optimization for 500 concurrent jobs and large scale completed jobs. Related issues: #68, tf-operator#965, and tf-operator#1079.
- Better Volcano support
- Support queue #916