目录
问题1:error: subprocess-exited-with-error
背景
在 Mac M1 上通过 pip3
安装 deepspeed
需要一些额外的步骤,因为 M1 芯片使用的是 ARM 架构,而不是传统的 x86 架构。以下是一些详细的步骤和注意事项,帮助你在 Mac M1 上成功安装 deepspeed
。
环境
系统:Mac M1 macOS 13.7.2
软件:Python3.11、Pytorch2.3.1、deepspeed0.16.2
安装步骤
一、首先安装Xcode环境
打开终端:
- 按
Cmd + Space
,输入Terminal
,然后按回车。
运行安装命令:
在终端中输入如下命令:
xcode-select --install
在弹出的对话框中点击“安装”,然后按照提示完成安装。
验证安装:
运行以下命令验证安装路径:
xcode-select -p
执行结果如下:
你应该会看到类似 /Applications/Xcode.app/Contents/Developer
的输出。安装 Xcode 命令行工具后,你应该能够顺利安装和编译 deepspeed
及其他需要编译的 Python 包。
二、环境准备
- 安装Python
推荐安装环境使用Anaconda进行安装和虚拟环境创建,具体安装参考如下文档:
- 安装Pytorch
具体安装参考如下文档:
安装deepspeed
需要一些编译工具和依赖项
如果是brew安装的Python以及虚拟环境推荐:使用 Homebrew 安装
brew install cmake ninja py-cpuinfo
如果是Anaconda安装的Python以及虚拟环境推荐:使用conda安装
conda install cmake ninja py-cpuinfo
执行结果如下:
三、安装 ROCm 或 CUDA(可选)
如果你需要使用 GPU 进行加速,可以安装 ROCm 或 CUDA。不过,Mac M1 通常使用的是 Apple 的 Metal API,而不是 CUDA。你可以跳过这一步,除非你有特定的需求。
对于使用 Apple M1 的 GPU(Metal),deepspeed 有一些特定的配置。通常情况下,deepspeed 会自动检测并使用 Metal API,但你可能需要确保相关环境变量和配置正确。
四、安装 deepspeed
使用 pip3 安装 deepspeed。确保你使用的是正确的 Python 环境(例如虚拟环境)。
pip install deepspeed
五、验证安装
安装完成后,你可以验证 deepspeed 是否安装成功。
pip show deepspeed
这将显示 deepspeed 模块的信息。
六、运行测试
你可以运行一个简单的测试脚本来确保 deepspeed
可以正常工作。
python -c "import deepspeed; print(deepspeed.__version__)"
常见问题
问题1:error: subprocess-exited-with-error
通过传统方式在mac M1中执行命令:pip install deepspeed,直接执行如下代码,报错如下:
根据提示安装py-cpuinfo库,执行如下命令:
pip install py-cpuinfo
执行后再执行
pip install deepspeed