M1 Mac에서 PyTorch를 설치하는 방법(apple silicon PyTorch 공식 지원)

  • by


배경

M1 MacBook에서 PyTorch를 사용하여 딥 러닝 모델을 교육할 때 GPU를 사용하면 CPU를 사용하는 것보다 프로세스가 빠릅니다.

최신 PyTorch 업데이트(버전 1.12)는 M1 Mac에서 GPU 작업을 지원합니다.

이 기사에서는 M1 Mac에서 PyTorch GPU를 사용하는 절차에 대해 설명합니다.

ARM 64비트를 지원하는 Anaconda 설치

먼저 다음과 같이 Anaconda를 설치해야합니다.

ARM 64비트 지원. 터미널에서 다음 명령을 사용하여 기존 Anaconda를 삭제하고 시작합니다.

conda install anaconda-clean
anaconda-clean --yes
rm -rf ~/anaconda3

그런 다음 아나콘다 웹 사이트 (https://www.anaconda.com/products/distribution#Downloads)에서 64비트(M1) 명령줄 설치 프로그램을 다운로드하여 실행하여 설치합니다.

GPU를 지원하는 PyTorch 설치

그런 다음 터미널에서 다음 명령을 사용하여 GPU를 지원하는 최신 버전의 PyTorch를 설치합니다.

conda install -c pytorch pytorch

또는 pip를 사용할 수 있습니다.

python -m pip install torch

버전 1.12.0 이상을 설치해야 합니다.

다음 명령으로 버전을 확인하십시오.

pip show torch

기기를 MPS로 설정

사용 장치를 MPS로 설정하기 다음 코드:

device = torch.device('mps:0' if torch.backends.mps.is_available() else 'cpu')

MPS 지원 확인

Jupyter Notebook에서 다음 코드를 실행하여 MPS가 지원되는지 확인합니다.

print(f"PyTorch version: {torch.__version__}")
print(f"Is built to support MPS devices: {torch.backends.mps.is_built()}")
print(f"Is MPS device available: {torch.backends.mps.is_available()}")
!
python -c 'import platform;print(platform.platform())'

MPS 지원을 확인할 때 PyTorch 버전이 1.12.0 이상인지 is_built()와 is_available() 둘 다 True를 반환하는지 확인합니다.

또한 플랫폼에는 arm64가 표시되며 macOS 버전은 12.3 이상이어야 합니다.

샘플 코드

다음은 MPS를 사용한 GPU 작업의 예제 코드입니다.

import torch
from torch import nn
import torch.nn.functional as F

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        self.lin1 = nn.Linear(5, 5)

    def forward(self, x):
        net = self.lin1(x)
        return net

device = torch.device("mps") if torch.backends.mps.is_available() else "cpu"
print(f"device: {device}")

# Generate tensors directly on the MPS device.
x = torch.ones(5, device=device)

# Calculate on the GPU.
y = x * 2

# Alternatively, you can move the model to MPS like any other device.
model = Net()
model.to(device)

# Now calling the model and tensor will do the math on the GPU.
pred = model(x)
print(pred)

예측 결과에 device=”mps:0″이 표시되면 단순 모델 예측은 MPS를 성공적으로 사용합니다.

결론

최신 업데이트로 M1 Mac에서 PyTorch GPU를 사용할 수 있습니다.

이 간단한 단계를 통해 M1 Mac의 강력한 GPU 기능을 기계 학습 프로젝트에 활용할 수 있습니다.