kubeflow / kubeflow/trainer

KEP-3562: [OptimizationJob] Support Multi-Objective Optimization in API and Suggestion Engine

Open
#3,799 2 comments 0 reactions 0 assignees View on GitHub
area/hpo kind/feature kind/plan-kep
Dominant language
Go
Stars
2.2k
Forks
1.1k
Avg merge
3d 22h
Merged PRs (30d)
39

Description

### What you would like to be added?

Context:
Phase 1 of OptimizationJob in [KEP-3562](https://github.com/kubeflow/trainer/pull/3565) restricts Objectives to exactly 1 metric (MinItems=1, MaxItems=1).

Problem:
Real-world ML problems often require balancing trade-offs between competing objectives (e.g., maximizing accuracy while minimizing model latency or memory usage).

Future Goals:

- Update CEL validation on `OptimizationJobSpec.objectives` to allow multiple metrics.

- Extend `Optuna` gRPC adapter for multi-objective optimization.

- Update `OptimizationJobStatus` to track multi-metric optimal results.

Relates to KEP-3562 Master Tracking [Issue](https://github.com/kubeflow/trainer/issues/3562).

### Why is this needed?

Multi-objective support allows users to optimize production trade-offs (e.g., model size vs. throughput) directly within a single OptimizationJob.

### Love this feature?

Give it a 👍 We prioritize the features with most 👍

Contributor guide

Open the contributing guide

Research direction

Start with KEP-3562 and its master tracking issue to understand the existing single-objective OptimizationJob design. Then trace the objectives CEL validation, the Optuna gRPC adapter, and OptimizationJobStatus. Done means accepting multiple metrics, supporting multi-objective optimization, and representing multi-metric optimal results.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, grpc, kubernetes, python
Domain
api, backend-api-design, machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.