New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
中文plato2,单机单卡可以训练,单机多卡跑到一定步数就退出,无有用报错信息 #79
Comments
另外,400w的数据集分成2个200w的子数据集,多卡也能跑完一个epoch,400w的时候也没有发现内存不够的现象 |
是否稳定复现?大概多少 step 的时候出错,能否看下其他 GPU 的报错情况,有没有什么异常? |
稳定复现,batch_size 16000的时候,3270step左右报错;GPU内存好像无异常,单卡是正常跑的 附训练config: job settingsjob_script="./scripts/distributed/train.sh" task settingsmodel=UnifiedTransformer vocab_path="./package/dialog_cn/vocab.txt" training settingsis_cn="true" log_steps=1 log_dir="./log" |
刚刚看了下,多卡的时候GPU内存一直比较稳定,利用率基本在100%,但是CPU内存占用一直在稳步上升不知道怎么回事;单卡的时候CPU和GPU的内存占用都比较稳定 |
确定了,是内存一直增加报的错,但是日志里面没有oom的报错信息,很奇怪,为什么分布式训练CPU内存会一直增加呢 |
Knover/knover/utils/tokenization.py Line 159 in ac58d76
有可能是因为这个 caced 的原因,保存住了分词结果,会占用 CPU 资源 对于大数据的训练,最好还是使用 knover/tools/pre_tokenize.py,先对整个数据集做分词,然后再设置 data_format="tokenized"(也可以使用 knover/tools/pre_numericalize.py,对应设置 data_format="numerical",可以参考 docs/usage.md) |
感谢!先分词之后CPU果然比较稳定了,模型训练中,这个感觉可以写到说明文档里面,数据量>400w建议先分词~ |
中文对话数据,数据量400w,单卡可以跑完整个epoch,单机4卡运行到一定步数就退出
环境:
paddlepaddle-gpu==2.0.1
cuda==11.0
cudnn==8.0
终端报错是:
INFO 2021-09-05 21:51:40,245 launch_utils.py:327] terminate all the procs
ERROR 2021-09-05 21:51:40,245 launch_utils.py:584] ABORT!!! Out of all 4 trainers, the trainer process with rank=[3] was aborted. Please check its log.
INFO 2021-09-05 21:51:43,248 launch_utils.py:327] terminate all the procs`
work_log.3里面报错如下:
The text was updated successfully, but these errors were encountered: