-
Notifications
You must be signed in to change notification settings - Fork 799
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
add CNCF info & update homepage #3622
add CNCF info & update homepage #3622
Conversation
@james-jwu @zijianjoy because this PR changes files at the root of the repo, I need one of you to approve. |
a9a0475
to
ced1f15
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here I would suggest using svg https://www.cncf.io/wp-content/uploads/2023/04/cncf-main-site-logo.svg
ae2bc0a
to
94f07f4
Compare
@Arhell done, also I updated the other images (which are PNGs) to be all exactly a square. |
8da3a1d
to
a103db2
Compare
/lgtm |
@annajung I have made one final re-sort which I think its much better than what I initially proposed, see the new screenshot at the top of the issue. |
/lgtm cc @zijianjoy PTAL |
@zijianjoy or @james-jwu, can you please approve this, if you think its acceptable, because we need to make this change to be compliant with CNCF rules. |
Following up from the community meeting today, the consensus was that as long as no one is extremely against the wording updates, that we can merge this PR and have each working group do follow-up ones for their component (if they want). This is because the current text on the front page is very incorrect and does not even reflect the current state of the component, so it's hurting SEO and new users understanding. (e.g. currently, Katib and KServe are missing, and Notebooks says that Jupyter is the only supported server type) |
I am a bit concerned about using the Rstudio trademark here.
|
@zijianjoy at least historically (from before the CNCF donation) we had a written agreement for the Kubeflow open-source project to use RStudio trademarks, but even without this, as an open-source project incorporating unmodified versions of RStudio, we likely meet the Automatic Permitted Use requirements. Also, this is all separate from the discussion about what the CNCF views around the AGPL V3 code itself, which I believe is not directly "in" Kubeflow, but rather we help users retrieve it from the official source unmodified by providing example container images. Either way, I am happy to do one of the following to get this PR moving:
|
@zijianjoy to avoid any issues, I have updated the PR to use the RLang logo instead of RStudio, as it is not a registered trademark, and is distributed under Also, I have put a notice in the footer of the homepage indicating the license of the R logo. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for doing this @thesuperzapper, I agree that we should keep our home page updated. Please provide your feedback @kubeflow/wg-training-leads @tenzen-y @kuizhiqing @yuzisun @anencore94
content/en/_index.html
Outdated
<a target="_blank" rel="noopener" href="/docs/external-add-ons/serving/seldon/">Seldon Core</a>, an open source platform for deploying machine learning | ||
models on Kubernetes, <a target="_blank" rel="noopener" href="/docs/external-add-ons/serving/tritoninferenceserver/">NVIDIA Triton Inference Server</a> for | ||
maximized GPU utilization when deploying ML/DL models at scale, and <a target="_blank" rel="noopener" href="/docs/external-add-ons/serving/mlrun/">MLRun Serving</a>, an open-source serverless framework for deployment and monitoring of real-time ML/DL pipelines. | ||
<a target="_blank" rel="noopener" href="/docs/components/katib/overview/">Katib</a> is a Kubernetes-native project for automated machine learning (AutoML) with support for hyperparameter tuning, early stopping and neural architecture search. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's name it Kubeflow Katib, similar to other components.
<a target="_blank" rel="noopener" href="/docs/components/katib/overview/">Katib</a> is a Kubernetes-native project for automated machine learning (AutoML) with support for hyperparameter tuning, early stopping and neural architecture search. | |
<a target="_blank" rel="noopener" href="/docs/components/katib/overview/">Kubeflow Katib</a> is a Kubernetes-native project for automated machine learning (AutoML) with support for hyperparameter tuning, early stopping and neural architecture search. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andreyvelich I was under the impression that the name of Katib was just "Katib" (given that's what its called on the kubeflow/katib
repo? For context, the reason we use "Kubeflow Notebooks" and "Kubeflow Pipelines" is because that's just their full names.
But if the other @kubeflow/wg-automl-leads can confirm what they want to name their component, we can change it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@thesuperzapper But for Training Operator you name it as Kubeflow Training Operator
, but the name is just Training Operator
. I think, we should just be consistent across various Kubeflow-core components.
WDYT @johnugeorge @tenzen-y @gaocegege ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TBH, I'm ok with either name (Kubeflow Katib vs Katib). However, I agree with @andreyvelich's consistency concern.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am going to leave it as Katib, if you decide to rebrand as Kubeflow Katib, its easy to update.
content/en/_index.html
Outdated
style="padding: 2rem;" | ||
alt="People Icon" | ||
/> | ||
<div class=" card-body bg-primary-dark"> | ||
<h5 class="card-title text-white section-head">Community</h5> | ||
<p class="card-text text-white"> | ||
We are an open and welcoming community of software developers, data scientists, and organizations! | ||
Join our <a target="_blank" rel="noopener" href="/docs/about/community/#kubeflow-slack">Slack Workspace</a>! | ||
We are an open and welcoming <a href="/docs/about/community/" target="_blank" rel="noopener">community</a> of software developers, data scientists, and organizations! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we have separate section after Components
, and named it as Kubeflow Ecosystem
?
There we can add links for: Community, Kubeflow Distributions, Kubeflow External Add-Ons ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should discuss this in a separate proposal, as it's less important than getting the current homepage fixed, and will probably derail the discussion.
Also, from a visual perspective, we would need to consider how not to have a multiple of 3 cards per row, if we remove one from components.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good, we can always add another card for Central Dashboard and have Ecosystem block at the bottom.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have replaced the community card with "dashboard" and created a new logo for it.
<!-- For future editors: If you are adding cards not in multiples of 3, wrap them in a 'card-columns' div | ||
instead of card-deck. It will look more pleasing to the eye. --> | ||
<!-- For future editors: If you are adding cards not in multiples of 3, wrap them in a 'card-columns' div instead of card-deck. | ||
It will look more pleasing to the eye. --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about Kubeflow Central Dashboard, Profile Controller, Volumes UI, Tensorboards ? Should we set a section for those components ?
cc @kubeflow/wg-notebooks-leads
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andreyvelich The only one I think might deserve a call out on the homepage is the central dashboard + multi-user support, because it highlights that Kubeflow is a platform, not just a collection of tools.
Perhaps the card could be:
- Title: "Central Dashboard"
- Picture: (an outline of a house/home in a blue heptagon)
- Description: "The Central Dashboard provides an authenticated web interface for Kubeflow and ecosystem components. It acts as a hub for your machine learning platform and tools."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have also just spent the day rewriting the central dashboard docs so they are up to date and not misleading if we link to them on the front page, see PR: #3635
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good, would like to know @kimwnasptd thoughts on it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have replaced the community card with "dashboard" and created a new logo for it, and now that #3635 was merged, its actually a good place to link users.
content/en/_index.html
Outdated
fast multi-purpose serverless framework, and <a target="_blank" rel="noopener" href="https://www.pachyderm.io/">Pachyderm</a> for managing | ||
your data science pipelines. | ||
<a href="/docs/components/training/" target="_blank" rel="noopener" >Kubeflow Training Operators</a> | ||
provide a unified, Kubernetes interface for training machine learning models on multiple frameworks including PyTorch, TensorFlow, MPI, MXNet, PaddlePaddle, and XGBoost. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
provide a unified, Kubernetes interface for training machine learning models on multiple frameworks including PyTorch, TensorFlow, MPI, MXNet, PaddlePaddle, and XGBoost. | |
provide a unified, Kubernetes service for cost efficient and large scale distributed training machine learning models on multiple frameworks including PyTorch, TensorFlow, MPI, MXNet, PaddlePaddle, and XGBoost. |
cc @kubeflow/wg-training-leads @kuizhiqing @tenzen-y
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would suggest to say also HPC. We can also run HPC tasks not ML Training on MPIJob.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tenzen-y This card focused on "Model Training" and is trying to present a story about how Kubeflow enables Model Training on Kubernetes.
As this is the front page, we really don't want to overload the reader.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andreyvelich How do you feel about this?
Kubeflow Training Operator is a unified interface for model training on Kubernetes. It helps you run distributed training jobs for popular frameworks including PyTorch, TensorFlow, MPI, MXNet, PaddlePaddle, and XGBoost.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This card focused on "Model Training" and is trying to present a story about how Kubeflow enables Model Training on Kubernetes.
As this is the front page, we really don't want to overload the reader.
It makes sense. Avoiding to say many details would be better.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tenzen-y @johnugeorge Don't we want to mention large scale distributed training in the Training Operator description ?
Uhm, large scale distributed training
sounds good since here is a top page.
Indeed, the "large scale distributed" sounds redundant to me since, in general, "distributed training" implies large-scale, and I don't hear "small scale distributed training" very often.
However, if we want to show a magnificently to users instead of expression exactness, we should use Large Scale Distributed
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tenzen-y @johnugeorge What do you think about this ?
"""
Kubeflow Training Operator is a unified interface for model training on Kubernetes. It helps you to run scalable distributed training jobs and do fine-tuning for popular frameworks including PyTorch, TensorFlow, MPI, MXNet, PaddlePaddle, and XGBoost.
"""
If we want to mention fine-tuning as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andreyvelich It could do with a break in the middle, so I landed on:
Kubeflow Training Operator is a unified interface for model training on Kubernetes. It runs scalable and distributed training jobs for popular frameworks including PyTorch, TensorFlow, MPI, MXNet, PaddlePaddle, and XGBoost.
If you are happy, lets get this PR merged, and you can update it however you want longer term.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright, let's keep it like this in the first version.
/lgtm Thank you @thesuperzapper for doing that! This PR LGTM, but I will give you time for closing the discussion with Andrey and Johnu. Feel free to ping me again for approval once discussion is completed. |
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
0451d2c
to
04cc960
Compare
Thank you @thesuperzapper! |
My comments - This is very difficult to update and I appreciate @thesuperzapper effort and everyone's input. My concern is that the description of the components is short. Because they are short, I believe they should focus on their functionality. I don't believe that the individual descriptions (on this page) need to reiterate that they are Kubernetes native. I believe each components description should have a consistent format and list on 2-3 major functional that are explained in 1 or 2 short sentences. |
I think the descriptions need to be seen side by side (so they flow and are more consistent). Here is an attempt. Kubeflow Pipelines provide a workflow engine designed for ML tasks that require scalable distributed processing with error handling and retries. Kubeflow Notebooks provide sharable Jupyter, R and VSCode notebooks with configurable compute, storage and RAM resources. AutoML provides efficient tools to optimize your model including hyperparameter tuning with early stopping and neural architecture search. Kubeflow Training Operator provides a unified interface to managed scalable, distributed trading for PyTorch, Tensorflow, MPI, MXNet, PaddlePaddle and XGBoost. KServe provides a consistent interface which simplifies production model serving management for Tensorflow, XGBoost, ScikitLearn, XGBoost and ONNX. Kubeflow Central Dashboard provides users with a simplified web interface and enforces authentication and authorization access to components per the administrator’s requirements.Kubeflow Pipelines provides a workflow engine for ML tasks that require scalable distributed processing with error detection and retries |
@jbottum I like where you are going with your proposal. However, in the interest of having the front page reflect the current state of the project, and because the current descriptions are seemingly acceptable to the working groups. I think let's get this PR merged, and start a discussion with your proposed updates in a follow-up PR. To be clear, I am not against your updates, but there is no harm in taking the update one step at a time. Given how out of date the current homepage is (and that it does not reflect we are a CNCF project), its critical we merge this PR ASAP. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thank you for updating this!
@zijianjoy I think we are good to merge this homepage update now, we will make follow-up PRs related to what @jbottum has proposed, as I like where he is going. |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: terrytangyuan, thesuperzapper, zijianjoy 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 |
Replaces #3621
Part of cncf/sandbox#196
This PR does the following:
Screenshot
Here is a screenshot of the updated homepage and footer: