AttributeError: ‘FieldInfo‘ object has no attribute ‘required‘. Did you mean: ‘is_required‘?问题解决
1.问题描述
笔者在使用Qwen2
脚本进行lora
微调时,出现了如下报错:
Traceback (most recent call last):
File "/data/PEFT/finetune.py", line 14, in <module>
from deepspeed import zero
File "/data/zwh_llm/lib/python3.10/site-packages/deepspeed/__init__.py", line 22, in <module>
from . import module_inject
File "/data/zwh_llm/lib/python3.10/site-packages/deepspeed/module_inject/__init__.py", line 6, in <module>
from .replace_module import replace_transformer_layer, revert_transformer_layer, ReplaceWithTensorSlicing, GroupQuantizer, generic_injection
File "/data/zwh_llm/lib/python3.10/site-packages/deepspeed/module_inject/replace_module.py", line 778, in <module>
from ..pipe import PipelineModule
File "/data/zwh_llm/lib/python3.10/site-packages/deepspeed/pipe/__init__.py", line 6, in <module>
from ..runtime.pipe import PipelineModule, LayerSpec, TiedLayerSpec
File "/data/zwh_llm/lib/python3.10/site-packages/deepspeed/runtime/pipe/__init__.py", line 6, in <module>
from .module import PipelineModule, LayerSpec, TiedLayerSpec
File "/data/zwh_llm/lib/python3.10/site-packages/deepspeed/runtime/pipe/module.py", line 19, in <module>
from ..activation_checkpointing import checkpointing
File "/data/zwh_llm/lib/python3.10/site-packages/deepspeed/runtime/activation_checkpointing/checkpointing.py", line 25, in <module>
from deepspeed.runtime.config import DeepSpeedConfig
File "/data/zwh_llm/lib/python3.10/site-packages/deepspeed/runtime/config.py", line 29, in <module>
from .zero.config import get_zero_config, ZeroStageEnum
File "/data//zwh_llm/lib/python3.10/site-packages/deepspeed/runtime/zero/__init__.py", line 6, in <module>
from .partition_parameters import ZeroParamType
File "/data/zwh_llm/lib/python3.10/site-packages/deepspeed/runtime/zero/partition_parameters.py", line 681, in <module>
class Init(InsertPostInitMethodToModuleSubClasses):
File "/data/zwh_llm/lib/python3.10/site-packages/deepspeed/runtime/zero/partition_parameters.py", line 683, in Init
param_persistence_threshold = get_config_default(DeepSpeedZeroConfig, "param_persistence_threshold")
File "/data/zwh_llm/lib/python3.10/site-packages/deepspeed/runtime/config_utils.py", line 116, in get_config_default
field_name).required, f"'{field_name}' is a required field and does not have a default value"
AttributeError: 'FieldInfo' object has no attribute 'required'. Did you mean: 'is_required'?
2.问题解决
Pydantic版本不兼容问题,deepspeed
已将版本固定在 <2.0.0:
pip install "pydantic<2.0.0"
3.参考资料
https://github.com/microsoft/DeepSpeed/issues/3963
作者:endNone