Skip to content

[BUG] Install from pypi raise error about FieldInfo. #4105

@SefaZeng

Description

@SefaZeng

Describe the bug
I try to install deepspeed from Pypi which is 0.10.0.

To Reproduce
Steps to reproduce the behavior:
pip install deepspeed

Expected behavior
Successfully installed deepspeed

ds_report output
no

Screenshots

Step 5/6 : RUN pip install deepspeed
 ---> Running in cc0ab6b21173
Collecting deepspeed
  Downloading deepspeed-0.10.0.tar.gz (836 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 836.6/836.6 kB 1.4 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [41 lines of output]
      [2023-08-08 10:36:35,906] [INFO] [real_accelerator.py:133:get_accelerator] Setting ds_accelerator to cuda (auto detect)
      /usr/local/python/lib/python3.8/site-packages/pydantic/_internal/_config.py:269: UserWarning: Valid config keys have changed in V2:
      * 'allow_population_by_field_name' has been renamed to 'populate_by_name'
      * 'validate_all' has been renamed to 'validate_default'
        warnings.warn(message, UserWarning)
      /usr/local/python/lib/python3.8/site-packages/pydantic/_internal/_fields.py:127: UserWarning: Field "model_persistence_threshold" has conflict with protected namespace "model_".
      
      You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ()`.
        warnings.warn(
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/setup.py", line 36, in <module>
          from op_builder import get_default_compute_capabilities, OpBuilder
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/op_builder/__init__.py", line 18, in <module>
          import deepspeed.ops.op_builder  # noqa: F401
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/deepspeed/__init__.py", line 22, in <module>
          from . import module_inject
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/deepspeed/module_inject/__init__.py", line 6, in <module>
          from .replace_module import replace_transformer_layer, revert_transformer_layer, ReplaceWithTensorSlicing, GroupQuantizer, generic_injection
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/deepspeed/module_inject/replace_module.py", line 778, in <module>
          from ..pipe import PipelineModule
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/deepspeed/pipe/__init__.py", line 6, in <module>
          from ..runtime.pipe import PipelineModule, LayerSpec, TiedLayerSpec
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/deepspeed/runtime/pipe/__init__.py", line 6, in <module>
          from .module import PipelineModule, LayerSpec, TiedLayerSpec
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/deepspeed/runtime/pipe/module.py", line 19, in <module>
          from ..activation_checkpointing import checkpointing
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/deepspeed/runtime/activation_checkpointing/checkpointing.py", line 25, in <module>
          from deepspeed.runtime.config import DeepSpeedConfig
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/deepspeed/runtime/config.py", line 29, in <module>
          from .zero.config import get_zero_config, ZeroStageEnum
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/deepspeed/runtime/zero/__init__.py", line 6, in <module>
          from .partition_parameters import ZeroParamType
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/deepspeed/runtime/zero/partition_parameters.py", line 681, in <module>
          class Init(InsertPostInitMethodToModuleSubClasses):
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/deepspeed/runtime/zero/partition_parameters.py", line 683, in Init
          param_persistence_threshold = get_config_default(DeepSpeedZeroConfig, "param_persistence_threshold")
        File "/tmp/pip-install-0q5jgjyl/deepspeed_f19e6a17fb0b4967ab6f804bba48f0f5/deepspeed/runtime/config_utils.py", line 115, in get_config_default
          assert not config.__fields__.get(
      AttributeError: 'FieldInfo' object has no attribute 'required'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

[notice] A new release of pip is available: 23.1.2 -> 23.2.1
[notice] To update, run: pip install --upgrade pip
The command '/bin/sh -c pip install deepspeed' returned a non-zero code: 1

System info (please complete the following information):

  • OS: Centos 7
  • GPU count and types V100
  • Interconnects (if applicable)
  • Python version 3.8
  • Any other relevant info about your setup

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtraining

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions