[CNCF LFX Proposal] OptimizationJob CRD: Hyperparameter Tuning Engine for Kubeflow Trainer
- Dominant language
- JavaScript
- Stars
- 3.1k
- Forks
- 816
- Avg merge
- 12h 32m
- Merged PRs (30d)
- 8
Description
### CNCF Project
Kubeflow
### Term
2026 Term 3 (Sep-Nov)
### Program Name
OptimizationJob CRD: HPO Engine for Kubeflow Trainer
### Program Description
## Description
Hyperparameter optimization is critical for maximizing model performance, and Katib has long provided it through the `Experiment` CRD. But that CRD was built for broad use cases, including Neural Architecture Search and arbitrary workloads, which makes ordinary tuning verbose, hard to validate, and reliant on a stateful helper pod and database per experiment. The community has agreed to replace it with `OptimizationJob`, a resource focused solely on tuning `TrainJob`s. That work is half finished: the design is merged, the API is in review, and the push-based metrics foundation has shipped - but nothing yet watches these resources, launches trials, reads results, or picks a winner. This project builds that missing runtime.
## Expected Outcomes
- **Tuning controller:** launches TrainJobs from the template, enforces trial budgets, injects hyperparameters, evaluates reported metrics, and records the best trial
- **Stateless suggestion service:** a short-lived, per-job companion that proposes values and is cleaned up automatically, with no database or persistent state
- **Katib compatibility layer:** translation letting the new typed API drive Katib's existing search algorithms unchanged
- **Testing:** unit, simulated-cluster, and end-to-end coverage, including failure paths
- **Documentation:** user guide, runnable examples, and migration notes for existing Katib users
### Technologies
Go, Python, Kubernetes controllers, CRDs, HPO frameworks
### Skills same as Technologies?
- [x] Yes, the required skills are the same as the technologies listed above.
### Required/Desirable Skills
_No response_
### Mentors
Tariq Hasan | @tariq-hasan | mmtariquehsn@gmail.com | tariqhasan
Aniket Shaha | @aniket2405 | aniketshaha2001@gmail.com | aniket05
Akshay Chitneni | @akshaychitneni | akshayadatta@gmail.com | akshaychitneni
Andrey Velichkevich | @andreyvelich | andrey.velichkevich@gmail.com | andreyvelich
### Upstream Issue URL
https://github.com/kubeflow/trainer/issues/3562
### Application Prerequisites
- [x] Resume
- [ ] Cover Letter
- [ ] School Enrollment Verification
- [ ] Participation Permission from school or employer
- [ ] Coding Challenge
### Coding Challenge URL
_No response_
### Custom Prerequisites
- [ ] Custom Prerequisite (fill in details below)
### Custom Prerequisite Name
_No response_
### Custom Prerequisite Description
_No response_
### Custom Prerequisite — File Upload
- [ ] Yes — completion of this task requires the mentee to submit a file.
---
**LFX program:** [CNCF - Kubeflow: OptimizationJob CRD: HPO Engine for Kubeflow Trainer (2026 Term 3)](https://mentorship.lfx.linuxfoundation.org/project/6a3ba49c-5202-4231-b86f-90b798e84997)
Contributor guide
Research direction
Start with upstream issue #3562 and the merged OptimizationJob design, API under review, and push-based metrics foundation described here; no implementation files or tests are named. Done means delivering the controller, stateless suggestion service, Katib compatibility layer, failure-path tests, and user documentation listed in the expected outcomes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes, python
- Domain
- backend, infrastructure, machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100