用途:面向需要扩展 Python 计算与机器学习负载的场景,把单机代码迁移到分布式集群,覆盖分布式 Python 应用、多节点训练、模型服务与超参数调优。主要能力包括:Ray Core 的无状态远程任务与有状态 Actor;Ray Train 编排多节点 PyTorch、XGBoost、LightGBM 训练;Ray Serve 部署可自动伸缩的模型服务与多模型微服务;Ray Tune 运行贝叶斯、Optuna 与基于种群训练的超参搜索。使用方式:先执行 ray.init() 初始化或连接集群,用 @ray.remote 装饰函数或类,通过 .remote() 并发提交并用 ray.get() 收集结果;Serve 用 @serve.deployment 定义部署类并 bind;Tune 用 tune.Tuner 配置搜索空间与指标。建议显式声明资源需求(如 @ray.remote(num_cpus=2, num_gpus=1)),用 ray.put() 共享大型只读数据集,并在远程任务间直接传递 ObjectRef 以保持流水线。限制与注意:文中未提供收费、价格与平台信息;避免在远程任务内部调用 ray.get(),避免创建海量微任务,避免在远程参数中传递数据库连接等大型有状态对象。排错方面,对象存储满、Actor 意外退出、资源请求不可满足等问题需检查 Ray Dashboard(端口 8265)与 ray.cluster_resources()。
ray
编程与开发
更新于 10-16 09:56