开发者社区 > 大数据与机器学习 > 人工智能平台PAI > 正文

想问下在机器学习PAI里deeprec 可以设置grpc failfast是用于什么场景?

问题1:https://github.com/DeepRec-AI/DeepRec/blob/main/tensorflow/core/distributed_runtime/rpc/grpc_remote_master.cc#L140 文件 /grpc_remote_master.cc 140行可以设置ctx.set_fail_fast(false); 想问下在机器学习PAI里deeprec 可以设置grpc failfast是用于什么场景? 问题2:是这样,我们遇到了一个场景, 分布式ps-worker场景下, 某个ps pod 被删除了,并且该ps pod 不会被重启。期望是sesstion run会报错并退出,Recoverable Session 会尝试不断新建Session。 存在session.run 会hang住的情况(卡在grpc连接),这种情况下设置fail fast 是否会避免hang住的情况。

展开
收起
三分钟热度的鱼 2023-05-14 20:01:49 213 0
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    2000元阿里云代金券免费领取,2核4G云服务器仅799元/3年,新老用户都有优惠,立即抢购>>>

    问题1:在阿里云机器学习PAI里deeprec设置grpc failfast是用于什么场景?

    grpc failfast的主要作用是在 gRPC 调用失败时快速返回错误,并避免在网络故障等情况下产生不必要的延迟。当 failfast 被设置为 true 时,gRPC 会立即返回错误,而无需等待处理请求的服务器响应。

    在机器学习场景中,我们通常需要处理大量的数据和模型训练任务,而这些任务的运行时间可能会非常长。因此,为了提高任务的执行效率和可靠性,设置 grpc failfast 可以及时避免一些不必要的延迟,并快速捕获错误,以便及时采取相应措施。

    问题2:在分布式ps-worker场景下,某个ps pod 被删除了,并且该ps pod 不会被重启。期望是session.run会报错并退出,Recoverable Session 会尝试不断新建Session。设fail fast 是否会避免hang住的情况?

    在分布式场景下,如果某个ps pod被删除,并且不会被重启,会导致一些与其相关的请求被阻塞或超时。在这种情况下,设置 grpc failfast 可以确保 gRPC 的错误处理机制能够及时返回错误,而无需等待被阻塞或超时的请求完成。这可以避免 session.run 等任务被 hang 住等问题的发生。

    grpc failfast设置为true可以提高错误处理效率,但也可能会导致一些 gRPC 请求被拒绝,从而对任务效率造成影响。因此,在实际使用中,需要根据实际情况对 grpc failfast 参数进行调整,以达到最佳效果。

    2023-05-23 13:59:51
    赞同 展开评论 打赏
  • 热爱开发

    2000元阿里云代金券免费领取,2核4G云服务器仅799元/3年,新老用户都有优惠,立即抢购>>>

    在机器学习PAI里DeepRec使用gRPC通信协议,设置grpc failfast可以在客户端发起请求时立即终止对应的调用,避免等待超时。如果您将ctx.set_fail_fast(false)设置为true,则表示开启了failfast功能。适合于希望快速响应、降低网络延迟的场景。

    如果某个ps pod被删除且不会被重启,而且session.run会hang住,有可能是由于底层的gRPC连接没有正确回收导致的。在这种情况下,您可以将failfast设置为true,以便及时终止失败的RPC调用,并释放资源。但是需要注意的是,如果您开启了failfast功能,某些异常情况下会导致程序直接退出,而不是尝试重新建立连接。因此,在使用时需要权衡好数据处理的准确性和容错性之间的关系。

    2023-05-15 15:25:26
    赞同 展开评论 打赏
  • 2000元阿里云代金券免费领取,2核4G云服务器仅799元/3年,新老用户都有优惠,立即抢购>>>

    针对问题1的回答:训练对于是否开启fast fail其实是不敏感的,特别是分布式下可能没有太大的感知。一般来说考虑到复杂的网络环境,fast fail可能不如retry一下。 针对问题2的回答:可以加一个超时限制。 此回答整理自钉群“DeepRec用户群”

    2023-05-14 20:21:02
    赞同 展开评论 打赏

相关产品

  • 人工智能平台 PAI
  • 热门讨论

    热门文章

    相关电子书

    更多
    微博机器学习平台架构和实践 立即下载
    机器学习及人机交互实战 立即下载
    大数据与机器学习支撑的个性化大屏 立即下载
    http://www.vxiaotou.com