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

每个 Trial 进行分布式训练的分布式调优。#

通过以下讲座和用户指南了解更多关于 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 简化大规模工作负载编排的精选项目。