1. 为什么你的Mac M1/M2芯片需要GPU加速?
如果你刚拿到一台MacBook Pro或者Mac Studio,看着那个M1、M2或者M3芯片,心里可能既兴奋又有点没底。兴奋的是苹果宣称的性能,没底的是,作为一个搞机器学习或者深度学习的开发者,这玩意儿能跑得动我的PyTorch或者TensorFlow模型吗?特别是习惯了NVIDIA CUDA那种“开箱即用”GPU加速的朋友,切换到苹果生态,第一反应往往是:我的显卡呢?
别急,你的Mac不仅有“显卡”,而且苹果为它量身打造了一套全新的加速方案,叫做MPS。MPS的全称是Metal Performance Shaders,你可以把它理解为苹果版的“CUDA”。它直接调用Mac内置的GPU(也就是苹果芯片里那个强大的图形核心)来加速计算密集型任务,比如你训练神经网络时那些巨大的矩阵乘法。我实测下来,对于很多常见的模型,开启MPS加速后,训练速度相比纯CPU运行能有几倍甚至十几倍的提升,这感觉就像给你的Mac装上了一台隐形的涡轮增压发动机。
所以,这篇攻略就是为你准备的。无论你是学生想在本地跑课程项目,还是研究者想快速验证想法,或者是开发者需要搭建一个稳定的本地开发环境,跟着下面的步骤走,你都能在半小时内,让你的Mac火力全开,流畅运行PyTorch和TensorFlow的GPU版本。我们不走弯路,直接解决最核心的配置、安装和验证问题,顺便把那些我踩过的坑也一并告诉你,让你一次成功。
2. 环境准备:打好地基,事半功倍
在开始安装任何框架之前,把基础环境搭建好是成功的一半。苹果M系列芯片是基于ARM架构的,这和传统的Intel x86 Mac不一样,所以我们需要从源头就选择正确的工具链。
2.1 选择正确的Python发行版和包管理器
首先,忘掉你以前在Intel Mac上可能用的系统自带Python或者从官网下载的安装包。为了最大程度的兼容性和避免依赖地狱,我强烈推荐使用Miniforge或者Anaconda的M1/M2专用版本。它们预编译了针对ARM架构(osx-arm64)的Python和科学计算库,能确保所有底层依赖都是原生的,运行效率最高。
- Miniforge:这是社区维护的、专为ARM架构优化的Conda发行版,非常轻量,是我的首选。你去它的GitHub页面,下载那个标注了“arm64 (Apple Silicon)”的安装脚本就行。
- Anaconda:官方也提供了适用于Apple Silicon的版本。安装时请务必确认你下载的是“Apple Chip (M1)”版本。
安装完成后,打开终端(Terminal),输入 conda --version 确认安装成功。接下来,我们还需要一个关键的开发工具。
2.2 安装Xcode Command Line Tools
这是苹果开发者的“瑞士军刀”,里面包含了编译Python包所需的编译器(如clang)、链接器以及一些必要的系统头文件。没有它,后续安装很多包都会失败。
安装方法简单到令人发指,在终端里输入下面这行命令,然后跟着提示操作即可:
xcode-select --install
它会弹出一个软件更新窗口,点击“安装”就行。安装完成后,可以通过 xcode-select -p 来查看安装路径,确认是否成功。
2.3 创建独立的虚拟环境
这是一个必须养成的好习惯。为PyTorch和TensorFlow分别创建独立的虚拟环境,可以避免不同项目间库版本的冲突。想象一下,一个项目需要TensorFlow 2.9,另一个需要2.12,如果没有虚拟环境,你就得在无尽的卸载和安装中挣扎。
我们用Conda来创建环境,因为它不仅能管理Python包,还能管理非Python的二进制依赖,在Mac上尤其方便。下面我们创建两个环境,你可以根据需求选择安装一个或两个。
# 为PyTorch创建环境,我习惯用Python 3.9,稳定且兼容性好
conda create -n torch-gpu python=3.9
# 激活环境
conda activate torch-gpu
# 为TensorFlow创建另一个独立环境
conda create -n tf-gpu python=3.9
# 使用时激活对应的环境
conda activate tf-gpu
记住,你的所有后续安装操作,都必须在对应的激活的虚拟环境中进行。终端提示符前面会出现 (torch-gpu) 或 (tf-gpu) 的字样,这就表示你已经在正确的环境里了。
3. 安装与配置PyTorch GPU版本
好了,基础打牢,我们现在开始安装第一个主角:PyTorch。得益于PyTorch团队对苹果生态的良好支持,这个过程现在非常顺畅。


204

被折叠的 条评论
为什么被折叠?



