InternLM / Tutorial

LLM Tutorial
1.03k stars 405 forks source link

微调时报错:AttributeError: 'InternLM2ForCausalLM' object has no attribute '_set_gradient_checkpointing'. Did you mean: 'is_gradient_checkpointing'? #537

Open kofancy2023 opened 4 months ago

kofancy2023 commented 4 months ago

1、在微调启动时,报这个错,求助: AttributeError: 'InternLM2ForCausalLM' object has no attribute '_set_gradient_checkpointing'. Did you mean: 'is_gradient_checkpointing'?

image

2、我的环境是这样的:

accelerate==0.27.2 addict==2.4.0 aiohttp==3.9.3 aiosignal==1.3.1 aliyun-python-sdk-core==2.14.0 aliyun-python-sdk-kms==2.16.2 altair==5.2.0 annotated-types==0.6.0 anyio==4.2.0 argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 arrow==1.3.0 arxiv==2.1.0 asttokens==2.4.1 async-lru==2.0.4 async-timeout==4.0.3 attrs==23.2.0 Babel==2.14.0 beautifulsoup4==4.12.3 bitsandbytes==0.42.0 bleach==6.1.0 blinker==1.7.0 cachetools==5.3.2 certifi==2024.2.2 cffi==1.16.0 charset-normalizer==3.3.2 click==8.1.7 colorama==0.4.6 comm==0.2.1 contourpy==1.2.0 crcmod==1.7 cryptography==42.0.3 cycler==0.12.1 datasets==2.14.7 debugpy==1.8.1 decorator==5.1.1 deepspeed==0.13.2 defusedxml==0.7.1 dill==0.3.7 distro==1.9.0 einops==0.7.0 exceptiongroup==1.2.0 executing==2.0.1 fastjsonschema==2.19.1 feedparser==6.0.10 filelock==3.13.1 fonttools==4.49.0 fqdn==1.5.1 frozenlist==1.4.1 fsspec==2023.6.0 func-timeout==4.3.5 gast==0.5.4 gitdb==4.0.11 GitPython==3.1.42 google-search-results==2.4.2 griffe==0.40.1 h11==0.14.0 hjson==3.1.0 httpcore==1.0.3 httpx==0.26.0 huggingface-hub==0.17.3 idna==3.6 importlib-metadata==6.11.0 ipykernel==6.29.2 ipython==8.21.0 ipywidgets==8.1.2 isoduration==20.11.0 jedi==0.19.1 Jinja2==3.1.3 jmespath==0.10.0 json5==0.9.14 jsonpointer==2.4 jsonschema==4.21.1 jsonschema-specifications==2023.12.1 jupyter==1.0.0 jupyter-console==6.6.3 jupyter-events==0.9.0 jupyter-lsp==2.2.2 jupyter_client==8.6.0 jupyter_core==5.7.1 jupyter_server==2.12.5 jupyter_server_terminals==0.5.2 jupyterlab==4.1.1 jupyterlab_pygments==0.3.0 jupyterlab_server==2.25.3 jupyterlab_widgets==3.0.10 kiwisolver==1.4.5 lagent==0.2.1 lxml==5.1.0 markdown-it-py==3.0.0 MarkupSafe==2.1.5 matplotlib==3.8.3 matplotlib-inline==0.1.6 mdurl==0.1.2 mistune==3.0.2 mmengine==0.10.3 modelscope==1.12.0 mpi4py_mpich==3.1.5 mpmath==1.3.0 multidict==6.0.5 multiprocess==0.70.15 nbclient==0.9.0 nbconvert==7.16.0 nbformat==5.9.2 nest-asyncio==1.6.0 networkx==3.2.1 ninja==1.11.1.1 notebook==7.1.0 notebook_shim==0.2.4 numpy==1.26.4 nvidia-cublas-cu12==12.1.3.1 nvidia-cuda-cupti-cu12==12.1.105 nvidia-cuda-nvrtc-cu12==12.1.105 nvidia-cuda-runtime-cu12==12.1.105 nvidia-cudnn-cu12==8.9.2.26 nvidia-cufft-cu12==11.0.2.54 nvidia-curand-cu12==10.3.2.106 nvidia-cusolver-cu12==11.4.5.107 nvidia-cusparse-cu12==12.1.0.106 nvidia-nccl-cu12==2.19.3 nvidia-nvjitlink-cu12==12.3.101 nvidia-nvtx-cu12==12.1.105 opencv-python==4.9.0.80 oss2==2.18.4 overrides==7.7.0 packaging==23.2 pandas==2.2.0 pandocfilters==1.5.1 parso==0.8.3 peft==0.8.2 pexpect==4.9.0 phx-class-registry==4.1.0 Pillow==9.5.0 platformdirs==4.2.0 prometheus_client==0.20.0 prompt-toolkit==3.0.43 protobuf==4.25.3 psutil==5.9.8 ptyprocess==0.7.0 pure-eval==0.2.2 py-cpuinfo==9.0.0 pyarrow==15.0.0 pyarrow-hotfix==0.6 pycparser==2.21 pycryptodome==3.20.0 pydantic==2.6.1 pydantic_core==2.16.2 pydeck==0.8.1b0 Pygments==2.17.2 Pympler==1.0.1 pynvml==11.5.0 pyparsing==3.1.1 python-dateutil==2.8.2 python-json-logger==2.0.7 python-pptx==0.6.23 pytz==2024.1 pytz-deprecation-shim==0.1.0.post0 PyYAML==6.0.1 pyzmq==25.1.2 qtconsole==5.5.1 QtPy==2.4.1 referencing==0.33.0 regex==2023.12.25 requests==2.31.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 rich==13.7.0 rpds-py==0.18.0 safetensors==0.4.2 scipy==1.12.0 Send2Trash==1.8.2 sentencepiece==0.1.99 sgmllib3k==1.0.0 simplejson==3.19.2 six==1.16.0 smmap==5.0.1 sniffio==1.3.0 sortedcontainers==2.4.0 soupsieve==2.5 stack-data==0.6.3 streamlit==1.24.0 sympy==1.12 tenacity==8.2.3 termcolor==2.4.0 terminado==0.18.0 tiktoken==0.6.0 timeout-decorator==0.5.0 tinycss2==1.2.1 tokenizers==0.14.1 toml==0.10.2 tomli==2.0.1 toolz==0.12.1 torch==2.2.0 tornado==6.4 tqdm==4.66.2 traitlets==5.14.1 transformers==4.34.0 transformers-stream-generator==0.0.4 triton==2.2.0 types-python-dateutil==2.8.19.20240106 typing_extensions==4.9.0 tzdata==2024.1 tzlocal==4.3.1 uri-template==1.3.0 urllib3==2.2.0 validators==0.22.0 watchdog==4.0.0 wcwidth==0.2.13 webcolors==1.13 webencodings==0.5.1 websocket-client==1.7.0 widgetsnbextension==4.0.10 XlsxWriter==3.1.9 -e git+https://gitee.com/Internlm/xtuner@9f686f08c8e60e568e811aaad8daf9c08462d42d#egg=xtuner xxhash==3.4.1 yapf==0.40.2 yarl==1.9.4 zipp==3.17.0

SkyblueMr commented 4 months ago

请问你这边解决了吗?

Kid-Nob1 commented 3 months ago

我对比了xtuner0.1.9所需的transformers的版本号,xtuner 0.1.9 requires transformers<=4.34.0,>=4.32.1。然后我找到这个版本出错的地方,发现_set_gradient_checkpointing这个函数并不存在,这定然会出错。然后我对比了其他虚拟环境下的transformers'4.37.1'版本,发现这里面有这个函数,本想直接copy到本虚拟环境的transformers中,发现不行,牵扯到的地方太多,于是更新transformers到最新版本,这时候会提示你版本安装与xtuner0.1.9所需不匹配,不用理会。我试了,可以运行,并且程序被跑通了。更新命令行如下: pip install --upgrade transformers -i https://pypi.tuna.tsinghua.edu.cn/simple

请问你这边解决了吗?