大模型-驯化】成功解决fused_adam.so: undefined symbol: _ZN3c107WarningC1ENS中fused_adam … [NO] …[OKAY]问题
本次修炼方法请往下查看
目前大模型的训练大都是是基于deepspeed来进行多卡并行加速,大家在安装deepspeed成功后,在训练大模型是经常会遇到运行的过程中出现训练:
.cache/torch_extensions/py310_cu118/fused_adam/fused_adam.so: undefined symbol: _ZN3c107WarningC1ENS
对于这个问题,博主踩了好几天的坑,最后发现其实最终的原因是deepspeed安装的不成功的问题,对于这个问题,如果大家直接是用的服务器登录,比如学校的小伙伴一般不会遇到这个问题,如果大家使用的是一个docker里面的环境,很有可能会遇到这个问题,对于这个问题,网上一堆的解决方法,博主这边对这个问题给出一个比较好的解决方法,具体我们查看deepspeed安装成功后fused_adam的配置开关情况,这个玩意的作用是deepspeed加速中很重要的一部分,我们可以通过命令:ds_report
来查看机器安装的情况,具体如果安装deepspeed成功,但是对于上述的问题,运行命令ds_report的结果如下所示:
关于上述的问题,网上通常的解决方法是,重新安装deepspeed,具体的命令如下所示:
pip uninstall deepspeed
tar -zxvf Deepseepd.tar.gz
cd DeepSpeed
DS_BUILD_FUSED_ADAM=1 pip3 install .
通常我们通过上述的代码后,在执行判断安装是否成功会出现如下的情况,执行ds_report
: