많은 분들께서 기다리고 기다리셨던,
Apple M1 칩에서의 GPU 가속 기능이 드디어, PyTorch 1.12부터 가능해진다고 합니다!
기존의 cuda
장치처럼 mps
(Apple의 Metal Performance Shaders) 장치로 접근해서 사용할 수 있다고 합니다.
(아래 코드는 MPS Backend 문서에서 가져왔습니다.)
mps_device = torch.device("mps")
# Create a Tensor directly on the mps device
x = torch.ones(5, device=mps_device)
# Or
x = torch.ones(5, device="mps")
# Any operation happens on the GPU
y = x * 2
# Move your model to mps just like any other device
model = YourFavoriteNet()
model.to(mps_device)
# Now every call runs on the GPU
pred = model(x)
아래와 같이 M1 Ultra에서 학습과 평가 모두 CPU 대비 월등한 성능 향상을 보여주는 것을 보실 수 있습니다.
자세한 공지는 아래에서 보실 수 있으며, Preview 버전(Nightly Build)에서는 바로 사용할 수 있다고 합니다.
기존의 많은 사용자들의 요청과 아우성(...)은 아래 이슈에서 보실 수 있습니다
https://github.com/pytorch/pytorch/issues/47702