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

物联沃分享整理
物联沃-IOTWORD物联网 » AttributeError: ‘FieldInfo‘ object has no attribute ‘required‘. Did you mean: ‘is_required‘?问题解决

发表回复