更新时间:2024-10-29 GMT+08:00
分享

附录:指令微调训练常见问题

问题1:在训练过程中遇到NPU out of memory

解决方法:

  1. 将yaml文件中的per_device_train_batch_size调小,重新训练如未解决则执行下一步。
  2. 替换深度学习训练加速的工具或增加zero等级,可参考各个模型深度学习训练加速框架的选择,如原使用Accelerator可替换为Deepspeed-ZeRO-1,Deepspeed-ZeRO-1替换为Deepspeed-ZeRO-2以此类推,重新训练如未解决则执行下一步。

    • - ZeRO-0 数据分布到不同的NPU
    • - ZeRO-1 Optimizer States分布到不同的NPU
    • - ZeRO-2 Optimizer States、Gradient分布到不同的NPU
    • - ZeRO-3 Optimizer States、Gradient、Model Parameter分布到不同的NPU

  3. 增加卡数重新训练,未解决找相关人员定位。

问题2:访问容器目录时提示Permission denied

由于在容器中没有相应目录的权限,会导致访问时提示Permission denied。可以在宿主机中对相关目录做权限放开,执行命令如下。

chmod 777 -R ${dir}

问题3:训练过程报错:ImportError: This modeling file requires the following packages that were not found in your environment: flash_attn

根因:昇腾环境暂时不支持flash_attn接口

规避措施:修改dynamic_module_utils.py文件,将180-184行代码注释掉

vim /home/ma-user/anaconda3/envs/PyTorch-2.1.0/lib/python3.9/site-packages/transformers/dynamic_module_utils.py

问题4:训练过程中报"ModuleNotFoundError: No module named 'multipart'"报错:

截图如下:

解决措施:可更新python-multipart为0.0.12版本,具体步骤如下:

  • 启动训练任务前更新python-multipart版本:
pip install python-multipart==0.0.12

相关文档