Ray

Ray

Ray 是一个开源的 AI 计算引擎,用于跨 CPU 和 GPU 运行分布式 Python 工作负载。它协调训练、推理、数据处理和强化学习,使团队能够在无需重写代码的情况下,从笔记本原型迁移到生产集群。该项目由 Anyscale 维护,支持Today用于生产的规模大规模 AI 平台。

Ray 是 Python 原生的,基于一小组原语构建:任务(tasks)、演员(actors)和对象(objects)。这种设计让你可以分布式运行普通的 Python 函数和类,而不需要学习一套单独的集群API。在其之上,提供高层库,用于数据加载、超参数调优、模型训练、服务和强化学习流程。

该框架面向需要在异构硬件上进行细粒度扩展的 ML 工程师、数据科学家和平台团队。Ray 支持多模态数据、基础模型训练、批处理和在线 LLM 推理、GenAI 流水线,以及通过 Ray Data、Train、Serve、Tune 和 RLlib 等库实现的经典 ML 模型。

主要功能:
  1. 将Python代码从笔记本扩展到数千个GPU

  2. Ray Data处理图像、视频、音频和结构化数据集

  3. 一行代码实现分布式基础模型训练

  4. Ray Serve独立扩展模型,使用部分GPU资源

  5. 在混合CPU和GPU管道上进行批量和在线LLM推理

  6. Ray RLlib运行生产级强化学习工作负载

Pros:
  1. 开源框架,在 GitHub 上拥有 3.48 万星标和 ray.io 上列出的 1000 多名贡献者。

  2. 通过 Ray Data、Train、Tune、Serve 和 RLlib 库覆盖完整的机器学习生命周期。

  3. 通过原生 Python API,从本地开发扩展到大型 GPU 集群。

  4. 支持异构的 CPU 和 GPU 集群,针对每个工作负载实现独立扩展。

Cons:
  1. 托管服务和企业功能现在线上Anyscale平台,而非ray.io本身。

  2. 大多数文档和深入的设置指南位于docs.ray.io,而非营销网站。

  3. 在本地开发之外,生产集群操作仍然需要分布式系统专业知识。

常见问题:

Ray是免费使用的吗?

是的。Ray是开源软件,您可以在自己的基础设施上免费安装和运行。核心框架、库以及docs.ray.io上的文档均无需订阅即可使用。

Ray支持哪些AI工作负载?

Ray支持并行Python代码、多模态数据处理、分布式模型训练、在线和批量模型服务、批量推理、强化学习、生成式AI工作流、大型语言模型推理和微调。主页列出了涵盖仿真、回测、RAG应用和基础模型训练的用例。

Ray包含哪些库?

Ray包含Ray Core及高级库:用于数据处理的Ray Data、分布式训练的Ray Train、超参数搜索的Ray Tune、模型部署的Ray Serve和强化学习的Ray RLlib。ray.io上的文档和产品页面还提及用于大型语言模型工作负载的Ray LLM。

Ray使用什么编程语言?

Ray是Python原生的。您编写标准的Python函数和类,Ray会将它们分布到集群中。该网站描述Ray是由开发者为希望扩展现有Python代码而无需采用新语言或特定框架集群层的开发者打造。

如何获得帮助或加入Ray社区?

Ray维护着社区Slack工作区、discuss.ray.io上的讨论论坛、github.com/ray-project/ray的GitHub仓库,以及X账号@raydistributed。Ray.io还提供Anyscale培训课程和docs.ray.io上的文档供实践学习。

Ray能在同一工作负载中使用不同的GPU和CPU吗?

可以。Ray设计支持异构计算。该网站强调混合GPU和CPU的独立扩展、分数资源分配,以及结合CPU预处理和GPU推理的流水线,以提升利用率并降低批量推理成本。

分类:

定价:

免费

标签:

Distributed Computing
Machine Learning
Open Source
Model Training
GPU Scaling
LLM Serving

使用的技术:

Next.js
Google Tag Manager
HubSpot
Python
GitHub
Webpack
Tailwind CSS

评论:

Give your opinion on Ray :-

Overall rating

Join thousands of AI enthusiasts in the World of AI!

最佳免费 Ray 替代方案(和付费)

By Rishit