OpenBMB / CPM-Bee

百亿参数的中英文双语基座大模型
2.68k stars 211 forks source link

增量微调过程中报错 traceback : Signal 9 (SIGKILL) received by PID #66

Closed diaojunxian closed 1 year ago

diaojunxian commented 1 year ago

单机4张3090卡,其中机器环境:

torch == 1.13.1+cu117
bmtrain ==0.2.2
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_May__3_18:49:52_PDT_2022
Cuda compilation tools, release 11.7, V11.7.64
Build cuda_11.7.r11.7/compiler.31294372_0

微调指令:

WORLD_SIZE=1 LOCAL_RANK=0 CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --nnodes=1 --nproc_per_node=4 --rdzv_id=1 --rdzv_backend=c10d --rdzv_endpoint=localhost:12345 finetune_cpm_bee.py --use-delta --model-config /home/CPM-Bee/src/config/cpm-bee-10b.json --dataset /home/m1l03053/CPM-Bee/tutorials/basic_task_finetune/bin_data/train --eval_dataset /home/CPM-Bee/tutorials/basic_task_finetune/bin_data/eval --epoch 10 --batch-size 1 --train-iters 100 --save-name cpm_bee_finetune --max-length 500 --save results/ --lr 0.0001 --inspect-iters 100 --warmup-iters 1 --eval-interval 50 --early-stop-patience 5 --lr-decay-style noam --weight-decay 0.01 --clip-grad 1.0 --loss-scale 32768 --start-step 0 --load /home/cpm-bee-10b/pytorch_model.bin

增量微调过程中报错:

| Epoch:   1 | Iter:     49 | loss: 1.5946 | lr: 1.4286e-05, scale: 32768.0000 | time: 33.3841 | token/max: 0.7940 | mask/max: 0.2060 | grad_norm: 2.5405
| task loss: 1.5946
| Epoch:   1 | Iter:     50 | loss: 1.8878 | lr: 1.4142e-05, scale: 32768.0000 | time: 33.3854 | token/max: 0.9740 | mask/max: 0.2680 | grad_norm: 2.4609
| task loss: 1.8878
evaluation begins...
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 333740 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 333741 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 333742 closing signal SIGTERM
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: -9) local_rank: 3 (pid: 333743) of binary: /home/m1l03053/.conda/envs/3.9/bin/python
Traceback (most recent call last):
  File "/home/m1l03053/.conda/envs/3.9/bin/torchrun", line 8, in <module>
    sys.exit(main())
  File "/home/m1l03053/.conda/envs/3.9/lib/python3.9/site-packages/torch/distributed/elastic/multiprocessing/errors/__init__.py", line 346, in wrapper
    return f(*args, **kwargs)
  File "/home/m1l03053/.conda/envs/3.9/lib/python3.9/site-packages/torch/distributed/run.py", line 762, in main
    run(args)
  File "/home/m1l03053/.conda/envs/3.9/lib/python3.9/site-packages/torch/distributed/run.py", line 753, in run
    elastic_launch(
  File "/home/m1l03053/.conda/envs/3.9/lib/python3.9/site-packages/torch/distributed/launcher/api.py", line 132, in __call__
    return launch_agent(self._config, self._entrypoint, list(args))
  File "/home/m1l03053/.conda/envs/3.9/lib/python3.9/site-packages/torch/distributed/launcher/api.py", line 246, in launch_agent
    raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError: 
=======================================================
finetune_cpm_bee.py FAILED
-------------------------------------------------------
Failures:
  <NO_OTHER_FAILURES>
-------------------------------------------------------
Root Cause (first observed failure):
[0]:
  time      : 2023-06-11_06:58:01
  host      : m1l03053
  rank      : 3 (local_rank: 3)
  exitcode  : -9 (pid: 333743)
  error_file: <N/A>
  traceback : Signal 9 (SIGKILL) received by PID 333743
Daniel-1997 commented 1 year ago

同问,一样的问题,训练没啥问题,验证过程中出错

image

环境配置:4*V100 32G torch 1.13.1+cu117

diaojunxian commented 1 year ago

同问,一样的问题,训练没啥问题,验证过程中出错

image

环境配置:4*V100 32G torch 1.13.1+cu117

你机器的 cpu 内存是多大

Daniel-1997 commented 1 year ago

同问,一样的问题,训练没啥问题,验证过程中出错 image 环境配置:4*V100 32G torch 1.13.1+cu117

你机器的 cpu 内存是多大

256G,我之前微调cpm完成另一个任务的时候,没有报错,就是感觉训练损失是震荡的,这次在验证中就报错了,关键是没输出什么错误栈,不知道怎么debug

diaojunxian commented 1 year ago

同问,一样的问题,训练没啥问题,验证过程中出错 image 环境配置:4*V100 32G torch 1.13.1+cu117

你机器的 cpu 内存是多大

256G,我之前微调cpm完成另一个任务的时候,没有报错,就是感觉训练损失是震荡的,这次在验证中就报错了,关键是没输出什么错误栈,不知道怎么debug

cpu 这么大吗,你执行一下 free -mh 截图一下

Daniel-1997 commented 1 year ago

同问,一样的问题,训练没啥问题,验证过程中出错 image 环境配置:4*V100 32G torch 1.13.1+cu117

你机器的 cpu 内存是多大

256G,我之前微调cpm完成另一个任务的时候,没有报错,就是感觉训练损失是震荡的,这次在验证中就报错了,关键是没输出什么错误栈,不知道怎么debug

cpu 这么大吗,你执行一下 free -mh 截图一下

image 总共是256G,可用的剩72G

diaojunxian commented 1 year ago

同问,一样的问题,训练没啥问题,验证过程中出错 image 环境配置:4*V100 32G torch 1.13.1+cu117

你机器的 cpu 内存是多大

256G,我之前微调cpm完成另一个任务的时候,没有报错,就是感觉训练损失是震荡的,这次在验证中就报错了,关键是没输出什么错误栈,不知道怎么debug

cpu 这么大吗,你执行一下 free -mh 截图一下

image 总共是256G,可用的剩72G

这个截图是在执行报错的时候截图嘛,感觉这么大,应该没有问题呀。你的机器真牛。

Daniel-1997 commented 1 year ago

同问,一样的问题,训练没啥问题,验证过程中出错 image 环境配置:4*V100 32G torch 1.13.1+cu117

你机器的 cpu 内存是多大

256G,我之前微调cpm完成另一个任务的时候,没有报错,就是感觉训练损失是震荡的,这次在验证中就报错了,关键是没输出什么错误栈,不知道怎么debug

cpu 这么大吗,你执行一下 free -mh 截图一下

image 总共是256G,可用的剩72G

这个截图是在执行报错的时候截图嘛,感觉这么大,应该没有问题呀。你的机器真牛。

这个不是,这个就是什么都没运行的时候的截图,下面这个是验证的时候显存和内存的占用的截图 image image 按理说应该够用呀

diaojunxian commented 1 year ago

同问,一样的问题,训练没啥问题,验证过程中出错 image 环境配置:4*V100 32G torch 1.13.1+cu117

你机器的 cpu 内存是多大

256G,我之前微调cpm完成另一个任务的时候,没有报错,就是感觉训练损失是震荡的,这次在验证中就报错了,关键是没输出什么错误栈,不知道怎么debug

cpu 这么大吗,你执行一下 free -mh 截图一下

image 总共是256G,可用的剩72G

这个截图是在执行报错的时候截图嘛,感觉这么大,应该没有问题呀。你的机器真牛。

这个不是,这个就是什么都没运行的时候的截图,下面这个是验证的时候显存和内存的占用的截图 image image 按理说应该够用呀

你打开 swap 试试,我感觉是你的问题跟我一样 cpu 内存不够了,但是你的是 swap 关掉了,打开试试。

Daniel-1997 commented 1 year ago

同问,一样的问题,训练没啥问题,验证过程中出错 image 环境配置:4*V100 32G torch 1.13.1+cu117

你机器的 cpu 内存是多大

256G,我之前微调cpm完成另一个任务的时候,没有报错,就是感觉训练损失是震荡的,这次在验证中就报错了,关键是没输出什么错误栈,不知道怎么debug

cpu 这么大吗,你执行一下 free -mh 截图一下

image 总共是256G,可用的剩72G

这个截图是在执行报错的时候截图嘛,感觉这么大,应该没有问题呀。你的机器真牛。

这个不是,这个就是什么都没运行的时候的截图,下面这个是验证的时候显存和内存的占用的截图 image image 按理说应该够用呀

你打开 swap 试试,我感觉是你的问题跟我一样 cpu 内存不够了,但是你的是 swap 关掉了,打开试试。

好奇怪,我发现,我只用三张卡训练时,验证就不报错了[头秃],你也试试看 image

diaojunxian commented 1 year ago

同问,一样的问题,训练没啥问题,验证过程中出错 image 环境配置:4*V100 32G torch 1.13.1+cu117

你机器的 cpu 内存是多大

256G,我之前微调cpm完成另一个任务的时候,没有报错,就是感觉训练损失是震荡的,这次在验证中就报错了,关键是没输出什么错误栈,不知道怎么debug

cpu 这么大吗,你执行一下 free -mh 截图一下

image 总共是256G,可用的剩72G

这个截图是在执行报错的时候截图嘛,感觉这么大,应该没有问题呀。你的机器真牛。

这个不是,这个就是什么都没运行的时候的截图,下面这个是验证的时候显存和内存的占用的截图 image image 按理说应该够用呀

你打开 swap 试试,我感觉是你的问题跟我一样 cpu 内存不够了,但是你的是 swap 关掉了,打开试试。

好奇怪,我发现,我只用三张卡训练时,验证就不报错了[头秃],你也试试看 image

我这边解决的方式是增大了 cpu 内存已经也不报错了。对了你训练出来的模型,做推理的时候,怎么加载的?我当前加载然后做推理感觉没有效果?

Daniel-1997 commented 1 year ago

image

我就是这样按照官方给的推理代码加载的,有效果

diaojunxian commented 1 year ago

image

我就是这样按照官方给的推理代码加载的,有效果

嗯,我打印了模型看到 lora 的参数已经进去了,但是看起来针对我问的问题,效果不明显可能我跑了 10个 epoch,loss 仍然有1.5有关系,我用的不是官方的数据集。

Daniel-1997 commented 1 year ago

我问下,当前是不支持CPU部署模型并进行推理的吧?

diaojunxian commented 1 year ago

我问下,当前是不支持CPU部署模型并进行推理的吧?

不好意思,不清楚哎。