Ray 用例#

本页面索引了常见的 Ray 用例,用于扩展机器学习 (ML)。其中包含突出显示的博客、示例和教程,这些内容也位于 Ray 文档的其他位置。

LLM 和生成式 AI#

大型语言模型 (LLM) 和生成式 AI 正在迅速改变各行各业,并以惊人的速度消耗计算资源。Ray 提供了一个分布式计算框架,用于扩展这些模型,使开发人员能够更快、更高效地训练和部署模型。通过针对数据流、训练、微调、超参数调优和服务提供的专用库,Ray 简化了开发和部署大规模 AI 模型的流程。

../_images/llm-stack.png

批量推理#

批量推理是指在大量输入数据上生成模型预测的过程。用于批量推理的 Ray 可与任何云提供商和 ML 框架配合使用,对于现代深度学习应用来说,它快速且成本低廉。它可以从单台机器扩展到大型集群,只需进行最少的代码更改。作为一个 Python 优先的框架,您可以轻松地在 Ray 中表达和交互式开发您的推理工作负载。要了解更多关于使用 Ray 进行批量推理的信息,请参阅 批量推理指南

../_images/batch_inference.png

模型服务#

Ray Serve 非常适合模型组合,使您能够用 Python 代码构建一个由多个 ML 模型和业务逻辑组成的复杂推理服务。

它支持需要编排多个 Ray Actor 的复杂 模型部署模式,其中不同的 Actor 为不同的模型提供推理。Serve 同时支持批量和在线推理,并且可以扩展到生产中的数千个模型。

../_images/multi_model_serve.png

使用 Ray Serve 进行部署模式。(单击图像放大。)#

通过以下资源了解更多关于模型服务的信息。

超参数调优#

Ray Tune 库允许任何并行 Ray 工作负载在超参数调优算法下运行。

运行多个超参数调优实验是适合分布式计算的一种模式,因为每个实验彼此独立。Ray Tune 负责处理超参数优化的分布式难题,并提供诸如检查点最佳结果、优化调度和指定搜索模式等关键功能。

../_images/tuning_use_case.png

每个试验的分布式训练,实现分布式调优。#

通过以下演讲和用户指南,了解更多关于 Tune 库的信息。

分布式训练#

Ray Train 库将许多分布式训练框架集成到一个简单的 Trainer API 下,开箱即用地提供分布式编排和管理功能。

与训练多个模型不同,模型并行是将一个大型模型分片到多台机器上进行训练。Ray Train 提供了内置的抽象,用于分片模型并并行运行训练。

../_images/model_parallelism.png

用于分布式大型模型训练的模型并行模式。#

通过以下演讲和用户指南,了解更多关于 Train 库的信息。

强化学习#

RLlib 是一个开源的强化学习 (RL) 库,支持生产级、高度分布式的 RL 工作负载,同时为各种行业应用维护统一且简单的 API。RLlib 被许多不同行业的行业领导者使用,例如气候控制、工业控制、制造与物流、金融、游戏、汽车、机器人、船舶设计等等。

../_images/rllib_use_case.png

去中心化分布式近端策略优化 (DD-PPO) 架构。#

通过以下资源了解更多关于强化学习的信息。

ML 平台#

Ray 及其 AI 库为希望简化其 ML 平台的团队提供了统一的计算运行时。Ray 的库,如 Ray Train、Ray Data 和 Ray Serve,可以用于组合端到端 ML 工作流,提供用于数据预处理(作为训练的一部分)以及从训练到服务的过渡的功能和 API。

阅读 本节 中关于使用 Ray 构建 ML 平台的更多内容。

../_images/ray-air.svg

端到端 ML 工作流#

以下重点介绍利用 Ray AI 库实现端到端 ML 工作流的示例。

大规模工作负载编排#

以下重点介绍利用 Ray Core 的分布式 API 来简化大规模工作负载编排的项目。