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

试了一下,只起了一个进程占了8个gpu,是在机器学习PAI里启动的有问题吗?

问题1:a3638eaea6461f5bb57606e1fc5e4bc4.png试了一下 MultiWorkerMirroredStrategy,只起了一个进程占了8个gpu,是不是在机器学习PAI里启动的有问题? 问题2:175f2bc70bf80decf06062820cc4193c.png 是不是应该用这个脚本去启动?

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

    在阿里云机器学习PAI中启动一个进程占用了8个GPU的情况,可能有以下几种原因:

    1. 程序代码问题:程序在实现时没有正确的设置GPU占用的数量,导致使用了所有可用的GPU资源。
    2. 运行环境配置问题:运行环境中没有正确配置CUDA_VISIBLE_DEVICES变量,或者没有正确的绑定单个GPU设备。
    3. 并行计算任务问题:如果是并行计算任务,可能是并行计算的算法实现不完整或者并行计算使用了所有可用的GPU资源,导致了该问题的发生。

    为了解决该问题,可以采取以下几种办法:

    1. 确认程序代码的实现,并修改为正确的设置GPU占用的数量。
    2. 确认运行环境中CUDA_VISIBLE_DEVICES变量的设置是否正确,并重新设置。
    3. 对于并行计算任务,在实现时可以减少并行的线程数量,或者限制可用的GPU资源数量。
    4. 通过调整PAI作业配置进行调优,例如分配更少的GPU资源,或者减小每个任务的计算规模。
    2023-05-23 12:14:31
    赞同 展开评论 打赏
  • 月移花影,暗香浮动

    如果在机器学习 PAI 平台上启动的进程占用了 8 个 GPU,可能是因为您没有正确地分配 GPU 资源。建议您检查您在编写作业流程时是否将 GPU 的数量正确配置,并且在启动进程时是否指定了正确的 GPU 设备。

    此外,还可能是您的代码实现导致了占用 GPU 资源的不均衡。可以检查代码中是否有可能引起 GPU 资源争用的地方,比如没有明确指定使用哪个 GPU 设备的代码语句等。

    建议您仔细检查一下以上两个方面,如果仍然无法解决问题,可以考虑联系阿里云技术支持进行更深入的交流和帮助。

    2023-05-16 11:18:59
    赞同 展开评论 打赏
  • 问题1:在使用 MultiWorkerMirroredStrategy 进行多 GPU 训练时, 如果启动的进程只占用了一个 GPU,很可能是代码中出现了问题造成的。可以检查代码中是否有显式指定 GPU 设备的代码,或者使用了不正确的分布式训练策略。建议您可以参考 TensorFlow 官方文档中的策略指南,检查代码并调整分布式训练策略,确保充分利用所有 GPU 设备。

    问题2:PAI 平台提供了多种启动脚本,如果您的代码需要在多 GPU 环境下进行训练,可以使用 train_async_cluster_tf.sh 启动脚本来启动训练任务。该脚本会自动根据集群规模和设备数设置相应的参数,并启动分布式训练任务。使用该脚本需要在代码中指定 TensorFlow 分布式训练策略,例如:tf.distribute.experimental.MultiWorkerMirroredStrategy。建议您可以参考 PAI 官方文档中的相关说明和示例代码,结合您的具体场景进行配置和调整。

    2023-05-15 08:43:10
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    对于问题1,如果使用MultiWorkerMirroredStrategy分布式训练,通常情况下会启动多个进程来协同工作,每个进程都在其相应的GPU上运行。但如果只起了一个进程而占用了多个GPU,可能是启动的有问题。你可以检查一下你的机器环境和代码实现是否正确配置。如果一切正确但仍然有此问题,可能是平台方的限制所致,你可以向平台方咨询。

    对于问题2,使用相应的启动脚本可能会更合适。你可以参考相应的文档或范例,确保您开发的代码能够正确地在你的环境中运行。

    2023-05-15 07:54:28
    赞同 展开评论 打赏
  • 针对问题1的回答:你发一下你的启动脚本。一般每个进程通过CUDA_VISIBLE_DEVICES指定一个gpu_id 针对问题2的回答:这个可以的。此回答整理自钉群:“【EasyRec】推荐算法交流群”

    2023-05-14 20:48:00
    赞同 展开评论 打赏

人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。

相关产品

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

    热门文章

    相关电子书

    更多
    DeepStream: GPU加速海量视频数据智能处理 立即下载
    阿里巴巴高性能GPU架构与应用 立即下载
    GPU在超大规模深度学习中的发展和应用 立即下载