华为云AI开发平台ModelArtsOOM导致训练作业失败_云淘科技
问题现象
因为OOM导致的训练作业失败,会有如下几种现象:
错误码返回137,如下图所示:
图1 错误日志
日志中有报错,含有“killed”相关字段,例如如下截图:
图2 错误日志信息
日志中有报错“RuntimeError: CUDA out of memory. ”,如下图所示:
图3 错误日志信息
Tensorflow引擎日志中出现“Dst tensor is not initialized”。
原因分析
按照之前支撑的经验,出现该问题的可能原因如下:
绝大部分都是确实是显存不够用。
还有较少数原因是节点故障,跑到特定节点必现OOM,其他节点正常。
处理方法
如果是正常的OOM,就需要修改一些超参,释放一些不需要的tensor。
修改网络参数,比如batch_size、hide_layer、cell_nums等。
释放一些不需要的tensor,使用过的,如下:
del tmp_tensor torch.cuda.empty_cache()
必现的问题,使用本地Pycharm远程连接Notebook调试超参。
如果还存在问题,可能需要提工单进行定位,甚至需要隔离节点修复。
建议与总结
在创建训练作业前,推荐您先使用ModelArts开发环境调试训练代码,避免代码迁移过程中的错误。
直接使用线上notebook环境调试请参考使用JupyterLab开发模型。
配置本地IDE(Pycharm或者VSCode)联接云上环境调试请参考使用本地IDE开发模型。
父主题: 内存限制故障
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家