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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactoring of the Getting Started page #10798

Merged
merged 3 commits into from Jan 12, 2024

Conversation

BenWilson2
Copy link
Member

@BenWilson2 BenWilson2 commented Jan 9, 2024

馃洜 DevTools 馃洜

Open in GitHub Codespaces

Install mlflow from this PR

pip install git+https://github.com/mlflow/mlflow.git@refs/pull/10798/merge

Checkout with GitHub CLI

gh pr checkout 10798

Related Issues/PRs

#xxx

What changes are proposed in this pull request?

Cleanup and streamline the getting started with MLflow page. Removed a useless tutorial and collapsed sections into a cleaner and less cluttered design.

How is this PR tested?

  • Existing unit/integration tests
  • New unit/integration tests
  • Manual tests

Does this PR require documentation update?

  • No. You can skip the rest of this section.
  • Yes. I've updated:
    • Examples
    • API references
    • Instructions

Release Notes

Is this a user-facing change?

  • No. You can skip the rest of this section.
  • Yes. Give a description of this change to be included in the release notes for MLflow users.

Overhauled the getting started with MLflow page.

What component(s), interfaces, languages, and integrations does this PR affect?

Components

  • area/artifacts: Artifact stores and artifact logging
  • area/build: Build and test infrastructure for MLflow
  • area/deployments: MLflow Deployments client APIs, server, and third-party Deployments integrations
  • area/docs: MLflow documentation pages
  • area/examples: Example code
  • area/model-registry: Model Registry service, APIs, and the fluent client calls for Model Registry
  • area/models: MLmodel format, model serialization/deserialization, flavors
  • area/recipes: Recipes, Recipe APIs, Recipe configs, Recipe Templates
  • area/projects: MLproject format, project running backends
  • area/scoring: MLflow Model server, model deployment tools, Spark UDFs
  • area/server-infra: MLflow Tracking server backend
  • area/tracking: Tracking Service, tracking client APIs, autologging

Interface

  • area/uiux: Front-end, user experience, plotting, JavaScript, JavaScript dev server
  • area/docker: Docker use across MLflow's components, such as MLflow Projects and MLflow Models
  • area/sqlalchemy: Use of SQLAlchemy in the Tracking Service or Model Registry
  • area/windows: Windows support

Language

  • language/r: R APIs and clients
  • language/java: Java APIs and clients
  • language/new: Proposals for new client languages

Integrations

  • integrations/azure: Azure and Azure ML integrations
  • integrations/sagemaker: SageMaker integrations
  • integrations/databricks: Databricks integrations

How should the PR be classified in the release notes? Choose one:

  • rn/none - No description will be included. The PR will be mentioned only by the PR number in the "Small Bugfixes and Documentation Updates" section
  • rn/breaking-change - The PR will be mentioned in the "Breaking Changes" section
  • rn/feature - A new user-facing feature worth mentioning in the release notes
  • rn/bug-fix - A user-facing bug fix worth mentioning in the release notes
  • rn/documentation - A user-facing documentation change worth mentioning in the release notes

Copy link

github-actions bot commented Jan 9, 2024

Documentation preview for 5c72256 will be available here when this CircleCI job completes successfully.

More info

@github-actions github-actions bot added area/docs Documentation issues rn/documentation Mention under Documentation Changes in Changelogs. labels Jan 9, 2024
Copy link
Collaborator

@B-Step62 B-Step62 left a comment

Choose a reason for hiding this comment

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

Really love this simplification!! I feel this page is crucial as the first contact point with users, so please bear with my comments a bit more ambitious and picky than usual馃檹

@@ -9,7 +9,7 @@ how to use MLflow to solve a particular task.
Guidance on Running Tutorials
-----------------------------

If you are new to MLflow and have never interfaced with the MLflow Tracking Server, we highly encourage you to head on over to quickly read the guide below. It
If you are new to MLflow and have never interfaced with the MLflow Tracking Server, we highly encourage you to head on over to quickly **read the guide below**. It
Copy link
Collaborator

Choose a reason for hiding this comment

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

What was the consensus on the idea of getting rid of the step for starting tracking server? The quickest way indeed is to run pip install mlflow, while the guidance ask users to some effort i.e. either signing up or setting up server. I'm afraid that mandating it will increase the mental bar for onboarding. Can we position this guide as optional step like "you can run all notebooks locally but here are the recommended set up to avoid gotchas".

Copy link
Member Author

Choose a reason for hiding this comment

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

The CE / local server / managed service tracking server instructions were the defined requirements from product. I agree that fully local mode is definitely the easiest to start using the APIs, but doesn't really encourage users to adapt to the recommended interaction mode with a production deployment of MLflow.
This part of our guides isn't really available for us to change.


Interested in navigating directly to the content that you're curious about? Select the section from each tutorial below!
.. figure:: ../_static/images/tutorials/introductory/autologging-intro.png
Copy link
Collaborator

Choose a reason for hiding this comment

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

The center column has the strongest appearance to me, wondering if we can make it a bit less standing e.g. converting it to thin arrow rather than stacked boxes? Or even simpler showing two code boxes side-by-side.

Copy link
Member Author

Choose a reason for hiding this comment

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

great idea. Updating with a more clear design.

@@ -9,7 +9,7 @@ how to use MLflow to solve a particular task.
Guidance on Running Tutorials
-----------------------------

If you are new to MLflow and have never interfaced with the MLflow Tracking Server, we highly encourage you to head on over to quickly read the guide below. It
Copy link
Collaborator

Choose a reason for hiding this comment

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

nit: Could you make "View the Guide to Running Tutorial Notebooks" button to inline link? We use the blue button mainly for notebook downloading, I think it's good have a single standard to reduce cognitive load.

Copy link
Member Author

Choose a reason for hiding this comment

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

Switched it to a card. We definitely (per the guidance for ushering users to CE) need to make this visible.


`5 Minute Tracking Server Overview <tracking-server-overview/index.html>`_
---------------------------------------------------------------------------
In-depth Guides
Copy link
Collaborator

@B-Step62 B-Step62 Jan 9, 2024

Choose a reason for hiding this comment

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

Can we convert this section to general "What's next?" with bullet points include tracking and other docs like LLMs, not only tutorial? Personally I like opening documents as well while running tutorials, as it helps me to understand not only bottom-up (notebooks - focus on one scenario) but also top-down (documents - explain concepts and list what are available)
Focusing on tracking in this page makes sense, but for the further path, having listing other categories of features are great like LLMs, evaluation, serving, so that users can dive deeper in their own interests.

Copy link
Member Author

Choose a reason for hiding this comment

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

Great idea!! Reworked this section completely and added the lengthier guide to tracking up above in the tracking section.

@@ -9,7 +9,7 @@ how to use MLflow to solve a particular task.
Guidance on Running Tutorials
-----------------------------

If you are new to MLflow and have never interfaced with the MLflow Tracking Server, we highly encourage you to head on over to quickly read the guide below. It
If you are new to MLflow and have never interfaced with the MLflow Tracking Server, we highly encourage you to head on over to quickly **read the guide below**. It
Copy link
Collaborator

Choose a reason for hiding this comment

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

nit: Can we add more inline links to our technical terms like MLflow Tracking Server, MLflow fluent API? It provides answers when user faces question "what this term means?" while not needing repeating explanation.

Copy link
Member Author

Choose a reason for hiding this comment

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

Added a few links where they make sense

Signed-off-by: Ben Wilson <benjamin.wilson@databricks.com>
Signed-off-by: Ben Wilson <benjamin.wilson@databricks.com>
Copy link
Collaborator

@B-Step62 B-Step62 left a comment

Choose a reason for hiding this comment

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

Left a few nitpicks, otherwise LGTM!

Copy link
Collaborator

Choose a reason for hiding this comment

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

nit: "Save Model' is missing in the left arrow?

Copy link
Collaborator

Choose a reason for hiding this comment

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

I guess it's because save model is automatically done by autologging?

Copy link
Member Author

Choose a reason for hiding this comment

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

yeah I intentionally left it out because it's automated :)

This quickstart tutorial focuses on the MLflow UI's run comparison feature, provides a brief overview of MLflow Projects,
and shows how to register a model. After locally serving the registered model, a brief example of preparing a model for remote deployment
via containerizing the model via Docker is covered.
This quickstart tutorial focuses on the MLflow UI's run comparison feature, provides a brief overview of `MLflow Projects <../projects.html>`_,
Copy link
Collaborator

Choose a reason for hiding this comment

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

nit: this tutorial doesn't seem to mention about MLflow Project

Copy link
Member Author

Choose a reason for hiding this comment

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

ooooh good catch. I totally forgot that we removed all of that from this tutorial. Thanks!

`5 Minute Tracking Server Overview <tracking-server-overview/index.html>`_
---------------------------------------------------------------------------
Tracking Server Quickstart
^^^^^^^^^^^^^^^^^^^^^^^^^^

This quickstart tutorial walks through different types of MLflow Tracking Servers and how to use them to log
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
This quickstart tutorial walks through different types of MLflow Tracking Servers and how to use them to log
This quickstart tutorial walks through different types of `MLflow Tracking Servers<../tracking/server.html>`_ and how to use them to log

Copy link
Collaborator

Choose a reason for hiding this comment

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

This screenshot looks a little bit vague 馃

Copy link
Member Author

Choose a reason for hiding this comment

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

Agreed :) updated with some arrows and boxes to explain what the image really is

Copy link
Collaborator

@serena-ruan serena-ruan left a comment

Choose a reason for hiding this comment

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

LGTM!

Signed-off-by: Ben Wilson <benjamin.wilson@databricks.com>
@BenWilson2 BenWilson2 merged commit d60dca1 into mlflow:master Jan 12, 2024
36 checks passed
@BenWilson2 BenWilson2 deleted the ce-references branch January 12, 2024 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/docs Documentation issues rn/documentation Mention under Documentation Changes in Changelogs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants