THUDM / ChatGLM2-6B

ChatGLM2-6B: An Open Bilingual Chat LLM | 开源双语对话语言模型
Other
15.72k stars 1.85k forks source link

[BUG/Help] <mac M2max微调报_cuda_setDevice 错误,请问怎么修正> #337

Open soteb opened 1 year ago

soteb commented 1 year ago

Is there an existing issue for this?

Current Behavior

请问以下错误怎么修正,谢谢! 报错module 'torch._C' has no attribute '_cuda_setDevice'

曾测试过:

  1. trainer_seq2seq.py换用transformers的训练器不行,from transformers.trainer import Trainer
  2. 升级到4.30.2 版本 transformers也不行
  3. train.sh 里面加上 --ddp_backend gloo不行 最终错误代码如下:

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 NOTE: Redirects are currently not supported in Windows or MacOs. master_addr is only used for static rdzv_backend and when rdzv_endpoint is not specified. [2023-07-20 21:02:26,093] [INFO] [real_accelerator.py:133:get_accelerator] Setting ds_accelerator to mps (auto detect) Traceback (most recent call last): File "/Users/jimmy/ai/ChatGLM2-6B/ptuning/main.py", line 431, in main() File "/Users/jimmy/ai/ChatGLM2-6B/ptuning/main.py", line 66, in main model_args, data_args, training_args = parser.parse_args_into_dataclasses() 、、、、、、、、、、、、、、、、、、、 File "/opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/lib/python3.11/site-packages/transformers/hf_argparser.py", line 346, in parse_args_into_dataclasses obj = dtype(*inputs) 、、、、、、、、、、、、 File "", line 116, in init File "/opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/lib/python3.11/site-packages/transformers/training_args.py", line 1340, in post_init__ and (self.device.type != "cuda") 、、、、、、、、、、、、 File "/opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/lib/python3.11/site-packages/transformers/training_args.py", line 1764, in device return self._setup_devices 、、、、、、、、、、、、 File "/opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/lib/python3.11/site-packages/transformers/utils/generic.py", line 54, in get cached = self.fget(obj) 、、、、、、、、、、、、 File "/opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/lib/python3.11/site-packages/transformers/training_args.py", line 1695, in _setup_devices self.distributed_state = PartialState(backend=self.ddp_backend) 、、、、、、、、、、、、、、、、、、、、、、、、 File "/opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/lib/python3.11/site-packages/accelerate/state.py", line 197, in init torch.cuda.set_device(self.device) File "/opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/lib/python3.11/site-packages/torch/cuda/init.py", line 350, in set_device torch._C._cuda_setDevice(device) 、、、、、、、、、、、、 AttributeError: module 'torch._C' has no attribute '_cuda_setDevice' ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 84353) of binary: /opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/bin/python Traceback (most recent call last): File "/opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/bin/torchrun", line 8, in sys.exit(main()) 、、、、、、、、、、、、 File "/opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/lib/python3.11/site-packages/torch/distributed/elastic/multiprocessing/errors/init__.py", line 346, in wrapper return f(args, **kwargs) 、、、、、、、、、、、、 File "/opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/lib/python3.11/site-packages/torch/distributed/run.py", line 794, in main run(args) File "/opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/lib/python3.11/site-packages/torch/distributed/run.py", line 785, in run elastic_launch( File "/opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/lib/python3.11/site-packages/torch/distributed/launcher/api.py", line 134, in call return launch_agent(self._config, self._entrypoint, list(args)) 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 File "/opt/homebrew/Caskroom/miniconda/base/envs/chatglm2cpu/lib/python3.11/site-packages/torch/distributed/launcher/api.py", line 250, in launch_agent raise ChildFailedError( torch.distributed.elastic.multiprocessing.errors.ChildFailedError: 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 main.py FAILED 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 Failures:

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 Root Cause (first observed failure): [0]: time : 2023-07-20_21:02:30 host : 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa rank : 0 (local_rank: 0) exitcode : 1 (pid: 84353) error_file: traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 ### Expected Behavior 微调ptuning ### Steps To Reproduce bash train.sh ### Environment ```markdown - OS:MAC M2MAX 32G - Python:3.11.3 - Transformers:4.28.1 - Torch:2.01 或torch 2.1.0.dev20230630 - CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :NO ``` Package Version accelerate 0.20.3 aiofiles 23.1.0 aiohttp 3.8.4 aiosignal 1.3.1 altair 5.0.1 anyio 3.7.0 async-timeout 4.0.2 attrs 23.1.0 brotlipy 0.7.0 certifi 2023.5.7 cffi 1.15.1 charset-normalizer 2.0.4 click 8.1.3 contourpy 1.1.0 cpm-kernels 1.0.11 cryptography 39.0.1 cycler 0.11.0 datasets 2.13.1 dill 0.3.6 fastapi 0.99.0 ffmpy 0.3.0 filelock 3.9.0 fonttools 4.40.0 frozenlist 1.3.3 fsspec 2023.6.0 gmpy2 2.1.2 gradio 3.35.2 gradio_client 0.2.7 h11 0.14.0 httpcore 0.17.2 httpx 0.24.1 huggingface-hub 0.15.1 idna 3.4 jieba 0.42.1 Jinja2 3.1.2 joblib 1.3.1 jsonschema 4.17.3 kiwisolver 1.4.4 latex2mathml 3.76.0 linkify-it-py 2.0.2 Markdown 3.4.3 markdown-it-py 2.2.0 MarkupSafe 2.1.3 matplotlib 3.7.1 mdit-py-plugins 0.3.3 mdtex2html 1.2.0 mdurl 0.1.2 mpmath 1.2.1 multidict 6.0.4 multiprocess 0.70.14 networkx 2.8.4 nltk 3.8.1 numpy 1.25.0 orjson 3.9.1 packaging 23.1 pandas 2.0.3 Pillow 9.4.0 pip 23.1.2 protobuf 4.23.3 psutil 5.9.5 pyarrow 12.0.1 pycparser 2.21 pydantic 1.10.10 pydub 0.25.1 Pygments 2.15.1 pyOpenSSL 23.0.0 pyparsing 3.1.0 pyrsistent 0.19.3 PySocks 1.7.1 python-dateutil 2.8.2 python-multipart 0.0.6 pytz 2023.3 PyYAML 6.0 regex 2023.6.3 requests 2.29.0 rouge-chinese 1.0.3 safetensors 0.3.1 semantic-version 2.10.0 sentencepiece 0.1.99 setuptools 67.8.0 six 1.16.0 sniffio 1.3.0 starlette 0.27.0 sympy 1.11.1 tokenizers 0.13.3 toolz 0.12.0 torch 2.1.0.dev20230630 torchaudio 2.1.0.dev20230630 torchvision 0.16.0.dev20230630 tqdm 4.65.0 transformers 4.28.1 typing_extensions 4.6.3 tzdata 2023.3 uc-micro-py 1.0.2 urllib3 1.26.16 uvicorn 0.22.0 websockets 11.0.3 wheel 0.38.4 xxhash 3.2.0 yarl 1.9.2 ```markdown - OS:苹果系统 MAC M2MAX 32G - Python:3.11.3 - Transformers:4.30.2 - Torch:2.01 或torch 2.1.0.dev20230630 - CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :NO ``` ### Anything else? _No response_
zhangch9 commented 1 year ago

试试 4.30.2 版本的 transformers

yulon commented 1 year ago

好像是 Windows 和 Mac 没有 NCCL,pip 安装 gloo,然后在 train.sh 里面加上 --ddp_backend gloo

soteb commented 1 year ago

好像是 Windows 和 Mac 没有 NCCL,pip 安装 gloo,然后在 train.sh 里面加上 --ddp_backend gloo

感谢,您提供的方法,试过也不行。

soteb commented 1 year ago

试试 4.30.2 版本的 transformers

升级试了,错误代码有点不同,正文修改了错误输出代码,应该也是同样问题