Ray 使用案例#

本页索引了用于扩展机器学习的常见 Ray 用例。它包含了对 Ray 文档中其他位置的博客、示例和教程的突出引用。

LLMs 和生成式 AI#

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

../_images/llm-stack.png

批量推理#

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

../_images/batch_inference.png

模型服务#

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

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

../_images/multi_model_serve.png

使用 Ray Serve 的部署模式。(点击图片放大。)#

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

超参数调优#

The Ray Tune 库使得任何并行的 Ray 工作负载都能在超参数调优算法下运行。

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

../_images/tuning_use_case.png

每个试验的分布式训练与分布式调优。#

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

分布式训练#

The 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

端到端机器学习工作流#

以下重点展示了利用 Ray AI 库实现端到端机器学习工作流的示例。

大规模工作负载编排#

以下是利用 Ray Core 的分布式 API 来简化大规模工作负载编排的特色项目。