Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WG Data(name provisional) proposal #673

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

tarilabs
Copy link
Member

I'm following up on action item: raise WG proposal to Kubeflow per yesterday's Model Registry meeting (recording timestamp).

As discussed in KF community meeting.

Main links:

👉 I'm starting to raise a draft PR in order to "seed/bootstrap" the work in raising the request to form the WG--using a draft PR give us a branch we can collaborate on between stakeholders @andreyvelich @Tomcli @dhirajsb @rimolive

This also give us a medium we can keeps-tab-on so to report back on progress during Tuesdays' community plenary meetings, wdyt?

Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: tarilabs
Once this PR has been reviewed and has the lgtm label, please assign theadactyl for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@thesuperzapper
Copy link
Member

I am very strongly opposed to using the name WG-Lifecycle, because that implies that the working group is related to the lifecycle of Kubeflow itself.

My proposal for the name is: WG-Data

Where "data" can mean both actual data (spark) and metadata (model registry). We can also split it up in the future, if the members who are maintaining these components diverge.

@tarilabs
Copy link
Member Author

My proposal for the name is: WG-Data

very well noted @thesuperzapper , as also marked here:
https://github.com/kubeflow/community/pull/673/files#diff-11b55409b3d27f083915bd4b910672caaf0e9550cf34d77fe76e8b6b9515023dR524

I just wanted to have a branch where to start collecting this kind of feedback in a non-sparse way and also to report back to you and the group on the progress on Tuesday meetings.

wgs.yaml Outdated Show resolved Hide resolved
@dhirajsb
Copy link

dhirajsb commented Dec 14, 2023

@thesuperzapper how about we make it more explicit WG ML Model Data?

@thesuperzapper
Copy link
Member

As it currently stands, this WG does not meet the requirement for diverse leadership given all chairs come from one company (IBM - which owns RedHat).

@dhirajsb
Copy link

@thesuperzapper Andrey is listed as a Chair, he's from Apple

@tarilabs
Copy link
Member Author

noticing only now it was not marked as Draft PR despite being my intent:

using a draft PR give us a branch we can collaborate on

my sincerest apologies.

Marked as Draft PR per original message in thead.

@rimolive
Copy link
Member

@thesuperzapper Is there a minimum number of companies to compose the chair to make the WG eligible?

@thesuperzapper
Copy link
Member

While there is no specific number requirement, the steering comity must approve the new WG (currently, @jbottum @james-jwu) in line with the community's interests. I would expect at least some concern with having 4 leads from one company and only 1 from another.

For reference, here is the lifecycle and other info about forming a working group:

Also, there are only meant to be 2-3 chairs, some other WGs have more, but in most cases, there are 2 active members and we just need to formally clean up the inactive chairs.

@thesuperzapper
Copy link
Member

Also, some of the proposed chairs are not even current Kubeflow org members, so are ineligible unless they go through that process first:

@rimolive
Copy link
Member

Thank you for the references! Those are valid points though, and I'll see how we can work on the eligibility topic as well as your concerns.

@tarilabs
Copy link
Member Author

As Ricardo noted, thanks !

Is there guidance for deputies to keep work WG ongoing during leaves, please?
The reason >3 is I was going through this point earlier today and seeing other WGs have >3 I assumed it was for that semantic.

As noted, will work out to account all the feedback received; thank you those are very helpful

@andreyvelich
Copy link
Member

Thank you for starting this @tarilabs! Let's collaborate together on this PR for the WG Charter and Name.

Please provide your suggestion on how we should name this WG that initially will have Spark Operator and Model Registry component.

A few initial suggestions if WG Lifecycle is too ambitious:

  • WG Data
  • WG ML Data
  • WG ML Lifecycle

I would expect at least some concern with having 4 leads from one company and only 1 from another.

This is valid concern @thesuperzapper. We can add folks from Spark Operator maintainers to this WG
cc @mwielgus @vara-bonthu @yuchaoran2011

@andreyvelich
Copy link
Member

cc @kubeflow/wg-training-leads
@kubeflow/wg-pipeline-leads
@kubeflow/wg-deployment-leads
@kubeflow/wg-notebooks-leads
@kubeflow/wg-manifests-leads

@bigsur0
Copy link

bigsur0 commented Dec 15, 2023

I would request "WG ML Lifecycle" if the purpose of the group is to house things in the MLOps orbit that don't have a more specific working group yet so they can "incubate". Data Preparation, Feature Store, and Model Registry being 3 examples that have been recently discussed that likely aren't big enough yet to have their own working group. I guess one key aspect here is to consider how new efforts can happen without the overhead of setting-up a new working group for each one until it is truly merited and bandwidth is available.

Is there a process that exists for refactoring a topic out of one working group to a new working group?

@jbottum
Copy link
Contributor

jbottum commented Dec 18, 2023

Kubeflow seems to be entering a new growth phase. The community needs a structure to support add-on components (Spark, Ray, Model Registry, Feature Store, etc). We want to encourage contributors and users to meet, discuss, experiment, decide, store code and produce documentation with a goal that integrations will help both Kubeflow and the add-on projects. We need to minimize overhead. We need to set expectations (of support...to/from Kubeflow and for users) especially if we are experimenting and trying to find market acceptance. Most importantly, we need active user participation, comment and leadership. I want to move this forward...I am a +1 to adding a single umbrella WG for all of these projects to get things moving. @james-jwu would you please provide your thoughts

@thesuperzapper
Copy link
Member

I think that the name WG Data will happily encompass the various categories proposed:

  • distributed processing (spark, Ray, etc.)
  • model registry (unnamed redhat proposal)
  • feature store (potentially feast)

Also, WG Data follows the convention of being a single word, like all other working group names.

I am still very against WG Lifecycle, at best it's like calling it WG Other because the whole point of Kubeflow is to map across the MLOps lifecycle, so it's just confusing.


Separately to the discussion around names, I think we should confirm that the maintainers of these various components are actually overlapping, otherwise it will make it difficult for this "mega working group" to function.

@vara-bonthu
Copy link

+1 to @thesuperzapper

I would suggest voting for WG Data, as it seems most appropriate for the Spark Operator. This is because it is primarily used for data processing, both batch and streaming, as well as some ML processing.

@tarilabs
Copy link
Member Author

tarilabs commented Dec 19, 2023

New commit ae188fe incorporates some feedback received around:

  • put even more prominent name is provisional. Noted more recent feedback here and here seems will eventually converge into WG Data but while still draft is a chance to account for all proposals like here
  • reflected name provisional in PR title
  • reworked designated chairs

will keep posted during KF Community meeting on any further updates.

@tarilabs tarilabs changed the title WG Lifecycle proposal WG Data(name provisional) proposal Dec 19, 2023
@thesuperzapper
Copy link
Member

Just so we are clear, I think WG Data should be the name, not WG ML Data as the PR currently stands.

according to KF process the Charter is to be submitted _after_:
> Add WG-related docs like charter.md, schedules, roadmaps, etc. to your new kubeflow/community/wg-foo directory once the above PR is merged

from here: https://github.com/kubeflow/community/blob/master/wgs/wg-lifecycle.md#:~:text=Add%20WG%2Drelated%20docs%20like%20charter.md%2C%20schedules%2C%20roadmaps%2C%20etc.%20to%20your%20new%20kubeflow/community/wg%2Dfoo%20directory%20once%20the%20above%20PR%20is%20merged

The group however pointed out in more recent WGs creation the Charter was submitted with the WG creation PR.
example: kubeflow#358

Therefore, advancing Charter proposal at once in this PR.
@google-oss-prow google-oss-prow bot added size/L and removed size/M labels Jan 23, 2024
@tarilabs
Copy link
Member Author

fyi I've added draft of the charter for this WG on suggestion by other members with commit: f77d17b

according to KF process the Charter is to be submitted after:

Add WG-related docs like charter.md, schedules, roadmaps, etc. to your new kubeflow/community/wg-foo directory once the above PR is merged

from here: https://github.com/kubeflow/community/blob/master/wgs/wg-lifecycle.md#:~:text=Add%20WG%2Drelated%20docs%20like%20charter.md%2C%20schedules%2C%20roadmaps%2C%20etc.%20to%20your%20new%20kubeflow/community/wg%2Dfoo%20directory%20once%20the%20above%20PR%20is%20merged

The group however pointed out in more recent WGs creation the Charter was submitted with the WG creation PR.
example: #358

Therefore, advancing Charter proposal at once in this PR.
I'm going to "migrate" some comments as review on the Markdown.

The WG "Data" is focused on enhancing the support for Data/metadata-related tasks within Kubeflow, with a specific focus on the [Spark operator](https://github.com/kubeflow/community/pull/672) and [Model Registry](https://github.com/kubeflow/kubeflow/issues/7396).
The group aims to streamline data processing workflows, facilitate efficient data lifecycle and ML models' metadata management, while ensuring seamless integration with other Kubeflow components.

An additional goal of the group is to offer a common ground for data/metadata-related topics in the MLOps orbit that didn't have a more specific working group yet, so they can "incubate as one", coherent effort.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


An additional goal of the group is to offer a common ground for data/metadata-related topics in the MLOps orbit that didn't have a more specific working group yet, so they can "incubate as one", coherent effort.

For example: Data Preparation, Feature Store, and Model Registry have been recently discussed in the Kubeflow community while not mature enough yet to have their own working group, they can be nurtured together as part of this WG.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Data Preparation not 100% if this might be confused with Notebooks? 🤔

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rimolive suggested to s/Data Preparation/Big Data Processing/ or something like that

- Providing technical guidance and mentorship to contributors working on Spark operator, Model Registry, and the projects in scope of this WG.
- Overseeing the technical direction of the subprojects and ensuring consistency with Kubeflow's vision for data processing and metadata management.

### Deviations from [wg-governance]
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines +60 to +64
### Subproject Creation

CHOOSE ONE
1. WG Technical Leads
2. Federation of Subprojects
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to me the "WG Tech lead" is the most applicable, but open for comments

Copy link
Member

@andreyvelich andreyvelich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for adding initial charter @tarilabs!
I left a few comments.


## Scope

The WG "Data" is focused on enhancing the support for Data/metadata-related tasks within Kubeflow, with a specific focus on the [Spark operator](https://github.com/kubeflow/community/pull/672) and [Model Registry](https://github.com/kubeflow/kubeflow/issues/7396).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to mention specific tools in the Scope ? What about other data processing frameworks like Dask, Ray. Not sure, if we need to mention them in scope.

The WG "Data" is focused on enhancing the support for Data/metadata-related tasks within Kubeflow, with a specific focus on the [Spark operator](https://github.com/kubeflow/community/pull/672) and [Model Registry](https://github.com/kubeflow/kubeflow/issues/7396).
The group aims to streamline data processing workflows, facilitate efficient data lifecycle and ML models' metadata management, while ensuring seamless integration with other Kubeflow components.

An additional goal of the group is to offer a common ground for data/metadata-related topics in the MLOps orbit that didn't have a more specific working group yet, so they can "incubate as one", coherent effort.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When we say data/metadata what exactly do we mean here ? What would be the differences from the ML perspective ?

## Scope

The WG "Data" is focused on enhancing the support for Data/metadata-related tasks within Kubeflow, with a specific focus on the [Spark operator](https://github.com/kubeflow/community/pull/672) and [Model Registry](https://github.com/kubeflow/kubeflow/issues/7396).
The group aims to streamline data processing workflows, facilitate efficient data lifecycle and ML models' metadata management, while ensuring seamless integration with other Kubeflow components.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we elaborate a little bit about streamline data processing ?
E.g. Simplify and improve data processing between various stages of ML lifecycle. For example, from Data Preparation to model training and fine-tuning.
cc @bigsur0 @kubeflow/wg-training-leads

Comment on lines +18 to +21
- Onboarding and maintenance of the Spark operator for scalable and distributed data processing.
[See also](https://github.com/kubeflow/community/pull/672)
- Continued development of the Model Registry to manage and version machine learning models efficiently.
[See also](https://github.com/kubeflow/kubeflow/issues/7396)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


### In scope

#### Code, Binaries, and Services
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think, we need to mention APIs for SparkJob, like TFJob here.
@vara-bonthu @yuchaoran2011 @mwielgus Anything else that we are going to maintain from the Spark Operator side ? For example, SDKs, UIs.

#### Cross-cutting and Externally Facing Processes

- Ensuring seamless integration of these WG subprojects with the rest of the Kubeflow platform. For example:
- Coordinating with [wg-pipelines] for integrations of Model Registry with KFP.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's name it accordingly:

Suggested change
- Coordinating with [wg-pipelines] for integrations of Model Registry with KFP.
- Coordinating with WG Pipelines for integrations of Model Registry with KFP.


- Ensuring seamless integration of these WG subprojects with the rest of the Kubeflow platform. For example:
- Coordinating with [wg-pipelines] for integrations of Model Registry with KFP.
- Coordinating with [wg-serving] for integrations of Model Registry with KServe and ModelMesh.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Coordinating with [wg-serving] for integrations of Model Registry with KServe and ModelMesh.
- Coordinating with WG Serving for integrations of Model Registry with KServe and ModelMesh.

- Ensuring seamless integration of these WG subprojects with the rest of the Kubeflow platform. For example:
- Coordinating with [wg-pipelines] for integrations of Model Registry with KFP.
- Coordinating with [wg-serving] for integrations of Model Registry with KServe and ModelMesh.
- ...
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think, we also can add coordinating with WG Training to streamline ML training data passing between Spark and distributed ML training workers.
Like what we started to discuss here: kubeflow/training-operator#1923
WDYT @bigsur0 ?

1. WG Technical Leads
2. Federation of Subprojects

[wg-governance]: ../wg-governance.md
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to fix path for the doc.

Comment on lines +532 to +548
chairs:
- github: andreyvelich
name: Andrey Velichkevich
company: Apple
- github: rimolive
name: Ricardo Martinelli de Oliveira
company: Red Hat
- github: Tomcli
name: Tommy Li
company: IBM
tech_leads:
- github: dhirajsb
name: Dhiraj Bokde
company: Red Hat
- github: andreyvelich
name: Andrey Velichkevich
company: Apple
Copy link
Member

@andreyvelich andreyvelich Jan 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vara-bonthu @yuchaoran2011 @mwielgus being a maintainer of Spark Operator component, do you want to be part of this WG as tech leads or chairs ?
It's ok if we are going to have different folks on tech lead and chairs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants