华为云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)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家