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

Update Kubeflow Index Page #3755

Merged
merged 5 commits into from
Jul 29, 2024

Conversation

andreyvelich
Copy link
Member

Followup on @thesuperzapper comment here: #3728 (comment)

I updated Kubeflow index page in this PR. Please let me know what do you think about this statement ?
For inspiration I checked one of the first Kubeflow videos that @aronchick presented before:
https://youtu.be/R3dVF5wWz-g?t=875

/assign @thesuperzapper @kubeflow/kubeflow-steering-committee @StefanoFioravanzo @hbelmiro @franciscojavierarceo

/hold for review

Copy link
Contributor

@hbelmiro hbelmiro left a comment

Choose a reason for hiding this comment

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

/lgtm

I left a few small suggestions though. Totally optional.

Comment on lines 31 to 33
The Kubeflow project is making AI/ML on Kubernetes simple, portable and scalable.
Our goal is not to recreate other services, but to provide a straightforward way to learn,
deploy, and manage best-in-class open-source systems for AI/ML on any cloud infrastructures.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
The Kubeflow project is making AI/ML on Kubernetes simple, portable and scalable.
Our goal is not to recreate other services, but to provide a straightforward way to learn,
deploy, and manage best-in-class open-source systems for AI/ML on any cloud infrastructures.
The Kubeflow project makes AI/ML on Kubernetes simple, portable and scalable.
Our goal is not to recreate other services, but to provide a straightforward way to learn,
deploy, and manage best-in-class open-source systems for AI/ML on any cloud infrastructure.

Comment on lines 11 to 12
Our goal is not to recreate other services, but to provide a straightforward way to learn,
deploy, and manage best-in-class open-source systems for AI/ML on any cloud infrastructures.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Our goal is not to recreate other services, but to provide a straightforward way to learn,
deploy, and manage best-in-class open-source systems for AI/ML on any cloud infrastructures.
Our goal is not to recreate other services, but to provide a straightforward way to learn,
deploy, and manage best-in-class open-source systems for AI/ML on any cloud infrastructure.

@rimolive
Copy link
Member

/lgtm

@thesuperzapper
Copy link
Member

thesuperzapper commented Jun 12, 2024

@andreyvelich Here are the key points that I think we should hit for the front-page "What is Kubeflow?" wording:

  1. It should convey what Kubeflow does, and its key value proposition.
  2. It should be no longer than 3 sentences.
  3. It should make sense to a person in a leadership position (not just technical).
  4. It should not use acronyms like AI and ML, but rather their full words.

Here are the key points that I think makes Kubeflow special:

  • Kubeflow is for machine learning on Kubernetes.
  • Kubeflow is not a single tool, we are an ecosystem of components for each stage in the ML lifecycle.
  • It can run on any Kubernetes cluster.

Based on that, here is my proposed wording:

Kubeflow enables machine learning on Kubernetes at any scale. We are an ecosystem of components for each stage in the machine learning lifecycle.

Anywhere you run Kubernetes, you should be able to install Kubeflow.

Here is with full HTML:

Kubeflow enables machine learning on <a href="https://kubernetes.io/docs/concepts/overview/" target="_blank" rel="noopener">Kubernetes</a> at any scale.
We are an <em>ecosystem</em> of components for each stage in the <a href="/docs/started/architecture/#introducing-the-ml-lifecycle" target="_blank" rel="noopener">machine learning lifecycle</a>.
<br><br>
Anywhere you run Kubernetes, you should be able to <a href="/docs/started/installing-kubeflow/" target="_blank" rel="noopener">install Kubeflow</a>.

Here is a screenshot:

Screenshot 2024-06-12 at 12 08 08

@andreyvelich
Copy link
Member Author

andreyvelich commented Jun 14, 2024

Thank you for proposing this @thesuperzapper, I agree with some statements.
However, don't you think that we should clearly say that Kubeflow is a bridge between ML and Cloud ecosystems ? We allow users to leverage cloud resources to scale their ML development and AI applications. For example, if folks want to run PyTorch on a cloud, they need to come to us.

Also, we might need to emphasize that Kubeflow is also for artificial intelligence not only for machine learning. For example, Kubeflow components are enabled AI running on the cloud.

Any other thoughts from the community @kubeflow/wg-data-leads @kubeflow/wg-pipeline-leads @kubeflow/wg-training-leads @kubeflow/wg-notebooks-leads @kubeflow/wg-manifests-leads @vikas-saxena02 @hbelmiro ?

@tarilabs
Copy link
Member

proposal iterating from Mathew's suggestion:

Kubeflow enables machine learning on Kubernetes at scale. Kubeflow is an ecosystem of components for each stage in the machine learning lifecycle, tuned and orchestrated to work in cloud-native way.

Anywhere you run Kubernetes, you should be able to install Kubeflow.

I also like the statement about not-recreate components.

@juliusvonkohout
Copy link
Member

@thesuperzapper

i would like to add to:

Here are the key points that I think makes Kubeflow special:

  • Kubeflow is for machine learning on Kubernetes.
  • Kubeflow is not a single tool, we are an ecosystem of components for each stage in the ML lifecycle.
  • It can run on any Kubernetes cluster.
  • It is open source and can be modified and extended as needed
  • There is no vendor lock-in

@StefanoFioravanzo
Copy link
Member

I like where @thesuperzapper is going with this.

On @andreyvelich 's comments:

However, don't you think that we should clearly say that Kubeflow is a bridge between ML and Cloud ecosystems ? We allow users to leverage cloud resources to scale their ML development and AI applications. For example, if folks want to run PyTorch on a cloud, they need to come to us.

You feel like the second sentence does not emphasize this enough?

Also, we might need to emphasize that Kubeflow is also for artificial intelligence not only for machine learning. For example, Kubeflow components are enabled AI running on the cloud.

Do you feel like we should word it as "Kubeflow enables Artificial Intelligence and Machine Learning on Kubernetes ..." ?
With the goal of keeping our statement short and clear, what value does this bring to the message we want to convey?

@andreyvelich
Copy link
Member Author

You feel like the second sentence does not emphasize this enough?

@StefanoFioravanzo Which sentence ?

With the goal of keeping our statement short and clear, what value does this bring to the message we want to convey?

That shows the value of Kubeflow to develop AI applications.

@vikas-saxena02
Copy link
Contributor

The proposed changes looks good to me

@vikas-saxena02
Copy link
Contributor

/lgtm

@thesuperzapper
Copy link
Member

@vikas-saxena02 which proposal are you supporting?

Also, for others, let's continue discussing so we can converge on a wording (rather than LGTM the PR).

@andreyvelich perhaps you can mark this PR as a draft to indicate that we are still discussing.

@vikas-saxena02
Copy link
Contributor

Thank you for proposing this @thesuperzapper, I agree with some statements. However, don't you think that we should clearly say that Kubeflow is a bridge between ML and Cloud ecosystems ? We allow users to leverage cloud resources to scale their ML development and AI applications. For example, if folks want to run PyTorch on a cloud, they need to come to us.

Also, we might need to emphasize that Kubeflow is also for artificial intelligence not only for machine learning. For example, Kubeflow components are enabled AI running on the cloud.

Any other thoughts from the community @kubeflow/wg-data-leads @kubeflow/wg-pipeline-leads @kubeflow/wg-training-leads @kubeflow/wg-notebooks-leads @kubeflow/wg-manifests-leads @vikas-saxena02 @hbelmiro ?

@thesuperzapper these ones

@thesuperzapper
Copy link
Member

thesuperzapper commented Jun 18, 2024

As I was saying in #3755 (comment), the core purpose of the intro paragraph is to help users learn about what Kubeflow is:

Kubeflow enables machine learning on Kubernetes at any scale. We are an ecosystem of components for each stage in the machine learning lifecycle.

Anywhere you run Kubernetes, you should be able to install Kubeflow.

I am happy for people to suggest changes to the proposal I made.


Regarding the specific comments from @andreyvelich:

However, don't you think that we should clearly say that Kubeflow is a bridge between ML and Cloud ecosystems ? We allow users to leverage cloud resources to scale their ML development and AI applications. For example, if folks want to run PyTorch on a cloud, they need to come to us.

I think that message is already conveyed by the first paragraph, is there a specific wording change you are suggesting?

Also, "Kubernetes" is clearer than the word "Cloud" because Kubernetes can be run anywhere, and cloud is not really defined.

Also, we might need to emphasize that Kubeflow is also for artificial intelligence not only for machine learning. For example, Kubeflow components are enabled AI running on the cloud.

I don't think adding the words "Artificial Intelligence" will add any significant value and may actually detract from the simplicity of the wording. Furthermore, it's a largely undefined term that has lots of emotion associated to it right now.

@StefanoFioravanzo
Copy link
Member

I agree with @thesuperzapper and I think the wording he proposed is already a great improvement over what we have now. I share your concerns on the use of "Artificial Intelligence".

If the intent of adding "Artificial Intelligence" is to hint at support for GenAI / LLM applications and use cases, I suggest thinking about a new section in the index page, maybe under components, that highlights supported use cases.

@andreyvelich
Copy link
Member Author

@StefanoFioravanzo @thesuperzapper Why we don't want to add acronyms in our index page ?
We can always explain what those acronyms mean in the introduction page.
I think, AI/ML is the well-known statement today, and users who want to explore Kubeflow might already aware of AI and ML. Especially, with the existing value that Kubeflow brings for GenAI and LLM applications.


For the first statement, why you don't like this statement ?

The Kubeflow makes AI/ML on Kubernetes simple, portable and scalable.

For the second, I like what @thesuperzapper proposed with this modification:

We are an ecosystem of projects for each stage in the ML lifecycle

@juliusvonkohout
Copy link
Member

Why we don't want to add acronyms in our index page ?
We can always explain what those acronyms mean in the introduction page.
I think, AI/ML is the well-known statement today, and users who want to explore Kubeflow might already aware of AI and ML. Especially, with the existing value that Kubeflow brings for GenAI and LLM applications.

I am usually a strong opponent of unnecessary acronyms and especially abbreviations because they lead to very ugly code and hurt the flow of text/speech, but in this case i am supporting the Idea of introducing them once at the beginning of the page and then just using them.

Copy link
Member

@terrytangyuan terrytangyuan left a comment

Choose a reason for hiding this comment

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

I am okay with the use of "AI/ML" here for simplicity. They are very widely used terms nowadays. Spelling them out looks a bit mouthful to me.

@thesuperzapper
Copy link
Member

My vote is just to say "machine learning" as it comprehensively describes the purpose of Kubeflow.

I don't think "artificial intelligence" is a usefully defined term at this point (and even less so "AI"), it's really just a buzzword, and using it makes us subject to confusion as the term evolves.


My proposal is still to use something like was proposed in #3755 (comment).

Are there any specific suggestions people have for the following introduction language:

Kubeflow enables machine learning on Kubernetes at any scale. We are an ecosystem of components for each stage in the machine learning lifecycle.

Anywhere you run Kubernetes, you should be able to install Kubeflow.

@vikas-saxena02
Copy link
Contributor

My vote is just to say "machine learning" as it comprehensively describes the purpose of Kubeflow.

I don't think "artificial intelligence" is a usefully defined term at this point (and even less so "AI"), it's really just a buzzword, and using it makes us subject to confusion as the term evolves.

My proposal is still to use something like was proposed in #3755 (comment).

Are there any specific suggestions people have for the following introduction language:

Kubeflow enables machine learning on Kubernetes at any scale. We are an ecosystem of components for each stage in the machine learning lifecycle.
Anywhere you run Kubernetes, you should be able to install Kubeflow.

I agree with @thesuperzapper above as ML and AI are kind of synonymous but ML is more suited in Kubeflow context as its more appropriate and followed in literature. AI is more or a less buzzword as @thesuperzapper suggested.

@andreyvelich
Copy link
Member Author

andreyvelich commented Jul 24, 2024

The "simple, portable, and scalable" wording is most applicable to Kubeflow Pipelines (which what that video was largely introducing), and makes it harder for people to realize that Kubeflow is more than just pipelines.

Why was it introduction of Kubeflow Pipelines ? Kubeflow Pipelines project was started only in mid 2018.
Initially, Kubeflow supports JupyterHub + TensorFlow operator, and the demo was showing how to train + serve model on Kubernetes.

Simplicity, Portability, and Scalability doesn't apply only for KFP. It affects other parts of Kubeflow projects. For example, Training Operator is used to train LLMs given the fault tolerance and advanced scheduling capabilities. Also, with SDK it is very simple to create training jobs. Similar things apply for KServe for model serving, and Katib for HP tuning.
cc @kubeflow/wg-training-leads

@thesuperzapper
Copy link
Member

@andreyvelich ok, I agree your one sounds better, let's use your sentence as the beginning with a slight variation.

I also think is fine to remove the (AI) and (ML) brackets, because it looks weird and breaks the flow.

That would leave us with something like this:

Kubeflow makes artificial intelligence and machine learning simple, portable, and scalable. We are an ecosystem of Kubernetes based components for the AI/ML Lifecycle with support for all major frameworks.

Install Kubeflow anywhere you run Kubernetes.

@franciscojavierarceo
Copy link
Contributor

franciscojavierarceo commented Jul 25, 2024

Small suggestion:

Run Kubeflow anywhere you run Kubernetes.

Maybe we want to be explicit with the install but I would generally assume I have to install it...just a thought.

@andreyvelich andreyvelich force-pushed the update-kubeflow-index branch 2 times, most recently from 83cec50 to 7230f6b Compare July 25, 2024 14:39
Signed-off-by: Andrey Velichkevich <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
@andreyvelich
Copy link
Member Author

Ok, I updated it. What do you think about this message:

Kubeflow makes artificial intelligence and machine learning simple, portable, and scalable.
We are an ecosystem of Kubernetes based components for each stage in the AI/ML Lifecycle with support for best-in-class open source systems for AI/ML.

Run Kubeflow anywhere you run Kubernetes.

@thesuperzapper
Copy link
Member

thesuperzapper commented Jul 25, 2024

@andreyvelich think it's close, but. I don't like the repetition of "Run", and I think the second sentence is a little cumbersome.

How about:

Kubeflow makes artificial intelligence and machine learning simple, portable, and scalable.
We are an ecosystem of Kubernetes based components for each stage in the AI/ML Lifecycle with support for best-in-class tools and frameworks.

Deploy Kubeflow anywhere you run Kubernetes.

Also, make the link around the full "Deploy Kubeflow" so it's clear what that link is about

Signed-off-by: Andrey Velichkevich <[email protected]>
@andreyvelich
Copy link
Member Author

@thesuperzapper Ok, maybe we should say open source tools and frameworks.

Signed-off-by: Andrey Velichkevich <[email protected]>
Copy link
Member

@thesuperzapper thesuperzapper left a comment

Choose a reason for hiding this comment

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

@andreyvelich I am happy to LGTM once these small style changes are made, but the overall content is good now.

Comment on lines 11 to 13
It makes AI/ML on Kubernetes simple, portable, and scalable. We are an _ecosystem_ of Kubernetes
based components for each stage in the ML Lifecycle with support for best-in-class
open source tools and frameworks.
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 can remove the "We are..." sentence, because it effectively repeats the first sentence.

<br><br>
Anywhere you are running Kubernetes, you should be able to run Kubeflow.
Deploy <a href="/docs/started/installing-kubeflow/" target="_blank">Kubeflow</a> anywhere you run Kubernetes.
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 should move the "Deploy" within the link so it's clear what the link is.

Copy link
Member Author

Choose a reason for hiding this comment

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

Sure

Signed-off-by: Andrey Velichkevich <[email protected]>
@thesuperzapper
Copy link
Member

@andreyvelich thanks for your work on this, I think we are in a pretty good place, and am happy to merge it

/lgtm

@terrytangyuan
Copy link
Member

/lgtm
/approve

Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: terrytangyuan

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

The pull request process is described 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

Copy link
Member Author

@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.

Thanks everyone for your review!
/hold cancel

@google-oss-prow google-oss-prow bot merged commit 85a48a0 into kubeflow:master Jul 29, 2024
6 checks passed
@andreyvelich andreyvelich deleted the update-kubeflow-index branch July 29, 2024 11:58
@jbottum
Copy link
Contributor

jbottum commented Jul 29, 2024

Thanks for completing this. I appreciate that finding the proper words can be challenging. In the future, we might avoid sentences with multiple prepositional phrases i.e. We are an ecosystem of Kubernetes
based components for each stage in the ML Lifecycle with support for best-in-class
open source tools and frameworks
, might be something like, The Kubeflow community develops best-in-class, open-source Kubernetes components that streamline the ML lifecycle and simplify the integration of leading tools and frameworks.

@thesuperzapper
Copy link
Member

Thanks for completing this. I appreciate that finding the proper words can be challenging. In the future, we might avoid sentences with multiple prepositional phrases i.e. We are an ecosystem of Kubernetes
based components for each stage in the ML Lifecycle with support for best-in-class
open source tools and frameworks
, might be something like, The Kubeflow community develops best-in-class, open-source Kubernetes components that streamline the ML lifecycle and simplify the integration of leading tools and frameworks.

I think those sentences don't actually mean the same thing.

Specifically, we are not claiming that Kubeflow's tools are "best in class" but that Kubeflow tools support the best open frameworks (e.g. PyTorch, TensorFlow, Spark, ...).

@andreyvelich
Copy link
Member Author

That's right. We are explaining that Kubeflow deploys those best-in-class OSS tools.
@jbottum Do you feel that we should change the 2nd sentence as follows ?

The Kubeflow community develop Kubernetes based components for each stage in the AI/ML Lifecycle with support for best-in-class open source tools and frameworks.

@thesuperzapper
Copy link
Member

That's right. We are explaining that Kubeflow deploys those best-in-class OSS tools.
@jbottum Do you feel that we should change the 2nd sentence as follows ?

The Kubeflow community develop Kubernetes based components for each stage in the AI/ML Lifecycle with support for best-in-class open source tools and frameworks.

@andreyvelich what we have now is more inclusive of tools which are part of the "ecosystem" but not technically developed by the Kubeflow community.

Also, I really think the current "We are an ecosystem..." more correctly explains what Kubeflow is, and helps people quickly understand that we're not just one tool.

@andreyvelich
Copy link
Member Author

Makes sense.

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.