Ray:一个框架搞定 AI 和 Python 的分布式扩展

Ray 在 GitHub 上已经拿到 42,789 Star 了。

分布式计算框架 Ray,由 Anyscale 开源,定位是统一的 AI 和 Python 应用扩展平台。它把分布式运行时和 ML 工具库整合在一起,让单机代码能直接跑到集群上。

1、Ray 是什么

Ray 是一个统一框架,用于扩展 AI 和 Python 应用。它包含一个核心分布式运行时,以及一组 AI 库:数据处理(Data)、分布式训练(Train)、超参数调优(Tune)、强化学习(RLlib)、模型服务(Serve)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Ray 的核心抽象只有三个概念:Tasks 是无状态的分布式函数,Actors 是有状态的分布式工作进程,Objects 是集群内可共享的不可变数据。这三个原语覆盖了从简单并行到复杂有状态服务的各种场景。

2、解决什么问题

ML 工作负载越来越重,单机开发环境扛不住。传统做法是每个环节用不同的分布式框架,数据处理一个、训练一个、推理服务又一个,组件之间的数据搬运和运维成本很高。

Ray 的思路是把这些全收进一个框架里。同一套代码,笔记本上能跑,集群上也能跑,不需要改一行。对于写 Python 的应用来说,基础设施层被抽象掉了。

README区域截图

3、运行环境与安装

Ray 可以在任意机器、集群、云平台和 Kubernetes 上运行。安装只需一行:

pip install ray

集群模式需要额外启动 Ray 集群,单机模式直接用就行。Ray Dashboard 提供了可视化的集群和应用监控,还有一个分布式调试器用于排查分布式环境下的问题。

4、适合哪些人用

  • 做 ML 训练和推理、需要把单机代码扩展到多机的算法工程师
  • 做强化学习研究、需要并行环境模拟的 RL 开发者
  • 搭在线推理服务、需要弹性扩缩容的工程团队
  • 做数据处理流水线、需要分布式计算能力的后端开发者

弹性扩缩容的工程团队

  • 做数据处理流水线、需要分布式计算能力的后端开发者
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐