Ray 1.12:Ray AI Runtime发布(alpha),用户使用数据收集,Runtime environments增强

Ray 1.12版本已经正式发布,其中有三项重要的更新:

Ray AI Runtime(AIR)alpha发布

支持用户使用数据收集

Runtime environments增强

大家可以通过“pip install -U ray”升级版本进行体验。

Ray AI Runtime发布

在本次发布中,小编非常兴奋地向大家介绍一个新的library:Ray AI Runtime(AIR)。这是一个开源的工具集,可以帮助你利用Ray的能力构建端到端的ML应用。AIR的主要目标是:

为ML workloads提供计算层

在工作流中允许与其他系统交互实现存储和元数据等需求

AIR统一了不同的Ray library:Ray Data做数据处理;Ray Train做模型训练;Ray Tune做超参调试;Ray Serve做模型服务;RLlib做强化学习。用户可以结合这些library构建不同的ML工作流。

AIR提供了一套统一的API(集成Ray生态中的不同组件),允许你在数据处理、训练、调参、离在线推理等过程中无缝地传输数据和模型。如果你已经在自己的工程中使用了Ray的这些组件,也不用担心,Ray保持了后向兼容,你仍然可以在不改变代码的前提下使用Ray的高版本。

Ray团队会持续投入,希望尽快能使AIR达到beta和GA状态。

使用数据收集

随着Ray工程和社区的不断增长,Ray团队需要一个更好的方式来理解用户需求,进而不断提升Ray的能力和稳定性。所以在21年底,Ray团队提出了一个RFC,希望能以一种轻量级方式,来统计和收集用户使用数据。

在本次发布中,集成了用户使用数据收集的功能。虽然在之前的调查中大部分开发者表示理解并支持这种数据收集方式,但为了保证所有人的立场,在数据收集中我们给了Ray用户绝对的控制权。每个Ray用户可以完全掌控自己的使用数据是如何被使用和收集的,具体可以参考release notes中的RFC。

Runtime environments增强

本次发布中,我们在 Runtime environments 中对“pip”类型的作业运行环境进行了重构:首先引入了virtualenv创建python虚拟环境,这相比之前的实现更加稳定和易用。其次支持了新的API,用户可以通过“pip_check”加强运行时环境的依赖检查,提前发现包冲突等问题;可以通过“pip_version”定制pip版本。

为了改善Runtime environments的稳定性,本次发布中还增加了“setup_timeout_seconds” API,用户可以根据实际情况设置每个env创建的超时时间,避免长时间hang的情况。

除此之外,我们在原有Dict类型API的基础上还支持了强类型API,详细用法参考用户文档。

其他库更新

Deployment Graph API在Ray Serve中alpha发布,提供了一种能够快速构建、测试和部署复杂推理图的方式。

Ray Datasets也有不少更新,如新的lazy执行模型,支持Pandas DataFrame,高效随机访问等。