手把手教你在Apple Silicon M1上安装HuggingFace,新手必看教程 (2025年05月)

云信安装大师
90
AI 质量分
10 5 月, 2025
2 分钟阅读
0 阅读

手把手教你在Apple Silicon M1上安装HuggingFace,新手必看教程 (2025年05月)

引言

HuggingFace作为当前最流行的自然语言处理(NLP)库之一,为开发者提供了丰富的预训练模型和便捷的API。对于使用Apple Silicon M1系列芯片(M1/M2/M3)的Mac用户来说,安装过程可能会遇到一些ARM架构特有的问题。本教程将详细介绍如何在M1芯片上正确安装HuggingFace及其依赖环境。

准备工作

系统要求

  • Mac电脑配备Apple Silicon芯片(M1/M2/M3)
  • macOS Monterey(12.x)或更高版本
  • 已安装Homebrew包管理器
  • Python 3.8或更高版本

前置检查

在开始前,请打开终端(Terminal)执行以下命令检查你的环境:

代码片段
# 检查芯片架构
uname -m
# 应该显示 arm64

# 检查Python版本
python3 --version
# 应显示3.8.x或更高

# 检查Homebrew是否安装
brew --version

详细安装步骤

第一步:创建并激活Python虚拟环境

强烈建议使用虚拟环境来隔离项目依赖:

代码片段
# 创建名为hf_env的虚拟环境
python3 -m venv hf_env

# 激活虚拟环境
source hf_env/bin/activate

# (激活后提示符前会显示环境名)
(hf_env) yourname@Mac ~ %

为什么需要虚拟环境?
Python虚拟环境可以避免不同项目间的依赖冲突。比如项目A需要TensorFlow 2.4而项目B需要2.8,虚拟环境能让它们互不干扰。

第二步:安装PyTorch for Apple Silicon

HuggingFace很多模型依赖PyTorch。Apple Silicon需要特殊版本的PyTorch:

代码片段
pip install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu

注意事项
--pre参数允许安装预发布版本
--extra-index-url指定了为Apple Silicon优化的PyTorch版本
– 如果下载慢,可以添加-i https://pypi.tuna.tsinghua.edu.cn/simple使用清华镜像源

验证安装是否成功:

代码片段
import torch
print(torch.backends.mps.is_available())  # 应该返回True
print(torch.backends.mps.is_built())     # 应该返回True

第三步:安装HuggingFace核心库

现在可以安装HuggingFace的核心库Transformers和Datasets:

代码片段
pip install transformers datasets sentencepiece accelerate

各包的作用:
transformers: HuggingFace核心模型库
datasets: 数据集加载工具
sentencepiece: Tokenizer依赖
accelerate: PyTorch加速工具

第四步:验证安装

创建一个简单的测试脚本test_hf.py

代码片段
from transformers import pipeline

# 使用情感分析管道(自动下载预训练模型)
classifier = pipeline("sentiment-analysis")

result = classifier("I love using HuggingFace on my M1 Mac!")
print(result)

运行脚本:

代码片段
python test_hf.py

首次运行会自动下载模型(约300MB),输出应类似于:

代码片段
[{'label': 'POSITIVE', 'score': 0.9998}]

M1专属优化配置

GPU加速设置(可选)

Apple Silicon的Metal Performance Shaders(MPS)可以加速PyTorch运算。修改上面的测试脚本:

“`python {3,7}
from transformers import pipeline
import torch

device = “mps” if torch.backends.mps.is_available() else “cpu”

classifier = pipeline(
“sentiment-analysis”,
device=torch.device(device)
)

result = classifier(“MPS acceleration works great!”)
print(f”Device: {device}, Result: {result}”)

代码片段

### Jupyter Notebook支持(可选)

如果想在Jupyter中使用:

pip install notebook ipywidgets jupyterlab-nvdashboard

# 启动Jupyter Lab(确保在虚拟环境中)
jupyter lab

在Notebook中添加以下代码启用widgets:

代码片段
from IPython.display import display, HTML 
display(HTML("<style>.container { width:90% !important; }</style>"))

常见问题解决

Q1: pip安装超时怎么办?
A:

代码片段
pip --default-timeout=1000 install [package] -i https://pypi.tuna.tsinghua.edu.cn/simple 

Q2: “zsh: command not found: python”错误
A: Apple默认不预装python命令,使用python3替代或创建别名:

代码片段
echo 'alias python=python3' >> ~/.zshrc 
source ~/.zshrc 

Q3: PyTorch无法使用MPS加速
A:
1. macOS必须升级到12.3+
2. Xcode命令行工具需更新:

代码片段
xcode-select --install <br>
   

总结

通过本教程,你已经完成了:
✅ Apple Silicon专属PyTorch安装
✅ HuggingFace核心组件配置
✅ MPS硬件加速启用

关键要点回顾:
1. 必须使用ARM兼容的PyTorch版本
2. 推荐始终在虚拟环境中工作
3. MPS加速可显著提升性能

下一步建议尝试HuggingFace官方示例:HuggingFace Course

原创 高质量