Baichuan-7B [问题] 单机单卡训练时,出现错误,无法初始化梯度,

stszievb  于 5个月前  发布在  其他
关注(0)|答案(7)|浏览(104)

所需先决条件

问题

已下载模型,创建了 data_dir 目录,并创建了一个新的 script/train2.sh 脚本。
#!/bin/bash deepspeed train.py \ --deepspeed \ --deepspeed_config config/deepspeed.json
运行该脚本时,出现以下错误:
Traceback (most recent call last): File "/root/code/Baichuan-7B/train.py", line 138, in <module> model_engine = prepare_model() File "/root/code/Baichuan-7B/train.py", line 117, in prepare_model model_engine, _, _, _ = deepspeed.initialize(args=args, File "/root/miniconda3/lib/python3.10/site-packages/deepspeed/__init__.py", line 165, in initialize engine = DeepSpeedEngine(args=args, File "/root/miniconda3/lib/python3.10/site-packages/deepspeed/runtime/engine.py", line 308, in __init__ self._configure_optimizer(optimizer, model_parameters) File "/root/miniconda3/lib/python3.10/site-packages/deepspeed/runtime/engine.py", line 1173, in _configure_optimizer self.optimizer = self._configure_zero_optimizer(basic_optimizer) File "/root/miniconda3/lib/python3.10/site-packages/deepspeed/runtime/engine.py", line 1409, in _configure_zero_optimizer optimizer = DeepSpeedZeroOptimizer( File "/root/miniconda3/lib/python3.10/site-packages/deepspeed/runtime/zero/stage_1_and_2.py", line 468, in __init__ self.initialize_gradient_partitioning_data_structures() File "/root/miniconda3/lib/python3.10/site-packages/deepspeed/runtime/zero/stage_1_and_2.py", line 691, in initialize_gradient_partitioning_data_structures self.first_param_index_in_partition[i][partition_id] = self.get_first_param_index( File "/root/miniconda3/lib/python3.10/site-packages/deepspeed/runtime/zero/stage_1_and_2.py", line 666, in get_first_param_index if partition_id in self.param_to_partition_ids[group_id][param_id]: KeyError: 0
data_dir 中的训练文档为普通的多行文本。

检查清单

  • 我已在上方提供了所有相关且必要的信息。
  • 我已为这个问题选择了合适的标题。
wxclj1h5

wxclj1h51#

同问,Python 3.9也不行,换了机器也不行。

siv3szwd

siv3szwd2#

同样的问题,遇到了相同的问题。

另一个问题是需求中版本有冲突。

冲突的原因如下:
用户请求的torch版本为2.0.0
deepspeed 0.9.2依赖于torch
xformers 0.0.20依赖于torch==2.0.1

vu8f3i0k

vu8f3i0k5#

同问,遇到了相同的问题。 另一个问题时requirement 中版本有冲突 The conflict is caused by: The user requested torch==2.0.0 deepspeed 0.9.2 depends on torch xformers 0.0.20 depends on torch==2.0.1
我在其他issue里也看到了,安装的也是torch==2.0.1,但仍然出现上面的问题。请问大家是如何解决的呢?

2fjabf4q

2fjabf4q6#

我也遇到了同样的问题,在deepspeed issues中有找到相关说明。https://github.com/microsoft/DeepSpeed/issues/3234,ZeRO 阶段3支持zero.init,阶段1和2不支持。我把 deepspeed.json 中的 stage 改成 3 解决了这个问题。

ffscu2ro

ffscu2ro7#

我也遇到了同样的问题,在deepspeed issues中有找到相关说明。https://github.com/microsoft/DeepSpeed/issues/3234,ZeRO 阶段3支持zero.init,阶段1和2不支持。我把deepspeed.json中的stage改成3解决了这个问题。

按你的方法修改后有新的报错,你有遇到吗?

相关问题