From 4479f66d4db967d3c9dd0af2572061276ba926ba Mon Sep 17 00:00:00 2001 From: Jiajun Yao Date: Fri, 21 Apr 2023 14:47:37 -0700 Subject: [PATCH] Cherry pick doc PRs #34614 #34615 #34435 #34505 #34617 #34623 #34660 (#34676) --- doc/source/_static/js/custom.js | 19 ++++++ doc/source/images/llm-stack.png | Bin 0 -> 144021 bytes doc/source/ray-contribute/docs.ipynb | 11 ++- doc/source/ray-overview/use-cases.rst | 95 ++++++++++++++++++++++++-- doc/source/serve/getting_started.md | 12 ++-- python/ray/tune/tests/tutorial.py | 3 +- 6 files changed, 118 insertions(+), 22 deletions(-) create mode 100644 doc/source/images/llm-stack.png diff --git a/doc/source/_static/js/custom.js b/doc/source/_static/js/custom.js index ff4f883b65a3a..c6432e273258b 100644 --- a/doc/source/_static/js/custom.js +++ b/doc/source/_static/js/custom.js @@ -102,3 +102,22 @@ window.onload = function() { localStorage.removeItem("scroll"); } }; + +// When the document is fully loaded +document.addEventListener("DOMContentLoaded", function() { + // find all the code blocks' copy buttons + let codeButtons = document.querySelectorAll(".copybtn"); + for (let i = 0; i < codeButtons.length; i++) { + const button = codeButtons[i]; + // and add a click event listener to each one for Google Analytics. + button.addEventListener("click", function() { + gtag("event", "code_copy_click", { + "send_to": "UA-110413294-1", + "event_category": "ray_docs_copy_code", + "event_label": "URL: " + document.URL + + " Button: " + button.getAttribute("data-clipboard-target"), + "value": 1, + }); + }); + } +}); diff --git a/doc/source/images/llm-stack.png b/doc/source/images/llm-stack.png new file mode 100644 index 0000000000000000000000000000000000000000..110c1339b81fd3e6c7c731d1fbaec4c1e8804151 GIT binary patch literal 144021 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 MNd<}OF9w1C2XqmOP5=M^ literal 0 HcmV?d00001 diff --git a/doc/source/ray-contribute/docs.ipynb b/doc/source/ray-contribute/docs.ipynb index 47fa7f49f7300..d7636a73c082a 100644 --- a/doc/source/ray-contribute/docs.ipynb +++ b/doc/source/ray-contribute/docs.ipynb @@ -28,28 +28,27 @@ "cd ray/doc\n", "```\n", "\n", - "**Note**: If you are on an Apple Silicon (M1) read the instructions below for installing the dependencies.\n", + "**Note**: If you are using Apple Silicon (M1), follow the instructions below before continuing.\n", "\n", - "Make sure you activate the Python environment you are using (e.g. venv, conda, etc.) and then to install the documentation dependencies, run the following command:\n", + "Activate the Python environment you are using (e.g., venv, conda, etc.). Install the documentation dependencies, with the following command:\n", "\n", "```shell\n", "pip install -r requirements-doc.txt\n", "```\n", "\n", - "Additionally, it's best if you install the dependencies for our linters with\n", + "Install the dependencies for our linters to ensure your changes comply with our style guide.\n", "\n", "```shell\n", "pip install -r ../python/requirements_linters.txt\n", "```\n", "\n", - "so that you can make sure your changes comply with our style guide.\n", - "Building the documentation is done by running the following command:\n", + "Build the documentation by running the following command:\n", "\n", "```shell\n", "make develop\n", "```\n", "\n", - "which will build the documentation into the `_build` directory.\n", + "Find the documentation build in the `_build` directory.\n", "After the build finishes, you can simply open the `_build/html/index.html` file in your browser.\n", "It's considered good practice to check the output of your build to make sure everything is working as expected.\n", "\n", diff --git a/doc/source/ray-overview/use-cases.rst b/doc/source/ray-overview/use-cases.rst index 3d9d25e520855..1c86131218370 100644 --- a/doc/source/ray-overview/use-cases.rst +++ b/doc/source/ray-overview/use-cases.rst @@ -5,6 +5,94 @@ Ray Use Cases This page indexes common Ray use cases for scaling ML. It contains highlighted references to blogs, examples, and tutorials also located elsewhere in the Ray documentation. +.. _ref-use-cases-llm: + +LLMs and Gen AI +--------------- + +Large language models (LLMs) and generative AI are rapidly changing industries, and demand compute at an astonishing pace. Ray provides a distributed compute framework for scaling these models, allowing developers to train and deploy models faster and more efficiently. With specialized libraries for data streaming, training, fine-tuning, hyperparameter tuning, and serving, Ray simplifies the process of developing and deploying large-scale AI models. + +.. figure:: /images/llm-stack.png + +Learn more about how Ray scales LLMs and generative AI with the following resources. + +.. panels:: + :container: container pb-3 + :column: col-md-3 px-1 py-1 + :img-top-cls: p-2 w-75 d-block mx-auto fixed-height-img + + --- + :img-top: /images/ray_logo.png + + .. link-button:: https://www.anyscale.com/blog/ray-common-production-challenges-for-generative-ai-infrastructure + :type: url + :text: [Blog] How Ray solves common production challenges for generative AI infrastructure + :classes: btn-link btn-block stretched-link webCrawler + + --- + :img-top: /images/ray_logo.png + + .. link-button:: https://www.anyscale.com/blog/training-175b-parameter-language-models-at-1000-gpu-scale-with-alpa-and-ray + :type: url + :text: [Blog] Training 175B Parameter Language Models at 1000 GPU scale with Alpa and Ray + :classes: btn-link btn-block stretched-link webCrawler + + --- + :img-top: /images/ray_logo.png + + .. link-button:: https://www.anyscale.com/blog/faster-stable-diffusion-fine-tuning-with-ray-air + :type: url + :text: [Blog] Faster stable diffusion fine-tuning with Ray AIR + :classes: btn-link btn-block stretched-link webCrawler + + --- + :img-top: /images/ray_logo.png + + .. link-button:: https://www.anyscale.com/blog/how-to-fine-tune-and-serve-llms-simply-quickly-and-cost-effectively-using + :type: url + :text: [Blog] How to fine tune and serve LLMs simply, quickly and cost effectively using Ray + DeepSpeed + HuggingFace + :classes: btn-link btn-block stretched-link webCrawler + + --- + :img-top: /images/ray_logo.png + + .. link-button:: https://www.businessinsider.com/openai-chatgpt-trained-on-anyscale-ray-generative-lifelike-ai-models-2022-12 + :type: url + :text: [Blog] How OpenAI Uses Ray to Train Tools like ChatGPT + :classes: btn-link btn-block stretched-link chatgpt + + --- + :img-top: /images/ray_logo.png + + .. link-button:: /ray-air/examples/gptj_deepspeed_fine_tuning + :type: ref + :text: [Example] GPT-J-6B Fine-Tuning with Ray AIR and DeepSpeed + :classes: btn-link btn-block stretched-link antServing + + --- + :img-top: /images/ray_logo.png + + .. link-button:: /ray-air/examples/dreambooth_finetuning + :type: ref + :text: [Example] Fine-tuning DreamBooth with Ray AIR + :classes: btn-link btn-block stretched-link rayForward + + --- + :img-top: /images/ray_logo.png + + .. link-button:: /ray-air/examples/stablediffusion_batch_prediction + :type: ref + :text: [Example] Stable Diffusion Batch Prediction with Ray AIR + :classes: btn-link btn-block stretched-link rayForward + + --- + :img-top: /images/ray_logo.png + + .. link-button:: /ray-air/examples/gptj_serving + :type: ref + :text: [Example] GPT-J-6B Serving with Ray AIR + :classes: btn-link btn-block stretched-link webCrawler + .. _ref-use-cases-batch-infer: Batch Inference @@ -530,13 +618,6 @@ The following highlights feature projects leveraging Ray Core's distributed APIs --- :img-top: /images/ray_logo.png - .. link-button:: https://www.businessinsider.com/openai-chatgpt-trained-on-anyscale-ray-generative-lifelike-ai-models-2022-12 - :type: url - :text: [Blog] How OpenAI Uses Ray to Train Tools like ChatGPT - :classes: btn-link btn-block stretched-link chatgpt - --- - :img-top: /images/ray_logo.png - .. link-button:: https://www.anyscale.com/blog/building-highly-available-and-scalable-online-applications-on-ray-at-ant :type: url :text: [Blog] Highly Available and Scalable Online Applications on Ray at Ant Group diff --git a/doc/source/serve/getting_started.md b/doc/source/serve/getting_started.md index b639a39167442..409d28f2f23e3 100644 --- a/doc/source/serve/getting_started.md +++ b/doc/source/serve/getting_started.md @@ -37,18 +37,16 @@ First, let's take a look at our text-translation model. Here's its code: :start-after: __start_translation_model__ :end-before: __end_translation_model__ :language: python -:linenos: true ``` The Python file, called `model.py`, uses the `Translator` class to translate English text to French. -- The `self.model` variable on line 8 inside `Translator`'s `__init__` method +- The `self.model` variable inside `Translator`'s `__init__` method stores a function that uses the [t5-small](https://huggingface.co/t5-small) model to translate text. - When `self.model` is called on English text, it returns translated French text inside a dictionary formatted as `[{"translation_text": "..."}]`. -- The `Translator`'s `translate` method extracts the translated text on - line 15 by indexing into the dictionary. +- The `Translator`'s `translate` method extracts the translated text by indexing into the dictionary. You can copy-paste this script and run it locally. It translates `"Hello world!"` into `"Bonjour Monde!"`. @@ -133,7 +131,6 @@ Here's the full Ray Serve script that we built: :start-after: __deployment_full_start__ :end-before: __deployment_full_end__ :language: python -:linenos: true ``` We can run our script with the `serve run` CLI command. This command takes in an import path @@ -201,7 +198,7 @@ For example, let's deploy a machine learning pipeline with two steps: You can copy-paste this script and run it locally. It summarizes the snippet from _A Tale of Two Cities_ to `it was the best of times, it was worst of times .` ```console -$ python model.py +$ python summary_model.py it was the best of times, it was worst of times . ``` @@ -212,10 +209,9 @@ Here's a Ray Serve deployment graph that chains the two models together. The gra :start-after: __start_graph__ :end-before: __end_graph__ :language: python -:linenos: true ``` -This script contains our `Summarizer` class converted to a deployment and our `Translator` class with some modifications. In this script, the `Summarizer` class contains the `__call__` method since requests are sent to it first. It also takes in the `Translator` as one of its constructor arguments, so it can forward summarized texts to the `Translator` deployment. The `__call__` method also contains some new code on lines 44 and 45: +This script contains our `Summarizer` class converted to a deployment and our `Translator` class with some modifications. In this script, the `Summarizer` class contains the `__call__` method since requests are sent to it first. It also takes in the `Translator` as one of its constructor arguments, so it can forward summarized texts to the `Translator` deployment. The `__call__` method also contains some new code: ```python translation_ref = await self.translator.translate.remote(summary) diff --git a/python/ray/tune/tests/tutorial.py b/python/ray/tune/tests/tutorial.py index ceb48366334f0..d3b217ca7f8f2 100644 --- a/python/ray/tune/tests/tutorial.py +++ b/python/ray/tune/tests/tutorial.py @@ -12,6 +12,7 @@ import torch.nn.functional as F from ray import air, tune +from ray.air import session from ray.tune.schedulers import ASHAScheduler # __tutorial_imports_end__ # fmt: on @@ -105,7 +106,7 @@ def train_mnist(config): acc = test(model, test_loader) # Send the current training result back to Tune - tune.report(mean_accuracy=acc) + session.report({"mean_accuracy": acc}) if i % 5 == 0: # This saves the model to the trial directory