问题:在单机训练这一步,出现错误:deepspeed: error: unrecognized arguments: --report_to,含义:去掉hostfile参数后出现deepspeed不认识--report_to参数的错误,这是因为deepspeed和HuggingFace Transformer使用的参数不完全兼容造成的。--report_to是HuggingFace Trainer独有的日志参数,用于TensorBoard和W&B日志。但deepspeed并不支持它。
分析:
- 直接复制粘贴了HuggingFace的训练命令,其中包含了deepspeed不认识的参数
- 混合使用了HuggingFace Trainer和deepspeed的接口
- deepspeed版本较旧,不支持report_to参数
解决:
- 删除--report_to参数,只保留deepspeed需要的参数
- 不要混合使用HuggingFace Trainer,改为只调用deepspeed的训练接口
- 升级deepspeed到最新版本,较新版本可以兼容report_to
- 添加解析unknown参数的代码,忽略deepspeed不认识的选项
- 使用HuggingFace Trainer, 不适用deepspeed,则可以保留report_to参数
所以,需要根据实际情况,删除不兼容的参数,统一使用deepspeed或HuggingFace Trainer中的一种, 使参数保持一致,避免不兼容导致的错误。
但在试图升级deepspeed时,出现更新错误。
解决:之前是在base环境下,应该在baichuan环境下的;接着发现网络出现问题,无法下载,是端口问题,可以自己换一个”echo $https_proxy“”export https_proxy=https://localhost:11111”,也可以重启(一些莫名其妙,我也不知道为啥服务器连不上网);接着更新与安装baichun这个环境下缺的库;最后进行单机训练,修改model.py的路径,之前写成data的路径了。