【报错解决方案】Baichuan2微调相关报错

前言

在Baichuan2微调时,官方文档只是给出了一套非常流畅的微调运行方案,但是我们在实际的操作过程中里面的开发和运行环境和官方多多少少还是有些区别,因此会遇到各种各样莫名其妙的报错,这里我也将我自己踩到的坑分享一下。

1. ERROR lanch.py:321:sigkill handler /pt/canda/bin/python

这个报错没有指向任何的关键词,仅仅只有一个KeyError:conversation,但是这个报错也并不能去判断问题,所以我们可以输入查看错误的来源的一些指令

/opt/conda/bin/python fine-tune.py --local_rank=0 --report_to none --data_path your_data_path --model_name_or_path your_name_or_path --output_dir output --model_max_length 512 --num_train_epochs 4 --per_device_train_batch_size 16 --gradient_accumulation_steps 1 --save_strategy epoch --learning_rate 2e-5 --lr_scheduler_type constant --adam_beta1 0.9 --adam_beta2 0.98 --adam_epsilon 1e-8 --max_grad_norm 1.0 --weight_decay 1e-4 --warmup_ratio 0.0 --logging_steps 1 --gradient_checkpointing True --deepspeed ds_config.json --bf16 True --tf32 True

输入这个指令之后就会得到以下报错来源信息

2.ModuleNotFoundError: No Module name“mpi4py”

得到上面的报错可以得知问题的原因:是mpi4py需要MPI模块作为支持,但是普通的安装没有MPI模块。
解决的方法:使用Linux发行版的安装指令对MPI进行安装

apt-get update
apt-get install openmpi-bin
安装好这两个后在进行pip install mpi4py进行安装,这样就可以成功安装mpi4py

3.KeyError:conversation

在解决完上面的报错之后我们再运行一遍,发现还是“KeyError:conversation”这个错误,那我们就再回到这个问题

在进入代码后发现“conversations”字段出现的问题,原因是我们想要微调的数据没有“conversations”字段

因此我去看了下官方的数据文档和官方代码,果然发现了一些问题

Baichuan官方给出的文件数据中是上面这样的形式,但是官方的readme中微调的格式是

观察后你会发现微调的数据格式都不一样,怎么进行微调呢,所以把文件中的“conversations”字段进行修改,尽量和官方微调的数据可以保持一致,这样就能很轻松的开始微调啦!

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值