FlagEmbedding icon indicating copy to clipboard operation
FlagEmbedding copied to clipboard

试图在CPU机器上安装FlagEmbedding[finetune],报错

Open lankuohsing opened this issue 8 months ago • 2 comments

我想在CPU机器上安装FlagEmbedding[finetune],命令为: pip install -U FlagEmbedding[finetune]

安装过程中会自动安装flash_attn,但是flash_attn似乎是不支持CPU的,会报错: Collecting flash-attn (from FlagEmbedding[finetune]) Using cached https://mirrors.aliyun.com/pypi/packages/11/34/9bf60e736ed7bbe15055ac2dab48ec67d9dbd088d2b4ae318fd77190ab4e/flash_attn-2.7.4.post1.tar.gz (6.0 MB) Preparing metadata (setup.py) ... error error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [19 lines of output] C:\Users\Administrator\AppData\Local\Temp\pip-install-8bii636r\flash-attn_70deb567ae764918981ed41fff8cda28\setup.py:106: UserWarning: flash_attn was requested, but nvcc was not found. Are you sure your environment has nvcc available? If you're installing within a container from https://hub.docker.com/r/pytorch/pytorch, only images whose names contain 'devel' will provide nvcc. warnings.warn( Traceback (most recent call last): File "", line 2, in File "", line 34, in File "C:\Users\Administrator\AppData\Local\Temp\pip-install-8bii636r\flash-attn_70deb567ae764918981ed41fff8cda28\setup.py", line 198, in CUDAExtension( File "D:\ProgramData\anaconda3\envs\py310\lib\site-packages\torch\utils\cpp_extension.py", line 1130, in CUDAExtension library_dirs += library_paths(device_type="cuda") File "D:\ProgramData\anaconda3\envs\py310\lib\site-packages\torch\utils\cpp_extension.py", line 1271, in library_paths paths.append(_join_cuda_home(lib_dir)) File "D:\ProgramData\anaconda3\envs\py310\lib\site-packages\torch\utils\cpp_extension.py", line 2525, in _join_cuda_home raise OSError('CUDA_HOME environment variable is not set. ' OSError: CUDA_HOME environment variable is not set. Please set it to your CUDA install root.

  torch.__version__  = 2.6.0+cpu


  [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. Traceback (most recent call last): File "D:\ProgramData\anaconda3\envs\py310\Scripts\pip-script.py", line 10, in sys.exit(main()) File "D:\ProgramData\anaconda3\envs\py310\lib\site-packages\pip_internal\cli\main.py", line 80, in main return command.main(cmd_args) File "D:\ProgramData\anaconda3\envs\py310\lib\site-packages\pip_internal\cli\base_command.py", line 157, in main with self.main_context(): File "D:\ProgramData\anaconda3\envs\py310\lib\contextlib.py", line 142, in exit next(self.gen) File "D:\ProgramData\anaconda3\envs\py310\lib\site-packages\pip_internal\cli\command_context.py", line 19, in main_context with self._main_context: File "D:\ProgramData\anaconda3\envs\py310\lib\contextlib.py", line 576, in exit raise exc_details[1] File "D:\ProgramData\anaconda3\envs\py310\lib\contextlib.py", line 153, in exit self.gen.throw(typ, value, traceback) File "D:\ProgramData\anaconda3\envs\py310\lib\site-packages\pip_internal\utils\temp_dir.py", line 81, in tempdir_registry yield _tempdir_registry File "D:\ProgramData\anaconda3\envs\py310\lib\contextlib.py", line 561, in exit if cb(*exc_details): File "D:\ProgramData\anaconda3\envs\py310\lib\contextlib.py", line 142, in exit next(self.gen) File "D:\ProgramData\anaconda3\envs\py310\lib\site-packages\pip_internal\utils\temp_dir.py", line 42, in global_tempdir_manager with ExitStack() as stack: File "D:\ProgramData\anaconda3\envs\py310\lib\contextlib.py", line 576, in exit raise exc_details[1] File "D:\ProgramData\anaconda3\envs\py310\lib\contextlib.py", line 561, in exit if cb(*exc_details): File "D:\ProgramData\anaconda3\envs\py310\lib\site-packages\pip_internal\utils\temp_dir.py", line 169, in exit self.cleanup() File "D:\ProgramData\anaconda3\envs\py310\lib\site-packages\pip_internal\utils\temp_dir.py", line 212, in cleanup rmtree(self._path, ignore_errors=False) File "D:\ProgramData\anaconda3\envs\py310\lib\site-packages\pip_internal\utils\retry.py", line 34, in retry_wrapped return func(*args, **kwargs) File "D:\ProgramData\anaconda3\envs\py310\lib\site-packages\pip_internal\utils\misc.py", line 138, in rmtree shutil.rmtree(dir, onerror=handler) # type: ignore File "D:\ProgramData\anaconda3\envs\py310\lib\shutil.py", line 750, in rmtree return _rmtree_unsafe(path, onerror) File "D:\ProgramData\anaconda3\envs\py310\lib\shutil.py", line 615, in _rmtree_unsafe _rmtree_unsafe(fullname, onerror) File "D:\ProgramData\anaconda3\envs\py310\lib\shutil.py", line 615, in _rmtree_unsafe _rmtree_unsafe(fullname, onerror) File "D:\ProgramData\anaconda3\envs\py310\lib\shutil.py", line 615, in _rmtree_unsafe _rmtree_unsafe(fullname, onerror) [Previous line repeated 3 more times] File "D:\ProgramData\anaconda3\envs\py310\lib\shutil.py", line 622, in _rmtree_unsafe os.rmdir(path)

有什么办法可以让我在CPU上安装并使用FlagEmbedding[finetune]吗

lankuohsing avatar Mar 31 '25 09:03 lankuohsing

这个可以参考flash attention 的安装方案 CPU 机器上一般是没法进行模型微调的,只用推理的话是不需要安装[finetune]的

545999961 avatar Apr 10 '25 06:04 545999961

@545999961 建议出一个容器版本,有个dockerfile自己build也好,总是处理这些依赖问题很没有意义。

garyyang85 avatar Apr 30 '25 00:04 garyyang85